Re: Modul: Standard-Artikelliste Advanced V1.4
Verfasst: So 26. Apr 2009, 03:30
niemand eine idee?
Das Diskussionsforum zum Open Source Content Management System
https://forum.contenido.org/
Code: Alles auswählen
<h2><a href="front_content.php?idcat=3&idart=14">Dachzeile</a></h2>
<h1><a href="front_content.php?idcat=3&idart=14">Überschrift</a></h1>
<img src="http://www.technikjournal.de/cms/upload/bilder/it/baum.jpg" />
<h2><a href="front_content.php?idcat=3&idart=15">Dachzeile</a></h2>
<h1><a href="front_content.php?idcat=3&idart=15">Überschrift</a></h1>
Überschrift
Code: Alles auswählen
if (($aSettings["SortDir"] != "DESC") && ($aSettings["SortDir"] == "ASC") && ($aSettings["SortDir"] != "IDTREE") ) {
echo ' <input type="radio" name="CMS_VAR[3]" value="ASC" checked>'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC">'.mi18n("Descending").' <input type="radio" name="CMS_VAR[3]" value="b.idtree">'.mi18n("idtree")."\n";
} else if (($aSettings["SortDir"] == "DESC") && ($aSettings["SortDir"] != "ASC") && ($aSettings["SortDir"] != "IDTREE")){
echo ' <input type="radio" name="CMS_VAR[3]" value="ASC">'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC" checked>'.mi18n("Descending").' <input type="radio" name="CMS_VAR[3]" value="b.idtree">'.mi18n("idtree")."\n";
}
else {
echo ' <input type="radio" name="CMS_VAR[3]" value="ASC">'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC">'.mi18n("Descending").' <input type="radio" name="CMS_VAR[3]" value="b.idtree" checked>'.mi18n("idtree")."\n";
}
Code: Alles auswählen
if ($aSettings["SortBy"] == "??????") {
echo ' <option value="??????" selected>'.mi18n("nach Kategoie-Anordnung").'</option>'."\n";
} else {
echo ' <option value="??????????">'.mi18n("nach Kategoie-Anordnung").'</option>'."\n";
}
Das Modul ist hier im Thread leider nur als ZIP vorhanden, und ich habe keine Lust es herunterzuladen und auszupacken, um es sehen zu können, aber kannst du nicht einfach ein "ORDER BY idtree" in die SQL-Anweisung einbauen?derSteffen hat geschrieben:Hat keiner eine Idee, wie ich in diesem Modul sagen kann sortiere nach IDTREE oder so? Ich habe schon so viel versucht, dass klappt alles nicht!
Code: Alles auswählen
// Sort by
$sql .= "ORDER BY ";
$sql .= $aSettings["SortBy"]." ".$aSettings["SortDir"]." ";
Code: Alles auswählen
if (($aSettings["SortDir"] != "DESC") && ($aSettings["SortDir"] == "ASC") && ($aSettings["SortDir"] != "IDTREE") ) {
echo ' <input type="radio" name="CMS_VAR[3]" value="ASC" checked>'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC">'.mi18n("Descending").' <input type="radio" name="CMS_VAR[3]" value="b.idtree">'.mi18n("idtree")."\n";
} else if (($aSettings["SortDir"] == "DESC") && ($aSettings["SortDir"] != "ASC") && ($aSettings["SortDir"] != "IDTREE")){
echo ' <input type="radio" name="CMS_VAR[3]" value="ASC">'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC" checked>'.mi18n("Descending").' <input type="radio" name="CMS_VAR[3]" value="b.idtree">'.mi18n("idtree")."\n";
}
else {
echo ' <input type="radio" name="CMS_VAR[3]" value="ASC">'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC">'.mi18n("Descending").' <input type="radio" name="CMS_VAR[3]" value="b.idtree" checked>'.mi18n("idtree")."\n";
}
Code: Alles auswählen
if ($aSettings["SortBy"] == "idtree") {
echo ' <option value="idtree" selected>'.mi18n("idtree").'</option>'."\n";
} else {
echo ' <option value="idtree">'.mi18n("idtree").'</option>'."\n";
}
Code: Alles auswählen
#Includes
cInclude("frontend", "includes/functions.input.helper.php");
# Initialization
$bDebug = false;
$iDataStart = 20;
$sSubmitLink = '<a href="javascript:if (document.tplcfgform.send) {document.tplcfgform.send.value = 0}; document.tplcfgform.submit();"><img src="images/submit.gif" /></a>';
unset ($aSettings);
# Base settings
$aSettings = array();
$aSettings["ArticleCount"] = "CMS_VALUE[0]";
$aSettings["ArticlePerPage"] = "CMS_VALUE[1]";
$aSettings["SortBy"] = "CMS_VALUE[2]";
$aSettings["SortDir"] = "CMS_VALUE[3]";
$aSettings["ShowStart"] = "CMS_VALUE[4]";
$aSettings["Category"] = "CMS_VALUE[5]";
$aSettings["SampleCat"] = "CMS_VALUE[12]";
$aSettings["SampleArt"] = "CMS_VALUE[6]";
$aSettings["HeadlineIdentifier"] = "CMS_VALUE[7]";
$aSettings["HeadlineLength"] = "CMS_VALUE[8]";
$aSettings["Elements"] = "CMS_VALUE[9]";
$aSettings["CatTypeSel"] = "CMS_VALUE[10]";
$aSettings["AddCats"] = "CMS_VALUE[11]";
$aSettings["Template"] = "CMS_VALUE[99]";
# Checking base settings
if (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0) {
$aSettings["ArticleCount"] = 5;
}
if (!is_numeric($aSettings["ArticlePerPage"]) || $aSettings["ArticlePerPage"] < 0) {
$aSettings["ArticlePerPage"] = 0; // Deactivating page browsing
}
if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0) {
$aSettings["Category"] = 0;
}
if (!is_numeric($aSettings["SampleCat"]) || $aSettings["SampleCat"] <= 0) {
$aSettings["SampleCat"] = $aSettings["Category"];
}
if (!is_numeric($aSettings["SampleArt"]) || $aSettings["SampleArt"] < 0) {
$aSettings["SampleArt"] = 0;
}
if (strlen($aSettings["HeadlineIdentifier"]) > 50) {
$aSettings["HeadlineIdentifier"] = "";
}
if (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0) {
$aSettings["HeadlineLength"] = 0;
}
if (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0) {
$aSettings["Elements"] = 0;
}
if ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "selected")) {
$aSettings["CatTypeSel"] = "none";
}
# Detail settings
if ($aSettings["Elements"] > 0) {
for ($i = 0; $i < $aSettings["Elements"]; $i++) {
$iElementType = $iDataStart + ($i * 5);
$iElementIdentifier = $iElementType + 1;
$iElementWidth = $iElementType + 2;
$iElementHeight = $iElementType + 3;
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // Text, Image, ExtractedImage
$aSettings["k".$i]["Identifier"] = "CMS_VALUE[$iElementIdentifier]";
$aSettings["k".$i]["ElementWidth"] = "CMS_VALUE[$iElementWidth]"; // Textlength or ImageWidth
$aSettings["k".$i]["ElementHeight"] = "CMS_VALUE[$iElementHeight]";
# Check detail settings
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "Text";
}
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "Textanders";
}
if ($aSettings["k".$i]["ElementType"] == "Text") {
$aSettings["ElementHeight"] = 0;
if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] < 0) {
$aSettings["k".$i]["ElementWidth"] = 50;
}
} else if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] <= 0 ||
!is_numeric($aSettings["k".$i]["ElementHeight"]) || $aSettings["k".$i]["ElementHeight"] <= 0) {
$aSettings["k".$i]["ElementWidth"] = 0;
$aSettings["k".$i]["ElementHeight"] = 0;
}
if (strlen($aSettings["Identifier"]) > 50) {
$aSettings["Identifier"] = "";
}
}
}
echo ' <table cellspacing="0" cellpadding="2" border="0" width="100%">'."\n";
echo ' <tr>'."\n";
echo ' <td class="text">'.mi18n("Primary Category:").'</td>'."\n";
echo ' <td class="text">'.fncBuildCategorySelect("CMS_VAR[5]", $aSettings["Category"], 0, "").'</td>'."\n";
echo ' </tr>'."\n";
echo ' <tr>'."\n";
echo ' <td class="text" style="vertical-align: top;">'.mi18n("Additional Categories:").'</td>'."\n";
echo ' <td class="text">';
if ($aSettings["CatTypeSel"] == "none") {
echo '<input type="radio" name="CMS_VAR[10]" value="none" checked="checked" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("None").' ';
} else {
echo '<input type="radio" name="CMS_VAR[10]" value="none" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("None").' ';
}
if ($aSettings["CatTypeSel"] == "below") {
echo '<input type="radio" name="CMS_VAR[10]" value="below" checked="checked" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("All below primary").' ';
} else {
echo '<input type="radio" name="CMS_VAR[10]" value="below" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("All below primary").' ';
}
if ($aSettings["CatTypeSel"] == "selected") {
$sDisabled = "";
echo '<input type="radio" name="CMS_VAR[10]" value="selected" checked="checked" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = false;">'.mi18n("Selected").'<br>';
} else {
$sDisabled = "disabled";
echo '<input type="radio" name="CMS_VAR[10]" value="selected" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = false;">'.mi18n("Selected").'<br>';
}
echo fncAddMultiSelJS().fncBuildCategorySelect("c".$cnumber."cbxAddCatSel", $aSettings["AddCats"], 0, "fncUpdateSel('c".$cnumber."cbxAddCatSel', '"."CMS_VAR[11]"."');", "10", "multiple", false, 0, $sDisabled);
echo '<input type="hidden" name="CMS_VAR[11]" value="'.$aSettings["AddCats"].'"></td>'."\n";
echo ' </tr>'."\n";
echo ' <tr>'."\n";
echo ' <td class="text">'.mi18n("Article:").'</td>'."\n";
echo ' <td class="text">'.mi18n("Count (total):").' <input type="text" name="CMS_VAR[0]" value="'.$aSettings["ArticleCount"].'" size="3" title="'.mi18n("Set to 0 to show all articles").'"> '."\n";
echo ' '.mi18n("Per Page:").' <input type="text" name="CMS_VAR[1]" value="'.$aSettings["ArticlePerPage"].'" size="3" title="'.mi18n("Set to 0 to disable page browsing").'"></td>'."\n";
echo ' </tr>'."\n";
echo ' <tr>'."\n";
echo ' <td class="text">'.mi18n("Sort by:").'</td>'."\n";
echo ' <td class="text"><select name="CMS_VAR[2]">'."\n";
if ($aSettings["SortBy"] == "" || $aSettings["SortBy"] == "CATART.idart") {
echo ' <option value="CATART.idart" selected>'.mi18n("Article ID").'</option>'."\n";
} else {
echo ' <option value="CATART.idart">'.mi18n("Article ID").'</option>'."\n";
}
if ($aSettings["SortBy"] == "idtree") {
echo ' <option value="idtree" selected>'.mi18n("idtree").'</option>'."\n";
} else {
echo ' <option value="idtree">'.mi18n("idtree").'</option>'."\n";
}
if ($aSettings["SortBy"] == "tblData.value") {
echo ' <option value="tblData.value" selected>'.mi18n("Headline").'</option>'."\n";
} else {
echo ' <option value="tblData.value">'.mi18n("Headline").'</option>'."\n";
}
if ($aSettings["SortBy"] == "ARTLANG.created") {
echo ' <option value="ARTLANG.created" selected>'.mi18n("Add Date").'</option>'."\n";
} else {
echo ' <option value="ARTLANG.created">'.mi18n("Add Date").'</option>'."\n";
}
if ($aSettings["SortBy"] == "ARTLANG.lastmodified") {
echo ' <option value="ARTLANG.lastmodified" selected>'.mi18n("Last Modified Date").'</option>'."\n";
} else {
echo ' <option value="ARTLANG.lastmodified">'.mi18n("Last Modified Date").'</option>'."\n";
}
if ($aSettings["SortBy"] == "ARTLANG.published") {
echo ' <option value="ARTLANG.published" selected>'.mi18n("Published Date").'</option>'."\n";
} else {
echo ' <option value="ARTLANG.published">'.mi18n("Published Date").'</option>'."\n";
}
if ($aSettings["SortBy"] == "ARTLANG.title") {
echo ' <option value="ARTLANG.title" selected>'.mi18n("Page Title (Backend)").'</option>'."\n";
} else {
echo ' <option value="ARTLANG.title">'.mi18n("Page Title (Backend)").'</option>'."\n";
}
if ($aSettings["SortBy"] == "ARTLANG.pagetitle") {
echo ' <option value="ARTLANG.pagetitle" selected>'.mi18n("Page Title (Frontend)").'</option>'."\n";
} else {
echo ' <option value="ARTLANG.pagetitle">'.mi18n("Page Title (Frontend)").'</option>'."\n";
}
if ($aSettings["SortBy"] == "ARTLANG.summary") {
echo ' <option value="ARTLANG.summary" selected>'.mi18n("Summary (Backend)").'</option>'."\n";
} else {
echo ' <option value="ARTLANG.summary">'.mi18n("Summary (Backend)").'</option>'."\n";
}
if ($aSettings["SortBy"] == "ARTLANG.artsort") {
echo ' <option value="ARTLANG.artsort" selected>'.mi18n("Sort No.").'</option>'."\n";
} else {
echo ' <option value="ARTLANG.artsort">'.mi18n("Sort No.").'</option>'."\n";
}
if ($aSettings["SortBy"] == "RAND()") {
echo ' <option value="RAND()" selected>'.mi18n("Random").'</option>'."\n";
} else {
echo ' <option value="RAND()">'.mi18n("Random").'</option>'."\n";
}
echo ' </select>'."\n";
if (($aSettings["SortDir"] != "DESC") && ($aSettings["SortDir"] == "ASC") && ($aSettings["SortDir"] != "IDTREE") ) {
echo ' <input type="radio" name="CMS_VAR[3]" value="ASC" checked>'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC">'.mi18n("Descending").' <input type="radio" name="CMS_VAR[3]" value="b.idtree">'.mi18n("idtree")."\n";
} else if (($aSettings["SortDir"] == "DESC") && ($aSettings["SortDir"] != "ASC") && ($aSettings["SortDir"] != "IDTREE")){
echo ' <input type="radio" name="CMS_VAR[3]" value="ASC">'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC" checked>'.mi18n("Descending").' <input type="radio" name="CMS_VAR[3]" value="b.idtree">'.mi18n("idtree")."\n";
}
else {
echo ' <input type="radio" name="CMS_VAR[3]" value="ASC">'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC">'.mi18n("Descending").' <input type="radio" name="CMS_VAR[3]" value="b.idtree" checked>'.mi18n("idtree")."\n";
}
echo ' </tr>'."\n";
echo ' <tr>'."\n";
echo ' <td class="text">'.mi18n("Start Article:").'</td>'."\n";
if ($aSettings["ShowStart"] != "enabled") {
echo ' <td class="text"><input type="checkbox" name="CMS_VAR[4]" value="enabled">'.mi18n("Show").'</td>'."\n";
} else {
echo ' <td class="text"><input type="checkbox" name="CMS_VAR[4]" value="enabled" checked>'.mi18n("Show").'</td>'."\n";
}
echo ' </tr>'."\n";
echo ' </table>'."\n";
echo ' <table cellspacing="0" cellpadding="2" border="0" width="100%">'."\n";
echo ' <tr>'."\n";
echo ' <td colspan="2" class="textw_medium" style="background-color: #a9aec2; border: 1px solid #747488;">'.mi18n("Identify elements:").'</td>'."\n";
echo ' </tr>'."\n";
echo ' <tr>
<td class="text" style="border-left:1px solid #747488;">'.mi18n("Choose Template").':</td>
<td class="text" style="border-right: 1px solid #747488;">
<select name="CMS_VAR[99]" size="1">
<option value="">'.mi18n("Nothing selected").'</option>';
// $strPath_fs = $cfgClient[$client]["path"]["frontend"].'templates/';
$strPath_fs = '../cms/templates/';
$optionFields ="";
$handle = opendir($strPath_fs);
$files = array();
while ($entryName = readdir($handle))
{
if (is_file($strPath_fs.$entryName))
{
$files[]=array($strPath_fs.$entryName,$entryName);
}
}
closedir($handle);
asort($files);
while (list ($key, $val) = each ($files))
{
if ("CMS_VALUE[99]"==$val[0]) {
$optionFields.="\n\t".'<option selected="selected" value="'.$val[0].'">'.$val[1].'</option>';
} else {
$optionFields.="\n\t".'<option value="'.$val[0].'">'.$val[1].'</option>';
}
}
echo $optionFields.'</select><br /><br /></td>
</tr>';
echo ' <tr>'."\n";
echo ' <td class="text" style="border-left: 1px solid #747488;">'.mi18n("Sample Category:").'</td>'."\n";
echo ' <td class="text" style="border-right: 1px solid #747488;">'.fncBuildCategorySelect("CMS_VAR[12]", $aSettings["SampleCat"], 0, "if (document.forms[0].elements['CMS_VAR[12]'].value != 'CMS_VALUE[12]') { document.forms[0].elements['CMS_VAR[6]'].disabled = true; document.forms[0].elements['CMS_VAR[7]'].disabled = true; document.forms[0].elements['CMS_VAR[8]'].disabled = true; document.forms[0].elements['CMS_VAR[9]'].disabled = true; } else { document.forms[0].elements['CMS_VAR[6]'].disabled = false; document.forms[0].elements['CMS_VAR[7]'].disabled = false; document.forms[0].elements['CMS_VAR[8]'].disabled = false; document.forms[0].elements['CMS_VAR[9]'].disabled = false;}").' '.$sSubmitLink.'</td>'."\n";
echo ' </tr>'."\n";
echo ' <tr>'."\n";
echo ' <td class="text" style="border-left: 1px solid #747488;">'.mi18n("Sample Article:").'</td>'."\n";
if ($aSettings["SampleCat"] == 0) {
$sDisabled = "disabled";
} else {
$sDisabled = "";
}
echo ' <td class="text" style="border-right: 1px solid #747488;">'.fncBuildArticleSelect("CMS_VAR[6]", $aSettings["SampleCat"], $aSettings["SampleArt"], "if (document.forms[0].elements['CMS_VAR[6]'].value != 'CMS_VALUE[6]') { document.forms[0].elements['CMS_VAR[7]'].disabled = true; document.forms[0].elements['CMS_VAR[8]'].disabled = true; document.forms[0].elements['CMS_VAR[9]'].disabled = true; } else { document.forms[0].elements['CMS_VAR[7]'].disabled = false; document.forms[0].elements['CMS_VAR[8]'].disabled = false; document.forms[0].elements['CMS_VAR[9]'].disabled = false;}", $sDisabled).' '.$sSubmitLink.'</td>'."\n";
echo ' </tr>'."\n";
echo ' <tr>'."\n";
echo ' <td class="text" style="border-left: 1px solid #747488;">'.mi18n("Headline Element:").'</td>'."\n";
echo ' <td class="text" style="border-right: 1px solid #747488;">'.fncBuildTypeSelect("CMS_VAR[7]", $aSettings["SampleArt"], $aSettings["HeadlineIdentifier"], "'1','2','3','9','17'").' '.mi18n("Length (max.):").' <input type="text" name="'."CMS_VAR[8]".'" value="'.$aSettings["HeadlineLength"].'" size="3" title="'.mi18n("Set to 0 to show all").'"></td>'."\n";
echo ' </tr>'."\n";
if ($aSettings["Elements"] == 0) {
$sBottomStyle = "border-bottom: 1px solid #747488;"; // Paint the table area closing line
} else {
$sBottomStyle = "";
}
echo ' <tr>'."\n";
echo ' <td class="text" style="border-left: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Additional elements:").'</td>'."\n";
echo ' <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'"><input type="text" name="CMS_VAR[9]" value="'.$aSettings["Elements"].'" size="3" title="'.mi18n("Set to a value above 0 to specify text or images as additional elements").'"> '.$sSubmitLink.'</td>'."\n";
echo ' </tr>'."\n";
if ($aSettings["Elements"] > 0) {
for ($i = 0; $i < $aSettings["Elements"]; $i++) {
$iElementType = $iDataStart + ($i * 5);
$iElementIdentifier = $iElementType + 1;
$iElementWidth = $iElementType + 2;
$iElementHeight = $iElementType + 3;
echo ' <tr>'."\n";
echo ' <td class="text" style="border-left: 1px solid #747488;padding-left: 20px;vertical-align: top;">'.sprintf(mi18n("%s. Element:"), $i + 1).'</td>'."\n";
echo ' <td class="text" style="border-right: 1px solid #747488;">'.mi18n("Type:").'<br />'."\n";
echo ' <select name="'."CMS_VAR[$iElementType]".'" onchange="if (document.forms[0].elements[\''."CMS_VAR[$iElementType]".'\'].value != \''.$aSettings["k".$i]["ElementType"].'\') { document.forms[0].elements[\''."CMS_VAR[$iElementIdentifier]".'\'].disabled = true; document.forms[0].elements[\''."CMS_VAR[$iElementWidth]".'\'].disabled = true; if (document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\']) {document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\'].disabled = true;}} else { document.forms[0].elements[\''."CMS_VAR[$iElementIdentifier]".'\'].disabled = false; document.forms[0].elements[\''."CMS_VAR[$iElementWidth]".'\'].disabled = false; if (document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\']) {document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\'].disabled = false;}}"">'."\n";
if ($aSettings["k".$i]["ElementType"] == "Text") {
echo ' <option value="Text" selected="selected">'.mi18n("Text").'</option>'."\n";
} else {
echo ' <option value="Text">'.mi18n("Text").'</option>'."\n";
}
if ($aSettings["k".$i]["ElementType"] == "Textanders") {
echo ' <option value="Textanders" selected="selected">'.mi18n("Textanders").'</option>'."\n";
} else {
echo ' <option value="Textanders">'.mi18n("Textanders").'</option>'."\n";
}
if ($aSettings["k".$i]["ElementType"] == "Image") {
echo ' <option value="Image" selected="selected">'.mi18n("Image").'</option>'."\n";
} else {
echo ' <option value="Image">'.mi18n("Image").'</option>'."\n";
}
if ($aSettings["k".$i]["ElementType"] == "ExtractedImage") {
echo ' <option value="ExtractedImage" selected="selected">'.mi18n("Image from text").'</option>'."\n";
} else {
echo ' <option value="ExtractedImage">'.mi18n("Image from text").'</option>'."\n";
}
echo ' </select> '.$sSubmitLink.' '."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
if ($i == ($aSettings["Elements"] - 1)) {
$sBottomStyle = "border-bottom: 1px solid #747488;"; // Paint the table area closing line
} else {
$sBottomStyle = "";
}
echo ' <tr>'."\n";
switch ($aSettings["k".$i]["ElementType"]) {
case "Image":
echo ' <td class="text" style="border-left: 1px solid #747488;'.$sBottomStyle.'padding-left: 20px;"> </td>'."\n";
echo ' <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'4'").' '."\n";
echo ' '.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'"> '."\n";
echo ' '.mi18n("Height:").' <input type="text" name="'."CMS_VAR[$iElementHeight]".'" value="'.$aSettings["k".$i]["ElementHeight"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'"></td>'."\n";
break;
case "ExtractedImage":
echo ' <td class="text" style="border-left: 1px solid #747488;'.$sBottomStyle.'padding-left: 20px;"> </td>'."\n";
echo ' <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'1','2','3','9','17'").' '."\n";
echo ' '.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'"> '."\n";
echo ' '.mi18n("Height:").' <input type="text" name="'."CMS_VAR[$iElementHeight]".'" value="'.$aSettings["k".$i]["ElementHeight"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'"></td>'."\n";
break;
default:
echo ' <td class="text" style="border-left: 1px solid #747488;'.$sBottomStyle.'padding-left: 20px;"> </td>'."\n";
echo ' <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'1','2','3','9','17'").' '."\n";
echo ' '.mi18n("Length (max.):").' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="3" title="'.mi18n("Set to 0 to show all").'"></td>'."\n";
}
echo ' </tr>'."\n";
}
}
echo ' </table></div>'."\n";
Code: Alles auswählen
<?php
# Initialization
$bDebug = false;
$iDataStart = 20;
$lCount = 0;
unset ($aData);
$aData = array();
// reset template
$tpl = new Template();
$tpl->reset();
# Base settings
unset ($aSettings);
$aSettings = array();
$aSettings["ArticleCount"] = "CMS_VALUE[0]";
$aSettings["ArticlePerPage"] = "CMS_VALUE[1]";
$aSettings["SortBy"] = "CMS_VALUE[2]";
$aSettings["SortDir"] = "CMS_VALUE[3]";
$aSettings["ShowStart"] = "CMS_VALUE[4]";
$aSettings["Category"] = "CMS_VALUE[5]";
$aSettings["HeadlineIdentifier"] = "CMS_VALUE[7]";
$aSettings["HeadlineLength"] = "CMS_VALUE[8]";
$aSettings["Elements"] = "CMS_VALUE[9]";
$aSettings["CatTypeSel"] = "CMS_VALUE[10]";
$aSettings["AddCats"] = "CMS_VALUE[11]";
$aSettings["Template"] = "CMS_VALUE[99]";
# Checking base settings
if (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0) {
$aSettings["ArticleCount"] = 5;
}
if (!is_numeric($aSettings["ArticlePerPage"]) || $aSettings["ArticlePerPage"] < 0) {
$aSettings["ArticlePerPage"] = 0; // Deactivating page browsing
}
if ($aSettings["ArticlePerPage"] == 0 || !is_numeric($_REQUEST["nextstep44"])) {
$_REQUEST["nextstep44"] = 0;
}
if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0) {
$aSettings["Category"] = 0;
}
if (strlen($aSettings["HeadlineIdentifier"]) > 50) {
$aSettings["HeadlineIdentifier"] = "";
}
if (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0) {
$aSettings["HeadlineLength"] = 0;
}
if (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0) {
$aSettings["Elements"] = 0;
}
if ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "selected")) {
$aSettings["CatTypeSel"] = "none";
}
# Detail settings
if ($aSettings["Elements"] > 0) {
for ($i = 0; $i < $aSettings["Elements"]; $i++) {
$iElementType = $iDataStart + ($i * 5);
$iElementIdentifier = $iElementType + 1;
$iElementWidth = $iElementType + 2;
$iElementHeight = $iElementType + 3;
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // Text, Image, ExtractedImage
$aSettings["k".$i]["Identifier"] = "CMS_VALUE[$iElementIdentifier]";
$aSettings["k".$i]["ElementWidth"] = "CMS_VALUE[$iElementWidth]"; // Textlength or ImageWidth
$aSettings["k".$i]["ElementHeight"] = "CMS_VALUE[$iElementHeight]";
# Check detail settings
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "Text";
}
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "Textanders";
}
if ($aSettings["k".$i]["ElementType"] == "Text") {
$aSettings["ElementHeight"] = 0;
if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] < 0) {
$aSettings["k".$i]["ElementWidth"] = 50;
}
}
else if ($aSettings["k".$i]["ElementType"] == "Textanders") {
$aSettings["ElementHeight"] = 0;
if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] < 0) {
$aSettings["k".$i]["ElementWidth"] = 50;
}
}
else if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] <= 0 ||
!is_numeric($aSettings["k".$i]["ElementHeight"]) || $aSettings["k".$i]["ElementHeight"] <= 0) {
$aSettings["k".$i]["ElementWidth"] = 0;
$aSettings["k".$i]["ElementHeight"] = 0;
}
if (strlen($aSettings["Identifier"]) > 50) {
$aSettings["Identifier"] = "";
}
}
}
unset ($iDataStart);
unset ($iElementType);
unset ($iElementIdentifier);
unset ($iElementWidth);
unset ($iElementHeight);
if ($aSettings["Category"] !== "0" && $aSettings["HeadlineIdentifier"] !== "") {
if (!is_object($db2)) {
$db2 = new DB_Contenido;
}
# Specifying search categories
$sSelCats = "'".$aSettings["Category"]."'";
# Adding categories "below" primary category
switch ($aSettings["CatTypeSel"]) {
case "below":
$lCatLevel = -1;
$sql = "SELECT a.idcat AS idcat, b.level AS level FROM ".$cfg["tab"]["cat"]." a, ".$cfg["tab"]["cat_tree"]." b ";
$sql .= "WHERE a.idcat = b.idcat ORDER BY b.idtree";
$db2->query($sql);
while($db2->next_record()) {
if ($db2->f("idcat") == $aSettings["Category"]) {
$lCatLevel = $db2->f("level");
} else if ($lCatLevel > -1 && $db2->f("level") > $lCatLevel) {
$sSelCats .= ",'".$db2->f("idcat")."'";
} else if ($db2->f("level") <= $lCatLevel) {
break;
}
}
break;
case "selected":
$aCats = explode(",",$aSettings["AddCats"]);
foreach ($aCats as $value) {
if (is_numeric($value)) {
$sSelCats .= ",'".$value."'";
}
}
break;
default:
}
$sql = "SELECT tblData.value AS headline, ARTLANG.idart AS id, ARTLANG.lastmodified AS lastmodified, " ;
$sql .= "ARTLANG.created AS created, ARTLANG.published AS published, CATLANG.name AS category, ";
$sql .= "ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart FROM ";
$sql .= $cfg["tab"]["cat_art"]." AS CATART, ";
$sql .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
$sql .= $cfg["tab"]["cat_lang"]." AS CATLANG, ";
$sql .= $cfg["tab"]["content"]." AS tblData ";
$sql .= "WHERE CATART.idcat IN (".$sSelCats.") AND ARTLANG.idlang = '".$lang."' ";
$sql .= "AND tblData.idartlang = ARTLANG.idartlang ";
$sql .= "AND CATLANG.idlang = ARTLANG.idlang ";
$sql .= "AND CATLANG.idcat = CATART.idcat ";
$sql .= "AND ARTLANG.idart = CATART.idart ";
if ($aSettings["ShowStart"] != "enabled") {
if ($cfg["is_start_compatible"] == true) {
$sql .= "AND CATART.is_start = '0' ";
} else {
$sql .= "AND tblData.idartlang != CATLANG.startidartlang ";
}
}
$sql .= "AND ARTLANG.online = '1' ";
$sql .= "AND ".$aSettings["HeadlineIdentifier"]." ";
// Sort by
$sql .= "ORDER BY ";
$sql .= $aSettings["SortBy"]." ".$aSettings["SortDir"]." ";
// LIMIT
if ($aSettings["ArticleCount"] > 0) {
$sql .= "LIMIT 0, ".$aSettings["ArticleCount"];
}
// execute query
$db2->query($sql);
$lCount = $db2->num_rows();
if ($lCount > 0) {
if (!is_object($db3)) {
$db3 = new DB_Contenido;
}
if (!is_object($db4)) {
$db4 = new DB_Contenido;
}
if ($aSettings["ArticlePerPage"] > 0) {
$lStartCount = $_REQUEST["nextstep44"];
$lEndCount = $_REQUEST["nextstep44"] + $aSettings["ArticlePerPage"];
if ($lEndCount > $lCount) {
$lEndCount = $lCount;
}
} else {
$lStartCount = 0;
$lEndCount = $lCount;
}
$lRow = 0;
$i = 0;
while ($db2->next_record()) {
if ( $aSettings["ShowStart"] == "enabled" ||
($aSettings["ShowStart"] != "enabled" && $db2->f("idartlang") != $lStartIDArtLang)) {
if ($lRow >= $lStartCount && $lRow < $lEndCount) {
$aData[$i] = array();
$aData[$i]["Category"] = urldecode($db2->f("category"));
$aData[$i]["Link"] = $sess->url("front_content.php?idcat=".$db2->f("idcat")."&idart=".$db2->f("id"));;
$aData[$i]["LastModified"] = $db2->f("lastmodified");
$aData[$i]["Created"] = $db2->f("created");
$aData[$i]["Published"] = $db2->f("published");
$sTmpValue = html_entity_decode(strip_tags(urldecode($db2->f('headline'))));
if ($aSettings["HeadlineLength"] > 0 && strlen($sTmpValue) > $aSettings["HeadlineLength"]) {
# Cutting text but preserving words and entities
$sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["HeadlineLength"])."...");
}
$aData[$i]["Headline"] = $sTmpValue;
if ($aSettings["Elements"] > 0) {
for ($k = 0; $k < $aSettings["Elements"]; $k++) {
$aData[$i]["i".$k] = array();
$aData[$i]["i".$k]["Value"] = "";
$aData[$i]["i".$k]["ServerPath"] = "";
$aData[$i]["i".$k]["WebPath"] = "";
$aData[$i]["i".$k]["Width"] = 0;
$aData[$i]["i".$k]["Height"] = 0;
}
$sql = "SELECT tblData.value AS value, tblData.idtype AS idtype, tblData.typeid AS typeid FROM ";
$sql .= $cfg["tab"]["cat_art"]." AS tblCatArt, ";
$sql .= $cfg["tab"]["art_lang"]." AS tblArtLang, ";
$sql .= $cfg["tab"]["content"]." AS tblData ";
$sql .= "WHERE tblData.idartlang = tblArtLang.idartlang AND ";
$sql .= "tblArtLang.idlang = '".$lang."' AND ";
$sql .= "tblArtLang.idart = tblCatArt.idart AND ";
$sql .= "tblCatArt.idcatart = '".$db2->f("idcatart")."' AND (";
$sql_items = "";
for ($k = 0; $k < $aSettings["Elements"]; $k++) {
if ($aSettings["k".$k]["Identifier"] != "") {
if ($sql_items != "") {
$sql_items .= " OR (".$aSettings["k".$k]["Identifier"].")";
} else {
$sql_items = "(".$aSettings["k".$k]["Identifier"].")";
}
}
}
$sql .= $sql_items.")";
if ($bDebug) {
echo "<pre>".$sql."</pre>", chr(10);
}
// execute query
$db3->query($sql);
while ($db3->next_record()) {
$sTypeIdentifier = "tblData.idtype = '".$db3->f('idtype')."' AND tblData.typeid = '".$db3->f('typeid')."'";
# Note: The TypeIdentifier for one item may be the same as for another item.
# Therefore, we are storing the content everywhere as needed
for ($k = 0; $k < $aSettings["Elements"]; $k++) {
if ($sTypeIdentifier == $aSettings["k".$k]["Identifier"]) {
switch (TRUE) {
case ($aSettings["k".$k]["ElementType"] == "Image" || $aSettings["k".$k]["ElementType"] == "ExtractedImage"):
$sql = "";
if ($aSettings["k".$k]["ElementType"] == "Image") {
$sql = "SELECT dirname, filename FROM ".$cfg["tab"]["upl"]." ";
$sql .= "WHERE idupl = '".$db3->f('value')."'";
} else {
$sTmpValue = urldecode($db3->f('value'));
$regEx = "/<img[^>]*?>.*?/i";
$match = array ();
preg_match($regEx, $sTmpValue, $match);
$regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
$img = array ();
preg_match($regEx, $match[0], $img);
$img_src = preg_split("/\//", $img[0]);
$img_name = $img_src[count($img_src) - 1];
$img_name = preg_replace("/\"/", "", $img_name);
#Don't know what is happening here, exactly...
# $img_split = preg_split("/\./", $img_name);
# $img_type = $img_split[count($img_split) - 1];
# $img_split2 = preg_split("/_/", $img_split[0]);
$name = strtolower($img_name);
#Don't know what is happening here, exactly...
#if (count($img_split2) > 1) {
# $img_x = $img_split2[count($img_split2) - 1];
# $img_y = $img_split2[count($img_split2) - 2];
# if (is_numeric($img_x) AND is_numeric($img_y)) {
# $suffix = "_".$img_x."_".$img_y.".".$img_type;
# $name = preg_replace("/$suffix/", "", $img_name);
# $name = $name.".[a-zA-Z]{3}";
# }
#}
if (strlen($name) > 0) {
$sql = "SELECT dirname, filename FROM ".$cfg["tab"]["upl"]." ";
$sql .= "WHERE LOWER(filename) = '$name'";
// $sql .= "WHERE filename REGEXP '$name'"; // Old: for 'banner.jpg' 'merlin_banner.jpg' is also returned
}
}
if ($bDebug) {
echo "<pre>".$sql."</pre>";
}
// execute query
if ($sql != "") {
$db4->query($sql);
if ($db4->next_record()) {
$aData[$i]["i".$k]["ServerPath"] = $cfgClient[$client]["upl"]["path"].$db4->f('dirname').$db4->f('filename');
$aData[$i]["i".$k]["WebPath"] = $cfgClient[$client]["upl"]["htmlpath"].$db4->f('dirname').$db4->f('filename');
list ($width, $height, $type, $attr) = getimagesize($aData[$i]["i".$k]["WebPath"]);
$aData[$i]["i".$k]["Width"] = $width;
$aData[$i]["i".$k]["Height"] = $height;
}
}
break;
default:
$sTmpValue = html_entity_decode(strip_tags(urldecode($db3->f('value'))));
if ($aSettings["k".$k]["ElementWidth"] > 0 && strlen($sTmpValue) > $aSettings["k".$k]["ElementWidth"]) {
# Cutting text but preserving words and entities
$sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["k".$k]["ElementWidth"])."...");
}
$aData[$i]["i".$k]["Value"] = $sTmpValue;
}
}
}
}
}
$i++;
} else if ($lRow == $lEndCount) {
break;
}
$lRow++;
}
}
# Clearing memory
unset ($db2);
unset ($db3);
unset ($db4);
unset ($sql);
unset ($lStartIDArtLang);
unset ($lStartCount);
unset ($lEndCount);
# Output data
# Every output manipulation should be done here...
#
# Base information:
# $aSettings["Elements"]: Number of expected, additional elements from each article
# $aSettings["ArticlePerPage"]: Number of articles per page (0: show all)
# $aSettings["k".$i]["ElementType"]: Per Element: Type of Element: Text, Image or ExtractedImage
# $aSettings["k".$i]["ElementWidth"]: Per Element: Text length or image width (-> recycling ...)
# $aSettings["k".$i]["ElementHeight"]: Per Element: Image width
#
# Per article:
# $aValue["Headline"]: Content of article element specified as containing the headline information
# $aValue["Link"]: Relative link to get to the listed article
# $aValue["LastModified"]: Last modified date of the article
# $aValue["Created"]: Created date of the article
# $aValue["Published"]: Published date of the article
# $aValue["Category"]: Category name
#
# Per article additional element:
# $aValue["i".$i]["Value"]: Text (only for text elements, otherwise "")
# $aValue["i".$i]["WebPath"]: HTTP... path to image
# $aValue["i".$i]["ServerPath"]: /server/... path to image
# $aValue["i".$i]["Width"]: >Original< image width
# $aValue["i".$i]["Height"]: >Original< image height
$pcount = 0;
foreach ($aData as $aValue) {
$pcount++;
$divheight = 10;
$tpl->set("d",'field0',$aValue["Headline"]);
if ($aSettings["Elements"] > 0) {
for ($i = 0; $i < $aSettings["Elements"]; $i++) {
switch (TRUE) {
case ($aSettings["k".$i]["ElementType"] == "Image" || $aSettings["k".$i]["ElementType"] == "ExtractedImage"):
$image = $aValue["i".$i]["WebPath"];
$width = $aValue["i".$i]["Width"];
$height = $aValue["i".$i]["Height"];
if ($aSettings["k".$i]["ElementWidth"] > 0 && $aSettings["k".$i]["ElementHeight"] > 0) {
# Check, if resize necessary
if ($aValue["i".$i]["ServerPath"] != "" && file_exists($aValue["i".$i]["ServerPath"]) &&
($aValue["i".$i]["Width"] > $aSettings["k".$i]["ElementWidth"] ||
$aValue["i".$i]["Height"] > $aSettings["k".$i]["ElementHeight"])) {
# Scale image
$image = capiImgScale($aValue["i".$i]["ServerPath"], $aSettings["k".$i]["ElementWidth"], $aSettings["k".$i]["ElementHeight"], false, false, 10, false);
#Get dimensions of the image
list ($width, $height, $type, $attr) = getimagesize($image);
} else {
$image = $aValue["i".$i]["WebPath"];
$width = $aValue["i".$i]["Width"];
$height = $aValue["i".$i]["Height"];
}
}
if ($image != "") {
$htmltemp = '<img src="'.$image.'" width="'.$width.'" height="'.$height.'" alt="'.$aValue["Headline"].''.mi18n(" - to the details").'" class="full" />';
$tpl->set('s','minheight',$height);
} else {
$htmltemp = '';
};
break;
default: // Everything else is treated as "Text"
$htmltemp = $aValue["i".$i]["Value"];
}
$fieldname = "field".($i+1);
$tpl->set("d",$fieldname,$htmltemp);
$tpl->set("d",'link',$aValue["Link"]);
$tpl->next();
}
}
}
}
// reset template
// $tpl = new Template();
// $tpl->reset();
// print template
$tpl->generate("CMS_VALUE[99]");
// $tpl->generate($cfgClient[$client]["path"]["frontend"] . templates/"CMS_VALUE[99]", false, false);
# Page browsing
# Hint: Number of max available records: $lCount
# Number of pages: round($lCount / $aSettings["ArticlePerPage"])
# First page: nextstep44=0
# Last page: nextstep44=(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"];
# (I have to admit that I'm not sure about the last page formula ... ;-) )
if ($aSettings["ArticlePerPage"] > 0) {
# Example: Back and Next
/* echo '<div style="text-align:center" id="browsing">', chr(10);
if ($_REQUEST["nextstep44"] > 0) {
echo ' <div id="Back">', chr(10);
echo ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep44='.($_REQUEST["nextstep44"]-$aSettings["ArticlePerPage"]).'">'.mi18n("Back").'</a>', chr(10);
echo ' </div>', chr(10);
}
if (($_REQUEST["nextstep44"] + $aSettings["ArticlePerPage"]) < $lCount) {
echo ' <div id="Next">', chr(10);
echo ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep44='.($_REQUEST["nextstep44"]+$aSettings["ArticlePerPage"]).'">'.mi18n("Next").'</a>', chr(10);
echo ' </div>', chr(10);
}
*/
##### Example: 1 2 3 4 5 6 7 ...
/* $iPages = intval(ceil($lCount / $aSettings["ArticlePerPage"]));
$sPageLinks = '';
echo ' <div style="text-align:center" id="Pages">';
for ($i = 1; $i <= $iPages; $i++) {
$lNextStep44 = ($i - 1) * $aSettings["ArticlePerPage"];
if ($sPageLinks != '') {
$sPageLinks .= ' ';
}
if ($_REQUEST["nextstep44"] == $lNextStep44) {
$sPageLinks .= $i."\n"; # I'm on the current page, no link
} else {
$sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep44='.$lNextStep44.'">'.$i.'</a>'."\n";
}
}
echo ' '.$sPageLinks."\n";
echo ' </div>'."\n";
*/
##### Example: Seite 1 von 7
$iPages = intval(ceil($lCount / $aSettings["ArticlePerPage"]));
$sPageLinks = '';
echo ' <div>';
for ($i = 1; $i <= $iPages; $i++) {
$lNextStep44 = ($i - 1) * $aSettings["ArticlePerPage"];
if ($sPageLinks != '') {
$sPageLinks .= ' ';
}
if ($_REQUEST["nextstep44"] == $lNextStep44) {
$sPageLinks .= "Seite $i von $iPages\n"; # I'm on the current page, no link
}
}
echo ' '.$sPageLinks."\n";
echo ' </div>'."\n";
##### Example: |< 1 ... 3 4 5 ... 8 >|
$iPages = intval(ceil($lCount / $aSettings["ArticlePerPage"]));
$sPageLinks = '';
echo ' <div>'."\n";
echo ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep44=0">'.mi18n("Begin").' |‹</a> '."\n";
for ($i = 1; $i <= $iPages; $i++) {
$lNextStep44 = ($i - 1) * $aSettings["ArticlePerPage"];
if ($i == 1 || $i == $iPages) {
if ($sPageLinks != '') {
$sPageLinks .= ' ';
}
if ($_REQUEST["nextstep44"] == $lNextStep44) {
$sPageLinks .= $i."\n"; # I'm on the current page, no link
} else {
$sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep44='.$lNextStep44.'">'.$i.'</a>'."\n";
}
} else if ($_REQUEST["nextstep44"] == $lNextStep44) {
$sPageLinks .= ' '.$i."\n"; # I'm on the current page, no link
} else if ($_REQUEST["nextstep44"] == ($lNextStep44 + $aSettings["ArticlePerPage"])) {
# Front
$sPageLinks .= ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep44='.$lNextStep44.'">'.$i.'</a>'."\n";
} else if ($_REQUEST["nextstep44"] == ($lNextStep44 - $aSettings["ArticlePerPage"])) {
# Back
$sPageLinks .= ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep44='.$lNextStep44.'">'.$i.'</a>'."\n";
} else if ($_REQUEST["nextstep44"] == ($lNextStep44 - (2 * $aSettings["ArticlePerPage"])) ||
$_REQUEST["nextstep44"] == ($lNextStep44 + (2 * $aSettings["ArticlePerPage"]))) {
$sPageLinks .= '...';
}
}
echo ' '.$sPageLinks."\n";
echo ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep44='.(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"].'">›| '.mi18n("End").'</a>'."\n";
echo ' '."\n";
echo '</div>'."\n"; # Closing Browsing div
}
}
# Clearing memory
unset ($aData);
unset ($aSettings);
unset ($i);
unset ($lCount);
unset ($bDebug);
?>
Das hat aber nicht funktioniert und als ich dann über phpmyadmin die Tabelle angesehen habe, ist mir aufgefallen, das in der Tabelle con_cat_art bei keiner Zeile in der betreffenden Spalte ein 1 steht. Wo wird denn der Startartikel abgespeichert? Oder zumindest die Info dazu?$sql .= "AND CATART.is_start = '1' ";
Code: Alles auswählen
<?php
### Version mit korrigiertem GetImageSize Fehler
# Initialization
$bDebug = false;
$iDataStart = 20;
$lCount = 0;
unset ($aData);
$aData = array();
# Base settings
unset ($aSettings);
$aSettings = array();
$aSettings["ArticleCount"] = "CMS_VALUE[0]";
$aSettings["ArticlePerPage"] = "CMS_VALUE[1]";
$aSettings["SortBy"] = "CMS_VALUE[2]";
$aSettings["SortDir"] = "CMS_VALUE[3]";
$aSettings["ShowStart"] = "CMS_VALUE[4]";
$aSettings["Category"] = "CMS_VALUE[5]";
$aSettings["HeadlineIdentifier"] = "CMS_VALUE[7]";
$aSettings["HeadlineLength"] = "CMS_VALUE[8]";
$aSettings["Elements"] = "CMS_VALUE[9]";
$aSettings["CatTypeSel"] = "CMS_VALUE[10]";
$aSettings["AddCats"] = "CMS_VALUE[11]";
# Checking base settings
if (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0) {
$aSettings["ArticleCount"] = 5;
}
if (!is_numeric($aSettings["ArticlePerPage"]) || $aSettings["ArticlePerPage"] < 0) {
$aSettings["ArticlePerPage"] = 0; // Deactivating page browsing
}
if ($aSettings["ArticlePerPage"] == 0 || !is_numeric($_REQUEST["nextstep"])) {
$_REQUEST["nextstep"] = 0;
}
if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0) {
$aSettings["Category"] = 0;
}
if (strlen($aSettings["HeadlineIdentifier"]) > 50) {
$aSettings["HeadlineIdentifier"] = "";
}
if (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0) {
$aSettings["HeadlineLength"] = 0;
}
if (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0) {
$aSettings["Elements"] = 0;
}
if ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "selected")) {
$aSettings["CatTypeSel"] = "none";
}
# Detail settings
if ($aSettings["Elements"] > 0) {
for ($i = 0; $i < $aSettings["Elements"]; $i++) {
$iElementType = $iDataStart + ($i * 5);
$iElementIdentifier = $iElementType + 1;
$iElementWidth = $iElementType + 2;
$iElementHeight = $iElementType + 3;
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // Text, Image, ExtractedImage
$aSettings["k".$i]["Identifier"] = "CMS_VALUE[$iElementIdentifier]";
$aSettings["k".$i]["ElementWidth"] = "CMS_VALUE[$iElementWidth]"; // Textlength or ImageWidth
$aSettings["k".$i]["ElementHeight"] = "CMS_VALUE[$iElementHeight]";
# Check detail settings
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "Text";
}
if ($aSettings["k".$i]["ElementType"] == "Text") {
$aSettings["ElementHeight"] = 0;
if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] < 0) {
$aSettings["k".$i]["ElementWidth"] = 50;
}
} else if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] <= 0 ||
!is_numeric($aSettings["k".$i]["ElementHeight"]) || $aSettings["k".$i]["ElementHeight"] <= 0) {
$aSettings["k".$i]["ElementWidth"] = 0;
$aSettings["k".$i]["ElementHeight"] = 0;
}
if (strlen($aSettings["Identifier"]) > 50) {
$aSettings["Identifier"] = "";
}
}
}
unset ($iDataStart);
unset ($iElementType);
unset ($iElementIdentifier);
unset ($iElementWidth);
unset ($iElementHeight);
if ($aSettings["Category"] !== "0" && $aSettings["HeadlineIdentifier"] !== "") {
if (!is_object($db2)) {
$db2 = new DB_Contenido;
}
# Specifying search categories
$sSelCats = "'".$aSettings["Category"]."'";
# Adding categories "below" primary category
switch ($aSettings["CatTypeSel"]) {
case "below":
$lCatLevel = -1;
$sql = "SELECT a.idcat AS idcat, b.level AS level FROM ".$cfg["tab"]["cat"]." a, ".$cfg["tab"]["cat_tree"]." b ";
$sql .= "WHERE a.idcat = b.idcat ORDER BY b.idtree";
$db2->query($sql);
while($db2->next_record()) {
if ($db2->f("idcat") == $aSettings["Category"]) {
$lCatLevel = $db2->f("level");
} else if ($lCatLevel > -1 && $db2->f("level") > $lCatLevel) {
$sSelCats .= ",'".$db2->f("idcat")."'";
} else if ($db2->f("level") <= $lCatLevel) {
break;
}
}
break;
case "selected":
$aCats = explode(",",$aSettings["AddCats"]);
foreach ($aCats as $value) {
if (is_numeric($value)) {
$sSelCats .= ",'".$value."'";
}
}
break;
default:
}
$sql = "SELECT tblData.value AS headline, ARTLANG.title AS title, ARTLANG.pagetitle AS pagetitle, ARTLANG.summary AS summary, ARTLANG.idart AS id, ARTLANG.lastmodified AS lastmodified, " ;
$sql .= "ARTLANG.created AS created, ARTLANG.published AS published, CATLANG.name AS category, ";
$sql .= "ARTLANG.title AS titel, ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart FROM ";
$sql .= $cfg["tab"]["cat_art"]." AS CATART, ";
$sql .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
$sql .= $cfg["tab"]["cat_lang"]." AS CATLANG, ";
$sql .= $cfg["tab"]["content"]." AS tblData ";
$sql .= "WHERE CATART.idcat IN (".$sSelCats.") AND ARTLANG.idlang = '".$lang."' ";
$sql .= "AND tblData.idartlang = ARTLANG.idartlang ";
$sql .= "AND CATLANG.idlang = ARTLANG.idlang ";
$sql .= "AND CATLANG.idcat = CATART.idcat ";
$sql .= "AND ARTLANG.idart = CATART.idart ";
if ($aSettings["ShowStart"] != "enabled") {
if ($cfg["is_start_compatible"] == true) {
$sql .= "AND CATART.is_start = '1' ";
} else {
$sql .= "AND tblData.idartlang != CATLANG.startidartlang ";
}
}
$sql .= "AND ARTLANG.online = '1' ";
$sql .= "AND ".$aSettings["HeadlineIdentifier"]." ";
// Sort by
$sql .= "ORDER BY ";
$sql .= $aSettings["SortBy"]." ".$aSettings["SortDir"]." ";
// LIMIT
if ($aSettings["ArticleCount"] > 0) {
$sql .= "LIMIT 0, ".$aSettings["ArticleCount"];
}
// execute query
$db2->query($sql);
$lCount = $db2->num_rows();
if ($lCount > 0) {
if (!is_object($db3)) {
$db3 = new DB_Contenido;
}
if (!is_object($db4)) {
$db4 = new DB_Contenido;
}
if ($aSettings["ArticlePerPage"] > 0) {
$lStartCount = $_REQUEST["nextstep"];
$lEndCount = $_REQUEST["nextstep"] + $aSettings["ArticlePerPage"];
if ($lEndCount > $lCount) {
$lEndCount = $lCount;
}
} else {
$lStartCount = 0;
$lEndCount = $lCount;
}
$lRow = 0;
$i = 0;
while ($db2->next_record()) {
if ( $aSettings["ShowStart"] == "enabled" ||
($aSettings["ShowStart"] != "enabled" && $db2->f("idartlang") != $lStartIDArtLang)) {
if ($lRow >= $lStartCount && $lRow < $lEndCount) {
$aData[$i] = array();
$aData[$i]["Category"] = urldecode($db2->f("category"));
$aData[$i]["Link"] = $sess->url("front_content.php?idcat=".$db2->f("idcat")."&idart=".$db2->f("id"));;
$aData[$i]["LastModified"] = $db2->f("lastmodified");
$aData[$i]["Created"] = $db2->f("created");
$aData[$i]["Published"] = $db2->f("published");
# nachstehende Daten Summary eingef�gt
$aData[$i]["Summary"] = $db2->f("summary");
# nachstehende Daten pagetitle eingef�gt
$aData[$i]["Pagetitle"] = $db2->f("title");
$sTmpValue = html_entity_decode(strip_tags(urldecode($db2->f('headline'))));
if ($aSettings["HeadlineLength"] > 0 && strlen($sTmpValue) > $aSettings["HeadlineLength"]) {
# Cutting text but preserving words and entities
$sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["HeadlineLength"])."...");
}
$aData[$i]["Headline"] = $sTmpValue;
if ($aSettings["Elements"] > 0) {
for ($k = 0; $k < $aSettings["Elements"]; $k++) {
$aData[$i]["i".$k] = array();
$aData[$i]["i".$k]["Value"] = "";
$aData[$i]["i".$k]["ServerPath"] = "";
$aData[$i]["i".$k]["WebPath"] = "";
$aData[$i]["i".$k]["Width"] = 0;
$aData[$i]["i".$k]["Height"] = 0;
}
$sql = "SELECT tblData.value AS value, tblData.idtype AS idtype, tblData.typeid AS typeid FROM ";
$sql .= $cfg["tab"]["cat_art"]." AS tblCatArt, ";
$sql .= $cfg["tab"]["art_lang"]." AS tblArtLang, ";
$sql .= $cfg["tab"]["content"]." AS tblData ";
$sql .= "WHERE tblData.idartlang = tblArtLang.idartlang AND ";
$sql .= "tblArtLang.idlang = '".$lang."' AND ";
$sql .= "tblArtLang.idart = tblCatArt.idart AND ";
$sql .= "tblCatArt.idcatart = '".$db2->f("idcatart")."' AND (";
$sql_items = "";
for ($k = 0; $k < $aSettings["Elements"]; $k++) {
if ($aSettings["k".$k]["Identifier"] != "") {
if ($sql_items != "") {
$sql_items .= " OR (".$aSettings["k".$k]["Identifier"].")";
} else {
$sql_items = "(".$aSettings["k".$k]["Identifier"].")";
}
}
}
$sql .= $sql_items.")";
if ($bDebug) {
echo "<pre>".$sql."</pre>", chr(10);
}
// execute query
$db3->query($sql);
while ($db3->next_record()) {
$sTypeIdentifier = "tblData.idtype = '".$db3->f('idtype')."' AND tblData.typeid = '".$db3->f('typeid')."'";
# Note: The TypeIdentifier for one item may be the same as for another item.
# Therefore, we are storing the content everywhere as needed
for ($k = 0; $k < $aSettings["Elements"]; $k++) {
if ($sTypeIdentifier == $aSettings["k".$k]["Identifier"]) {
switch (TRUE) {
case ($aSettings["k".$k]["ElementType"] == "Image" || $aSettings["k".$k]["ElementType"] == "ExtractedImage"):
$sql = "";
if ($aSettings["k".$k]["ElementType"] == "Image") {
$sql = "SELECT dirname, filename FROM ".$cfg["tab"]["upl"]." ";
$sql .= "WHERE idupl = '".$db3->f('value')."'";
} else {
$sTmpValue = urldecode($db3->f('value'));
$regEx = "/<img[^>]*?>.*?/i";
$match = array ();
preg_match($regEx, $sTmpValue, $match);
$regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
$img = array ();
preg_match($regEx, $match[0], $img);
$img_src = preg_split("/\//", $img[0]);
$img_name = $img_src[count($img_src) - 1];
$img_name = preg_replace("/\"/", "", $img_name);
#Don't know what is happening here, exactly...
# $img_split = preg_split("/\./", $img_name);
# $img_type = $img_split[count($img_split) - 1];
# $img_split2 = preg_split("/_/", $img_split[0]);
$name = strtolower($img_name);
#Don't know what is happening here, exactly...
#if (count($img_split2) > 1) {
# $img_x = $img_split2[count($img_split2) - 1];
# $img_y = $img_split2[count($img_split2) - 2];
# if (is_numeric($img_x) AND is_numeric($img_y)) {
# $suffix = "_".$img_x."_".$img_y.".".$img_type;
# $name = preg_replace("/$suffix/", "", $img_name);
# $name = $name.".[a-zA-Z]{3}";
# }
#}
if (strlen($name) > 0) {
$sql = "SELECT dirname, filename FROM ".$cfg["tab"]["upl"]." ";
$sql .= "WHERE LOWER(filename) = '$name'";
// $sql .= "WHERE filename REGEXP '$name'"; // Old: for 'banner.jpg' 'merlin_banner.jpg' is also returned
}
}
if ($bDebug) {
echo "<pre>".$sql."</pre>";
}
// execute query
if ($sql != "") {
$db4->query($sql);
if ($db4->next_record()) {
$aData[$i]["i".$k]["ServerPath"] = $cfgClient[$client]["upl"]["path"].$db4->f('dirname').$db4->f('filename');
$aData[$i]["i".$k]["WebPath"] = $cfgClient[$client]["upl"]["htmlpath"].$db4->f('dirname').$db4->f('filename');
###
list ($width, $height, $type, $attr) = getimagesize($aData[$i]["i".$k]["ServerPath"]);
$aData[$i]["i".$k]["Width"] = $width;
$aData[$i]["i".$k]["Height"] = $height;
}
}
break;
default:
$sTmpValue = html_entity_decode(strip_tags(urldecode($db3->f('value'))));
if ($aSettings["k".$k]["ElementWidth"] > 0 && strlen($sTmpValue) > $aSettings["k".$k]["ElementWidth"]) {
# Cutting text but preserving words and entities
$sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["k".$k]["ElementWidth"])."...");
}
$aData[$i]["i".$k]["Value"] = $sTmpValue;
}
}
}
}
}
$i++;
} else if ($lRow == $lEndCount) {
break;
}
$lRow++;
}
}
# Clearing memory
unset ($db2);
unset ($db3);
unset ($db4);
unset ($sql);
unset ($lStartIDArtLang);
unset ($lStartCount);
unset ($lEndCount);
# Output data
# Every output manipulation should be done here...
#
# Base information:
# $aSettings["Elements"]: Number of expected, additional elements from each article
# $aSettings["ArticlePerPage"]: Number of articles per page (0: show all)
# $aSettings["k".$i]["ElementType"]: Per Element: Type of Element: Text, Image or ExtractedImage
# $aSettings["k".$i]["ElementWidth"]: Per Element: Text length or image width (-> recycling ...)
# $aSettings["k".$i]["ElementHeight"]: Per Element: Image width
#
# Per article:
# $aValue["Headline"]: Content of article element specified as containing the headline information
# $aValue["Link"]: Relative link to get to the listed article
# $aValue["LastModified"]: Last modified date of the article
# $aValue["Created"]: Created date of the article
# $aValue["Published"]: Published date of the article
# $aValue["Category"]: Category name
# $aValue["Summary"]: summary Zusammenfassung
# $aValue["Pagetitle"]: Seitentitel pagetitle
#
# Per article additional element:
# $aValue["i".$i]["Value"]: Text (only for text elements, otherwise "")
# $aValue["i".$i]["WebPath"]: HTTP... path to image
# $aValue["i".$i]["ServerPath"]: /server/... path to image
# $aValue["i".$i]["Width"]: >Original< image width
# $aValue["i".$i]["Height"]: >Original< image height
##
/* Init Template
*/
if (!is_object($tpl)) {
$tpl = new Template;
}
$tpl->reset();
//$template = "artlist_advanced.html";
//$template = "mat.html";
$template = "CMS_VALUE[99]";
##
#####
$newsheadline = " ";
$tpl->set('s', 'TITLE', $newsheadline);
#####
foreach ($aData as $aValue) {
# echo '<div id="artlist">', chr(10);
# echo ' <div id="headline">'.$aValue["Category"].": ".$aValue["Headline"].'</div>', chr(10);
# echo ' <div id="artlist_headline">'.$aValue["Headline"].'</div>', chr(10);
# echo ' <div id="artlist_headline"><a href="'.$aValue["Link"].'">'.$aValue["Headline"].'</a></div>', chr(10);
#####
$artlist_pagetitle = '<a class="start" href="'.$aValue["Link"].'" style="padding-top: 5px; line-height: 12px">'.$aValue["Pagetitle"].'</a>';
$artlist_headline = '<a class="start" href="'.$aValue["Link"].'" >'.$aValue["Headline"].'</a>';
//$artlist_headline = '<h1 style="font-size: 14px; padding:0; line-height: 14px ">'.$aValue["Headline"].'</h1>';
# echo $artlist_headline;
#####
$artlist_pagetitel = $aValue["Pagetitle"];
#echo $artlist_pagetitel;
#####
# echo ' <div id="artlist_zusammen">'.$aValue["Summary"].'</div>', chr(10);
$artlist_summary = $aValue["Summary"];
# echo $artlist_summary;
#####
if ($aSettings["Elements"] > 0) {
for ($i = 0; $i < $aSettings["Elements"]; $i++) {
switch (TRUE) {
case ($aSettings["k".$i]["ElementType"] == "Image" || $aSettings["k".$i]["ElementType"] == "ExtractedImage"):
$image = $aValue["i".$i]["WebPath"];
$width = $aValue["i".$i]["Width"];
$height = $aValue["i".$i]["Height"];
if ($aSettings["k".$i]["ElementWidth"] > 0 && $aSettings["k".$i]["ElementHeight"] > 0) {
# Check, if resize necessary
if ($aValue["i".$i]["ServerPath"] != "" && file_exists($aValue["i".$i]["ServerPath"]) &&
($aValue["i".$i]["Width"] > $aSettings["k".$i]["ElementWidth"] ||
$aValue["i".$i]["Height"] > $aSettings["k".$i]["ElementHeight"])) {
# Scale image
$image = capiImgScale($aValue["i".$i]["ServerPath"], $aSettings["k".$i]["ElementWidth"], $aSettings["k".$i]["ElementHeight"], false, false, 10, false);
### #Get dimensions of the image
list ($width, $height, $type, $attr) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $image));
} else {
$image = $aValue["i".$i]["WebPath"];
$width = $aValue["i".$i]["Width"];
$height = $aValue["i".$i]["Height"];
}
}
if ($image != "") {
#####
# echo ' <div id="artlist_image"><img src="'.$image.'" width="'.$width.'" height="'.$height.'" border="0"/></div>', chr(10);
$artlist_image = '<a href="'.$aValue["Link"].'"><img src="'.$image.'" width="'.$width.'" height="'.$height.'" border="0" abc/></a>';
//$artlist_image = 'background-image: url('.$image.'); background-repeat: no-repeat;background-position: 5px 110px';
#echo $artlist_image;
#####
}
break;
default: // Everything else is treated as "Text"
#####-A
# echo ' <div id="artlist_text">'.$aValue["i".$i]["Value"].'</div>', chr(10);
#$artlist_text = $aValue["i".$i]["Value"];
if ($artlist_summary == "") {
$artlist_text = $aValue["i".$i]["Value"];
} else {
$artlist_text = $artlist_summary;
}
#echo $artlist_text;
#####
}
}
}
#####
#echo '<a href="'.$aValue["Link"].'">'.mi18n("More...").'</a>', chr(10);
$artlist_more = '<a href="'.$aValue["Link"].'">'.mi18n("More...").'</a>';
#echo $artlist_more;
#echo '</div>', chr(10);
echo 'CMS_VALUE[4]';
#####
$tpl->set('d', 'PAGETITLE', $artlist_pagetitle);
$tpl->set('d', 'HEADLINE', $artlist_headline);
$tpl->set('d', 'IMAGE', $artlist_image);
$tpl->set('d', 'TEXT', $artlist_text);
$tpl->set('d', 'MORE', $artlist_more);
$tpl->next();
#####
}
}
$tpl->generate('templates/'.$template);
# Page browsing
# Hint: Number of max available records: $lCount
# Number of pages: round($lCount / $aSettings["ArticlePerPage"])
# First page: nextstep=0
# Last page: nextstep=(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"];
# (I have to admit that I'm not sure about the last page formula ... ;-) )
if ($aSettings["ArticlePerPage"] > 0) {
# Example: Back and Next
echo '<div id="browsing">', chr(10);
if ($_REQUEST["nextstep"] > 0) {
echo ' <div id="Back">', chr(10);
echo ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.($_REQUEST["nextstep"]-$aSettings["ArticlePerPage"]).'">'.mi18n("Back").'</a>', chr(10);
echo ' </div>', chr(10);
}
if (($_REQUEST["nextstep"] + $aSettings["ArticlePerPage"]) < $lCount) {
echo ' <div id="Next">', chr(10);
echo ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.($_REQUEST["nextstep"]+$aSettings["ArticlePerPage"]).'">'.mi18n("Next").'</a>', chr(10);
echo ' </div>', chr(10);
}
# Example: 1 2 3 4 5 6 7 ...
$iPages = intval($lCount / $aSettings["ArticlePerPage"]);
$sPageLinks = '';
echo ' <div id="Pages">';
for ($i = 1; $i <= $iPages; $i++) {
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($sPageLinks != '') {
$sPageLinks .= ' ';
}
if ($_REQUEST["nextstep"] == $lNextStep) {
$sPageLinks .= $i."\n"; # I'm on the current page, no link
} else {
$sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>'."\n";
}
}
echo ' '.$sPageLinks."\n";
echo ' </div>'."\n";
# Example: |< 1 ... 3 4 5 ... 8 >|
$iPages = intval($lCount / $aSettings["ArticlePerPage"]);
$sPageLinks = '';
echo ' <div id="Pages">'."\n";
echo ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep=0">|<</a>'."\n";
for ($i = 1; $i <= $iPages; $i++) {
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($i == 1 || $i == $iPages) {
if ($sPageLinks != '') {
$sPageLinks .= ' ';
}
if ($_REQUEST["nextstep"] == $lNextStep) {
$sPageLinks .= $i."\n"; # I'm on the current page, no link
} else {
$sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>'."\n";
}
} else if ($_REQUEST["nextstep"] == $lNextStep) {
$sPageLinks .= ' '.$i."\n"; # I'm on the current page, no link
} else if ($_REQUEST["nextstep"] == ($lNextStep + $aSettings["ArticlePerPage"])) {
# Front
$sPageLinks .= ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>'."\n";
} else if ($_REQUEST["nextstep"] == ($lNextStep - $aSettings["ArticlePerPage"])) {
# Back
$sPageLinks .= ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>'."\n";
} else if ($_REQUEST["nextstep"] == ($lNextStep - (2 * $aSettings["ArticlePerPage"])) ||
$_REQUEST["nextstep"] == ($lNextStep + (2 * $aSettings["ArticlePerPage"]))) {
$sPageLinks .= '...';
}
}
echo ' '.$sPageLinks."\n";
echo ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"].'">>|</a>'."\n";
echo ' </div>'."\n";
echo '</div>'."\n"; # Closing Browsing div
}
}
# Clearing memory
unset ($aData);
unset ($aSettings);
unset ($i);
unset ($lCount);
unset ($bDebug);
?>
Für welche Contenido-Version überhaupt? Das mit dem Startartikel hat sich bei neueren Contenido-Versionen geändert, wenn du nach "Startartikel" im Forum suchst, dürftest du fündig werden.saschar hat geschrieben:Wie kann man die "Standard-Artikelliste Advanced V1.4" so modifizieren, dass sie nur die Startartikel ausgibt.
[...]
Ich dachte ich könne im Output einfach etwas abändern im Sinne von$sql .= "AND CATART.is_start = '1' ";