Artikelliste Navigation + AMR Problem
Artikelliste Navigation + AMR Problem
Hallo,
ich habe ein kleines Problem mit der Artikelliste V2.6. Die Navigation mit den Ziffern wird anscheinend durch das AMR-Modul nicht mit umgewandelt sodass dort nicht die id und page steht.
Ich vermute einfach mal das dies vllt. daran liegt, dass die URL falsch aufgebaut ist: /cms/front_content.php?page=2&idart=49
Sinniger und wahrscheinlich auch besser für das AMR Modul wäre: /cms/front_content.php?idart=49&page=2
Kann mir hier eventuell jemand weiterhelfen?
Vielen Dank
VG
CA
ich habe ein kleines Problem mit der Artikelliste V2.6. Die Navigation mit den Ziffern wird anscheinend durch das AMR-Modul nicht mit umgewandelt sodass dort nicht die id und page steht.
Ich vermute einfach mal das dies vllt. daran liegt, dass die URL falsch aufgebaut ist: /cms/front_content.php?page=2&idart=49
Sinniger und wahrscheinlich auch besser für das AMR Modul wäre: /cms/front_content.php?idart=49&page=2
Kann mir hier eventuell jemand weiterhelfen?
Vielen Dank
VG
CA
Re: Artikelliste Navigation + AMR Problem
Hallo contenidoAmateur,
für das AMR-Plugin spielt es eigentlich keine Rolle, wie die Reihenfolge der Parameter in der URL ist.
Vermutlich ist die Ursache was anderes. Konntest du es schon lösen?
Gruß
xmurrix
für das AMR-Plugin spielt es eigentlich keine Rolle, wie die Reihenfolge der Parameter in der URL ist.
Vermutlich ist die Ursache was anderes. Konntest du es schon lösen?
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Artikelliste Navigation + AMR Problem
Okay das ist schon mal beruhigend.
Leider nicht ich habe diese Art der Navigation das erste mal eingebunden und funzt wie gesagt irgendwie nicht..
Danke im voraus
VG
CA
Leider nicht ich habe diese Art der Navigation das erste mal eingebunden und funzt wie gesagt irgendwie nicht..
Danke im voraus
VG
CA
Re: Artikelliste Navigation + AMR Problem
Falls es die Navigation auf der Tutorialsseite ist, dort konnte ich kein Problem erkennen.contenidoAmateur hat geschrieben:...Leider nicht ich habe diese Art der Navigation das erste mal eingebunden und funzt wie gesagt irgendwie nicht...
Versuche doch mal die URL-Generierung zu debuggen, hier ein Beitrag dazu:
http://forum.contenido.org/viewtopic.ph ... 60#p159290
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Artikelliste Navigation + AMR Problem
Nein, dort ist alles i.O
Geht um ein anderes Projekt, nur das gebe ich leider auch nichts heraus
Der Debugger ist schon cool, nur leider wird die URL anscheinend gar nicht erst übers AMR-Modul versucht zu gehen, denn im Debugger ist diese nicht aufgeführt... Und nun?
Danke
VG
CA
Geht um ein anderes Projekt, nur das gebe ich leider auch nichts heraus
Der Debugger ist schon cool, nur leider wird die URL anscheinend gar nicht erst übers AMR-Modul versucht zu gehen, denn im Debugger ist diese nicht aufgeführt... Und nun?
Danke
VG
CA
Re: Artikelliste Navigation + AMR Problem
Dann wird entweder die URL nicht erkannt, weil es vielleicht eine Absolute URL inkl. Protokoll + Domain ist, oder das Format der URL ist anders.contenidoAmateur hat geschrieben:... leider wird die URL anscheinend gar nicht erst übers AMR-Modul versucht zu gehen, denn im Debugger ist diese nicht aufgeführt... Und nun?...
Wie sieht denn das Markup aus, ich meine die URL inkl. Tag?
Ich sehe gerade, dass dieURL /cms/front_content.php?page=2&idart=49 ist. Ändere das Navigationsmodul so, dass es nur front_content.php?page=2&idart=49 ausgibt, also ohne den Prefix "/cms/".
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Artikelliste Navigation + AMR Problem
Hey,
danke für deine Antwort
Aber irgendwie wird bei meiner gewählten Navi (Typ 05) die URL nicht so gebildet wie bei z. B. beim Typ 04. (Du musst wissen bin noch PHP-Einsteiger)
Code meiner gewählten Navigation:
Code der Navigation Typ 04:
Also ich habe mir auch die Datei includes/pagination/ps_pagination.php angesehen und wenn ich es richtig verstanden habe wird bei Typ 05 die URL gebildet, aber mehr konnte ich leider nicht herausfinden (wenn das überhaupt stimmt ).
Magst du mir kurz helfen?
DANKE
danke für deine Antwort
Aber irgendwie wird bei meiner gewählten Navi (Typ 05) die URL nicht so gebildet wie bei z. B. beim Typ 04. (Du musst wissen bin noch PHP-Einsteiger)
Code meiner gewählten Navigation:
Code: Alles auswählen
// Example: << < 1 ... 3 4 5 ... 8 > >>
// First Page
$sPageBrowsingType05 = '';
if ($aSettings["PageBrowsingType05"] == "enabled")
{
if (!is_object($db)) $db = new DB_Contenido;
$sql = $sql_pagination;
/*
* Create a PS_Pagination object
*
* $conn = MySQL connection object
* $sql = SQl Query to paginate
* $aSettings["ArticlePerPage"] = Number of rows per page
* $aSettings["PageBrowsingType05MaxPages"] = Number of links
* "param1=valu1¶m2=value2" = You can append your own parameters to paginations links
*/
$pager = new PS_Pagination($db, $sql, $aSettings["ArticlePerPage"], $aSettings["PageBrowsingType05MaxPages"], "idart=".$idart);
/*
* Enable debugging if you want o view query errors
*/
$pager->setDebug(true);
// Init pagination
$pager->paginate();
// Display the full navigation in one go
$sDotsBefore = '';
$sDotsAfter = '';
if ($iPages > $aSettings["PageBrowsingType05MaxPages"] && ($aSettings["CurrentPage"] + 1) > $aSettings["PageBrowsingType05MaxPages"])
$sDotsBefore .= ' ...';
if ($iPages > $aSettings["PageBrowsingType05MaxPages"] && ($aSettings["CurrentPage"] + 1) <= $aSettings["PageBrowsingType05MaxPages"])
$sDotsAfter .= '... ';
$sPageBrowsingType05 .= $pager->renderFirst('«').$pager->renderPrev('‹').$sDotsBefore.$pager->renderNav('','').$sDotsAfter.$pager->renderNext('›').$pager->renderLast('»');
}
Code: Alles auswählen
// Example: Erste Seite 1 ... 3 4 5 ... 8 Letzte Seite
$sPageBrowsingType04 = '';
if ($aSettings["PageBrowsingType04"] == "enabled")
{
$sPageBrowsingType04 .= '<a class="articlelistBegin" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page=1">'.mi18n("Begin").'</a>';
for ($i = 1; $i <= $iPages; $i++)
{
if ($i == 1 || $i == $iPages)
{
if ($sPageBrowsingType04 != '')
$sPageBrowsingType04 .= ' ';
$sPageBrowsingType04 .= (($aSettings["CurrentPage"] + 1) == $i) ? $i : '<a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$i.'">'.$i.'</a>';
}
elseif (($aSettings["CurrentPage"] + 1) == $i)
{
$sPageBrowsingType04 .= ' '.$i; // I'm on the current page, no link
}
elseif (($aSettings["CurrentPage"] + 1) == ($i + 1))
{
// Front
$sPageBrowsingType04 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$i.'">'.$i.'</a>';
}
elseif (($aSettings["CurrentPage"] + 1) == ($i - 1))
{
// Back
$sPageBrowsingType04 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$i.'">'.$i.'</a>';
}
elseif (($aSettings["CurrentPage"] + 1) == ($i - 2) || ($aSettings["CurrentPage"] + 1) == ($i + 2))
{
$sPageBrowsingType04 .= ' ...';
}
}
$sPageBrowsingType04 .= ' <a class="articlelistEnd" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$lCount.'">'.mi18n("End").'</a>';
}
Magst du mir kurz helfen?
DANKE
Re: Artikelliste Navigation + AMR Problem
Aus den Sourcecode-Beispielen, die du hier gepostet hast, kann ich nichts ungewöhlnliches erkennen. Schick mir doch das ganze Paket (Module und andere zugehörige Source) oder stelle es hier zur Verfügung, z. B. als Anhang zum Beitrag.
Gruß
xmurrix
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Artikelliste Navigation + AMR Problem
Hi,
Danke für die Antwort
Artikelliste Input:
Artikelliste Output:
Danke für die Antwort
Artikelliste Input:
Code: Alles auswählen
?><?php
#Includes
cInclude("frontend", "includes/functions.input.helper.php");
# Initialization
$bDebug = false;
$iDataStart = 300;
$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["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["SampleCat"] = "CMS_VALUE[12]";
$aSettings["DateType"] = "CMS_VALUE[13]";
$aSettings["Date"] = "CMS_VALUE[14]";
$aSettings["Template"] = "CMS_VALUE[15]";
$aSettings["PageBrowsingType01"] = "CMS_VALUE[16]";
$aSettings["PageBrowsingType02"] = "CMS_VALUE[17]";
$aSettings["PageBrowsingType03"] = "CMS_VALUE[18]";
$aSettings["PageBrowsingType04"] = "CMS_VALUE[19]";
$aSettings["PageBrowsingType05"] = "CMS_VALUE[20]";
$aSettings["UseUTF8"] = "CMS_VALUE[21]";
$aSettings["UseSummary"] = "CMS_VALUE[22]";
$aSettings["ShowOnlyStart"] = "CMS_VALUE[23]";
$aSettings["DateLanguage"] = "CMS_VALUE[24]";
$aSettings["PageBrowsingType05MaxPages"] = "CMS_VALUE[25]";
$aSettings["SummaryWidth"] = "CMS_VALUE[26]";
$aSettings["UsePageTitle"] = "CMS_VALUE[27]";
$aSettings["PageTitleWidth"] = "CMS_VALUE[28]";
$aSettings["UseAuthor"] = "CMS_VALUE[29]";
$aSettings["AuthorLabeling"] = "CMS_VALUE[30]";
$aSettings["ArtListHeadline"] = "CMS_VALUE[31]";
$aSettings["ShowModul"] = "CMS_VALUE[100]";
# Checking base settings
$sShowModulSelectedOn = ($aSettings["ShowModul"] == 'on') ? ' selected="selected"' : '';
$sShowModulSelectedOff = ($aSettings["ShowModul"] == 'off' || $aSettings["ShowModul"] == '') ? ' selected="selected"' : '';
$aSettings["ArticleCount"] = (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0) ? 5 : $aSettings["ArticleCount"];
$aSettings["ArticlePerPage"] = (!is_numeric($aSettings["ArticlePerPage"]) || $aSettings["ArticlePerPage"] < 0) ? 0 : $aSettings["ArticlePerPage"]; // Deactivating page browsing
$aSettings["Category"] = (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0) ? 0 : $aSettings["Category"];
$aSettings["SampleCat"] = (!is_numeric($aSettings["SampleCat"]) || $aSettings["SampleCat"] <= 0) ? $aSettings["Category"] : $aSettings["SampleCat"];
$aSettings["SampleArt"] = (!is_numeric($aSettings["SampleArt"]) || $aSettings["SampleArt"] < 0) ? 0 : $aSettings["SampleArt"];
$aSettings["HeadlineIdentifier"] = (strlen($aSettings["HeadlineIdentifier"]) > 50) ? "" : $aSettings["HeadlineIdentifier"];
$aSettings["HeadlineLength"] = (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0) ? 0 : $aSettings["HeadlineLength"];
$aSettings["Elements"] = (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0) ? 0 : $aSettings["Elements"];
$aSettings["CatTypeSel"] = ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "select")) ? "none" : $aSettings["CatTypeSel"];
$aSettings["PageBrowsingType05MaxPages"] = (!is_numeric($aSettings["PageBrowsingType05MaxPages"]) || $aSettings["PageBrowsingType05MaxPages"] == '') ? 10 : $aSettings["PageBrowsingType05MaxPages"];
$aSettings["PageBrowsingType05MaxPages"] = ($aSettings["PageBrowsingType05MaxPages"] <= 3) ? 3 : $aSettings["PageBrowsingType05MaxPages"];
$aSettings["SummaryWidth"] = (!is_numeric($aSettings["SummaryWidth"]) || $aSettings["SummaryWidth"] < 0) ? 0 : $aSettings["SummaryWidth"];
$aSettings["PageTitleWidth"] = (!is_numeric($aSettings["PageTitleWidth"]) || $aSettings["PageTitleWidth"] < 0) ? 0 : $aSettings["PageTitleWidth"];
# Detail settings
if ($aSettings["Elements"] > 0) {
for ($i = 0; $i < $aSettings["Elements"]; $i++) {
$iElementType = $iDataStart + ($i * 10);
$iElementIdentifier = $iElementType + 1;
$iElementWidth = $iElementType + 2;
$iElementHeight = $iElementType + 3;
$iElementDontStripTags = $iElementType + 3;
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // Text, Summary, Author name, 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]";
$aSettings["k".$i]["ElementDontStripTags"] = "CMS_VALUE[$iElementDontStripTags]";
# Check detail settings
$aSettings["k".$i]["ElementType"] = ($aSettings["k".$i]["ElementType"] == "") ? "Text" : $aSettings["k".$i]["ElementType"];
$aSettings["Identifier"] = (strlen($aSettings["Identifier"]) > 50) ? '' : $aSettings["Identifier"];
if ($aSettings["k".$i]["ElementType"] == "Text")
{
$aSettings["ElementHeight"] = 0;
$aSettings["k".$i]["ElementWidth"] = (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] < 0) ? 50 : $aSettings["k".$i]["ElementWidth"];
}
elseif (!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;
}
}
}
echo '<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td class="text" style="border-bottom: 1px solid silver;">'.mi18n("Modul activate:").'</td>
<td class="text" style="border-bottom: 1px solid silver;">
<select name="CMS_VAR[100]" size="1">
<option value="">'.mi18n("Please select").'</option>
<option value="on"'.$sShowModulSelectedOn.'>'.mi18n("active").'</option>
<option value="off"'.$sShowModulSelectedOff.'>'.mi18n("inactive").'</option>
</select>
</td>
</tr>'."\n";
/*###########################################*/
echo '<tr>
<td class="text" style="border-bottom: 1px solid silver;">'.mi18n("Primary Category:").'</td>
<td class="text" style="border-bottom: 1px solid silver;">'.fncBuildCategorySelect("CMS_VAR[5]", $aSettings["Category"], 0, "").'</td>
</tr>'."\n";
/*###########################################*/
echo '<tr>
<td class="text" style="vertical-align: top; border-bottom: 1px solid silver;">'.mi18n("Additional Categories:").'</td>
<td class="text" style="border-bottom: 1px solid silver;">'."\n";
$sCatTypeSelCheckedNone = ($aSettings["CatTypeSel"] == "none") ? ' checked="checked"' : '';
$sCatTypeSelCheckedBelow = ($aSettings["CatTypeSel"] == "below") ? ' checked="checked"' : '';
$sCatTypeSelCheckedSelected = ($aSettings["CatTypeSel"] == "select") ? ' checked="checked"' : '';
$sCatTypeSelSelectDisabled = ($aSettings["CatTypeSel"] == "select") ? '' : "disabled";
echo '<input type="radio" name="CMS_VAR[10]" value="none"'.$sCatTypeSelCheckedNone.' onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("None").' <input type="radio" name="CMS_VAR[10]" value="below"'.$sCatTypeSelCheckedBelow.' onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("All below primary").' <input type="radio" name="CMS_VAR[10]" value="select"'.$sCatTypeSelCheckedSelected.' onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = false;">'.mi18n("Selected").'<br>';
echo fncAddMultiSelJS().fncBuildCategorySelect("c".$cnumber."cbxAddCatSel", $aSettings["AddCats"], 0, "ArtAdv_fncUpdateSel('c".$cnumber."cbxAddCatSel', '"."CMS_VAR[11]"."');", "10", "multiple", false, 0, $sCatTypeSelSelectDisabled);
echo '<input type="hidden" name="CMS_VAR[11]" value="'.$aSettings["AddCats"].'">
</td>
</tr>'."\n";
/*###########################################*/
echo '<tr>
<td class="text" style="border-bottom: 1px solid silver;">'.mi18n("Article:").'</td>
<td class="text" style="border-bottom: 1px solid silver;">'.mi18n("Count (total):").' <input type="text" name="CMS_VAR[0]" value="'.$aSettings["ArticleCount"].'" size="3" title="'.mi18n("Set to 0 to show all articles").'"> '.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>
</tr>'."\n";
/*###########################################*/
$sSortByCheckedArticleID = ($aSettings["SortBy"] == "" || $aSettings["SortBy"] == "catart.idart") ? ' selected="selected"' : '';
$sSortByCheckedHeadline = ($aSettings["SortBy"] == "tblData.value") ? ' selected="selected"' : '';
$sSortByCheckedAddDate = ($aSettings["SortBy"] == "artlang.created") ? ' selected="selected"' : '';
$sSortByCheckedLastModifiedDate = ($aSettings["SortBy"] == "artlang.lastmodified") ? ' selected="selected"' : '';
$sSortByCheckedPublishedDate = ($aSettings["SortBy"] == "artlang.published") ? ' selected="selected"' : '';
$sSortByCheckedPageTitleBackend = ($aSettings["SortBy"] == "artlang.title") ? ' selected="selected"' : '';
$sSortByCheckedPageTitleFrontend = ($aSettings["SortBy"] == "artlang.pagetitle") ? ' selected="selected"' : '';
$sSortByCheckedSummary = ($aSettings["SortBy"] == "artlang.summary") ? ' selected="selected"' : '';
$sSortByCheckedSortNo = ($aSettings["SortBy"] == "artlang.artsort") ? ' selected="selected"' : '';
$sSortByCheckedRandom = ($aSettings["SortBy"] == "RAND()") ? ' selected="selected"' : '';
$sSortDirCheckedDESC = ($aSettings["SortDir"] == "DESC") ? ' checked="checked"' : '';
$sSortDirCheckedASC = ($aSettings["SortDir"] == "ASC") ? ' checked="checked"' : '';
echo '<tr>
<td class="text" style="border-bottom: 1px solid silver;">'.mi18n("Sort by").':</td>
<td class="text" style="border-bottom: 1px solid silver;">
<select name="CMS_VAR[2]">
<option value="catart.idart"'.$sSortByCheckedArticleID.'>'.mi18n("Article ID").'</option>
<option value="tblData.value"'.$sSortByCheckedHeadline.'>'.mi18n("Headline").'</option>
<option value="artlang.created"'.$sSortByCheckedAddDate.'>'.mi18n("Add Date").'</option>
<option value="artlang.lastmodified"'.$sSortByCheckedLastModifiedDate.'>'.mi18n("Last Modified Date").'</option>
<option value="artlang.published"'.$sSortByCheckedPublishedDate.'>'.mi18n("Published Date").'</option>
<option value="artlang.title"'.$sSortByCheckedPageTitleBackend.'>'.mi18n("Page Title (Backend)").'</option>
<option value="artlang.pagetitle"'.$sSortByCheckedPageTitleFrontend.'>'.mi18n("Page Title (Frontend)").'</option>
<option value="artlang.summary"'.$sSortByCheckedSummary.'>'.mi18n("Summary (Backend)").'</option>
<option value="artlang.artsort"'.$sSortByCheckedSortNo.'>'.mi18n("Sort No.").'</option>
<option value="RAND()"'.$sSortByCheckedRandom.'>'.mi18n("Random").'</option>
</select><br/>
<input type="radio" name="CMS_VAR[3]" value="ASC"'.$sSortDirCheckedASC.'>'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC"'.$sSortDirCheckedDESC.'>'.mi18n("Descending").'
</td>
</tr>'."\n";
/*###########################################*/
echo '<tr>
<td class="text" style="border-bottom: 1px solid silver;">'.mi18n("Start Article:").'</td>
<td class="text" style="border-bottom: 1px solid silver;">';
if ($aSettings["ShowStart"] != "enabled")
{
echo '<input type="checkbox" name="CMS_VAR[4]" value="enabled" onclick="if (document.getElementsByName(\'CMS_VAR[4]\')[0].checked == false) { document.getElementsByName(\'CMS_VAR[23]\')[0].disabled = true; } else { document.getElementsByName(\'CMS_VAR[23]\')[0].disabled = false; }">'.mi18n("Show");
$sShowOnlyStartDisabled = ' disabled="disabled"';
}
else
{
echo '<input type="checkbox" name="CMS_VAR[4]" value="enabled" onclick="if (document.getElementsByName(\'CMS_VAR[4]\')[0].checked == true) { document.getElementsByName(\'CMS_VAR[23]\')[0].disabled = false; } else { document.getElementsByName(\'CMS_VAR[23]\')[0].disabled = true; }" checked="checked">'.mi18n("Show");
$sShowOnlyStartDisabled = '';
}
if ($aSettings["ShowOnlyStart"] != "enabled")
echo ' <input type="checkbox" name="CMS_VAR[23]" value="enabled"'.$sShowOnlyStartDisabled.'>'.mi18n("Show only start article");
else
echo ' <input type="checkbox" name="CMS_VAR[23]" value="enabled" checked="checked">'.mi18n("Show only start article");
echo '</td>
</tr>'."\n";
/*###########################################*/
$sUseArtListHeadlineChecked = ($aSettings["UseArtListHeadline"] != "enabled") ? '' : ' checked="checked"';
echo '<tr>
<td class="text" style="border-bottom: 1px solid silver;">' . mi18n("Article list headline") . ':</td>
<td class="text" style="border-bottom: 1px solid silver;"><input type="text" name="CMS_VAR[31]" value="'.$aSettings["ArtListHeadline"].'" size="30" title="'.mi18n("Not used if field is empty.").'"></td>
</tr>'."\n";
/*###########################################*/
$sDateFormatDisabled = ("CMS_VALUE[14]" == '-1') ? ' disabled="disabled"' : '';
$s1 = ("CMS_VALUE[14]" == "d.m.y") ? ' selected="selected"' : '';
$s2 = ("CMS_VALUE[14]" == "d.m.Y") ? ' selected="selected"' : '';
$s3 = ("CMS_VALUE[14]" == "d.m.y H:i") ? ' selected="selected"' : '';
$s4 = ("CMS_VALUE[14]" == "d.m.Y H:i") ? ' selected="selected"' : '';
$s5 = ("CMS_VALUE[14]" == "F j, Y") ? ' selected="selected"' : '';
$s6 = ("CMS_VALUE[14]" == "M j, Y") ? ' selected="selected"' : '';
$s7 = ("CMS_VALUE[14]" == "j F Y") ? ' selected="selected"' : '';
$s8 = ("CMS_VALUE[14]" == "l, j F Y") ? ' selected="selected"' : '';
$s9 = ("CMS_VALUE[14]" == "D, j M Y") ? ' selected="selected"' : '';
$s10 = ("CMS_VALUE[13]" == "create" || "CMS_VALUE[13]" == '') ? ' checked="checked"' : '';
$s11 = ("CMS_VALUE[13]" == "publish") ? ' checked="checked"' : '';
$s15 = ("CMS_VALUE[24]" == "de_DE" || "CMS_VALUE[24]" == '') ? ' selected="selected"' : '';
$s16 = ("CMS_VALUE[24]" == "en_UK") ? ' selected="selected"' : '';
/*$s17 = ("CMS_VALUE[24]" == "fr_FR") ? ' selected="selected"' : '';
$s18 = ("CMS_VALUE[24]" == "es_ES") ? ' selected="selected"' : '';*/
$s19 = ("CMS_VALUE[24]" == "pt_PT") ? ' selected="selected"' : '';
/*$s20 = ("CMS_VALUE[24]" == "zh_CN") ? ' selected="selected"' : '';
$s21 = ("CMS_VALUE[24]" == "ru_RU") ? ' selected="selected"' : '';*/
echo '<tr>
<td class="text" style="vertical-align: top; border-bottom: 1px solid silver;">' . mi18n("Date") . ':</td>
<td style="border-bottom: 1px solid silver;">
<select name="CMS_VAR[14]" size="1" style="min-width: 200px;" onChange="if (document.getElementsByName(\'CMS_VAR[14]\')[0].selectedIndex != \'0\') { document.getElementsByName(\'CMS_VAR[13]\')[0].disabled = false; document.getElementsByName(\'CMS_VAR[13]\')[1].disabled = false; document.getElementsByName(\'CMS_VAR[24]\')[0].disabled = false; } else { document.getElementsByName(\'CMS_VAR[13]\')[0].disabled = true; document.getElementsByName(\'CMS_VAR[13]\')[1].disabled = true; document.getElementsByName(\'CMS_VAR[24]\')[0].disabled = true; }">
<option value="-1">' . mi18n("No date") . '</option>
<option' . $s1 . ' value="d.m.y">31.12.99</option>
<option' . $s2 . ' value="d.m.Y">31.12.1999</option>
<option' . $s3 . ' value="d.m.y H:i">31.12.99 13:30</option>
<option' . $s4 . ' value="d.m.Y H:i">31.12.1999 13:30</option>
<option' . $s5 . ' value="F j, Y">' . mi18n("December") . ' 12, 1999</option>
<option' . $s6 . ' value="M j, Y">' . mi18n("Dec") . ' 12, 1999</option>
<option' . $s7 . ' value="j F Y">31 ' . mi18n("December") . ' 1999</option>
<option' . $s8 . ' value="l, j F Y">' . mi18n("Friday") . ', 31 ' . mi18n("December") . ' 1999</option>
<option' . $s9 . ' value="D, j M Y">' . mi18n("Fri") . ', 31 ' . mi18n("Dec") . ' 1999</option>
</select><br/>
<input type="radio" name="CMS_VAR[13]" value="create"' . $s10 . $sDateFormatDisabled . '>' . mi18n("Add Date") . ' ' . mi18n("use") . '
<input type="radio" name="CMS_VAR[13]" value="publish"' . $s11 . $sDateFormatDisabled . '>' . mi18n("Published Date") . ' ' . mi18n("use") . '<br/><br/>' .
mi18n("Used language") . ': <select name="CMS_VAR[24]" size="1" style="min-width: 150px;"' . $sDateFormatDisabled . '>
<option' . $s15 . ' value="de_DE">' . mi18n("German") . '</option>
<option' . $s16 . ' value="en_UK">' . mi18n("English") . '</option>
<!--<option' . $s17 . ' value="fr_FR">' . mi18n("French") . '</option>
<option' . $s18 . ' value="es_ES">' . mi18n("Spanish") . '</option>-->
<option' . $s19 . ' value="pt_PT">' . mi18n("Portuguese") . '</option>
<!--<option' . $s20 . ' value="zh_CN">' . mi18n("Chinese") . '</option>
<option' . $s21 . ' value="ru_RU">' . mi18n("Russian") . '</option>-->
</select>
</td>
</tr>'."\n";
/*###########################################*/
$sUseAuthorChecked = ($aSettings["UseAuthor"] != "enabled") ? '' : ' checked="checked"';
echo '<tr>
<td class="text" style="border-bottom: 1px solid silver;">' . mi18n("Author") . ':</td>
<td class="text" style="border-bottom: 1px solid silver;"><input type="checkbox" name="CMS_VAR[29]" value="enabled"'.$sUseAuthorChecked.'> '.mi18n("Labeling").': <input type="text" name="CMS_VAR[30]" value="'.$aSettings["AuthorLabeling"].'" size="30"></td>
</tr>'."\n";
/*###########################################*/
echo '<tr>
<td class="text" style="border-bottom: 1px solid silver;">'.mi18n("Choose template").':</td>
<td class="text" style="border-bottom: 1px solid silver;">
<select name="CMS_VAR[15]" size="1">
<option value="">'.mi18n("Nothing selected").'</option>'."\n";
$strPath_fs = $cfgClient[$client]["path"]["frontend"].'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))
$optionFields .= ("CMS_VALUE[15]"==$val[0]) ? "\n\t".'<option selected="selected" value="'.$val[0].'">'.$val[1].'</option>' : "\n\t".'<option value="'.$val[0].'">'.$val[1].'</option>';
echo $optionFields . '</select>
</td>
</tr>';
/*###########################################*/
// Page browsing
$sPageBrowsingType01Checked = ($aSettings["PageBrowsingType01"] != "enabled") ? '' : ' checked="checked"';
$sPageBrowsingType02Checked = ($aSettings["PageBrowsingType02"] != "enabled") ? '' : ' checked="checked"';
$sPageBrowsingType03Checked = ($aSettings["PageBrowsingType03"] != "enabled") ? '' : ' checked="checked"';
$sPageBrowsingType04Checked = ($aSettings["PageBrowsingType04"] != "enabled") ? '' : ' checked="checked"';
$sPageBrowsingType05Checked = ($aSettings["PageBrowsingType05"] != "enabled") ? '' : ' checked="checked"';
// Enable UTF8 decoding
$sUseUTF8Checked = ($aSettings["UseUTF8"] != "enabled") ? '' : ' checked="checked"';
echo '<tr>
<td class="text">'.mi18n("Page browsing type:").'</td>
<td class="text"><input type="checkbox" name="CMS_VAR[16]" value="enabled"'.$sPageBrowsingType01Checked.'> '.mi18n("Back").' / '.mi18n("Next").'</td>
</tr>
<tr>
<td> </td>
<td class="text"><input type="checkbox" name="CMS_VAR[17]" value="enabled"'.$sPageBrowsingType02Checked.'> 1 2 3 4 5 6 7 ...</td>
</tr>
<tr>
<td> </td>
<td class="text"><input type="checkbox" name="CMS_VAR[18]" value="enabled"'.$sPageBrowsingType03Checked.'> '.mi18n("Page").' x '.mi18n("of").' y</td>
</tr>
<tr>
<td> </td>
<td class="text"><input type="checkbox" name="CMS_VAR[19]" value="enabled"'.$sPageBrowsingType04Checked.'> '.mi18n("First Page").' 1 ... 3 4 5 ... 8 '.mi18n("Last Page").'</td>
</tr>
<tr>
<td style="border-bottom: 1px solid silver;"> </td>
<td class="text" style="border-bottom: 1px solid silver;"><input type="checkbox" name="CMS_VAR[20]" value="enabled"'.$sPageBrowsingType05Checked.'> « ‹ 1 2 3 4 5 6 7 8 ... › » '.mi18n("Maximum").': <input type="text" name="CMS_VAR[25]" value="'.$aSettings["PageBrowsingType05MaxPages"].'" size="3" title="'.mi18n("Default 10 pages / Min. 3 pages").'"> '.mi18n("Pages").'</td>
</tr>
<tr style="border-bottom: 1px solid silver;">
<td class="text" style="border-bottom: 1px solid silver;">'.mi18n("Use UTF8 decoding:").'</td>
<td class="text" style="border-bottom: 1px solid silver;"><input type="checkbox" name="CMS_VAR[21]" value="enabled"'.$sUseUTF8Checked.'> '.mi18n("Yes").' ('.mi18n("Only required if the client do not use UTF8 coding!").')</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</table>';
/*###########################################*/
$sSampleCatDisabled = ($aSettings["SampleCat"] == 0) ? 'disabled' : '';
$sUseSummaryChecked = ($aSettings["UseSummary"] == 'enabled') ? 'checked="checked"' : '';
$sUsePageTitleChecked = ($aSettings["UsePageTitle"] == 'enabled') ? 'checked="checked"' : '';
$sBottomStyle = ($aSettings["Elements"] == 0) ? 'border-bottom: 1px solid #747488;' : ''; // Paint the table area closing line
echo '<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td colspan="2" class="textw_medium" style="background-color: #a9aec2; border: 1px solid #747488;">'.mi18n("Identify elements:").'</td>
</tr>
<tr>
<td class="text" style="border-left: 1px solid #747488;">'.mi18n("Sample Category:").'</td>
<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>
</tr>
<tr>
<td class="text" style="border-left: 1px solid #747488;">'.mi18n("Sample Article:").'</td>
<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;}", $sSampleCatDisabled).' '.$sSubmitLink.'</td>
</tr>
<tr>
<td class="text" style="border-left: 1px solid #747488;">'.mi18n("Headline Element:").'</td>
<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>
</tr>
<tr>
<td class="text" style="border-left: 1px solid #747488;">'.mi18n("Use summary:").'</td>
<td class="text" style="border-right: 1px solid #747488;"><input type="checkbox" name="CMS_VAR[22]" value="enabled"'.$sUseSummaryChecked.'> '.mi18n("Length (max.):").' <input type="text" name="'."CMS_VAR[26]".'" value="'.$aSettings["SummaryWidth"].'" size="3" title="'.mi18n("Set to 0 to show all").'"></td>
</tr>
<tr>
<td class="text" style="border-left: 1px solid #747488;">'.mi18n("Use page title:").'</td>
<td class="text" style="border-right: 1px solid #747488;"><input type="checkbox" name="CMS_VAR[27]" value="enabled"'.$sUsePageTitleChecked.'> '.mi18n("Length (max.):").' <input type="text" name="'."CMS_VAR[28]".'" value="'.$aSettings["PageTitleWidth"].'" size="3" title="'.mi18n("Set to 0 to show all").'"></td>
</tr>
<tr>
<td class="text" style="border-left: 1px solid #747488;border-bottom: 1px solid silver;'.$sBottomStyle.'">'.mi18n("Additional elements:").'</td>
<td class="text" style="border-right: 1px solid #747488;border-bottom: 1px solid silver;'.$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>
</tr>'."\n";
if ($aSettings["Elements"] > 0)
{
for ($i = 0; $i < $aSettings["Elements"]; $i++)
{
$iElementType = $iDataStart + ($i * 10);
echo "<!-- Durchlauf $i -->";
$iElementIdentifier = $iElementType + 1;
$iElementWidth = $iElementType + 2;
$iElementHeight = $iElementType + 3;
$iElementDontStripTags = $iElementType + 3;
$sElementTypeSelectedText = ($aSettings["k".$i]["ElementType"] == "Text") ? ' selected="selected"' : '';
$sElementTypeSelectedSummary = ($aSettings["k".$i]["ElementType"] == "Summary") ? ' selected="selected"' : '';
$sElementTypeSelectedAuthorName = ($aSettings["k".$i]["ElementType"] == "AuthorName") ? ' selected="selected"' : '';
$sElementTypeSelectedImage = ($aSettings["k".$i]["ElementType"] == "Image") ? ' selected="selected"' : '';
$sElementTypeSelectedExtractedImage = ($aSettings["k".$i]["ElementType"] == "ExtractedImage") ? ' selected="selected"' : '';
$sBottomStyle = ($i == ($aSettings["Elements"] - 1)) ? "border-bottom: 1px solid #747488;" : ""; // Paint the table area closing line
echo '<tr>
<td class="text" style="border-left: 1px solid #747488;padding-left: 20px;vertical-align: top;">'.sprintf(mi18n("%s. Element:"), $i + 1).'</td>
<td class="text" style="border-right: 1px solid #747488;">'.mi18n("Type:").'<br />
<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;}}"">
<option value="Text"'.$sElementTypeSelectedText.'>'.mi18n("Text").'</option>
<option value="Image"'.$sElementTypeSelectedImage.'>'.mi18n("Image").'</option>
<option value="ExtractedImage"'.$sElementTypeSelectedExtractedImage.'>'.mi18n("Image from text").'</option>
</select> '.$sSubmitLink.'
</td>
</tr>
<tr>'."\n";
switch ($aSettings["k".$i]["ElementType"]) {
case "Image":
echo '<td class="text" style="border-left: 1px solid #747488;border-bottom: 1px solid silver;'.$sBottomStyle.'padding-left: 20px;"> </td>
<td class="text" style="border-right: 1px solid #747488;border-bottom: 1px solid silver;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'4'").' '.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'"> '.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;border-bottom: 1px solid silver;'.$sBottomStyle.'padding-left: 20px;"> </td>
<td class="text" style="border-right: 1px solid #747488;border-bottom: 1px solid silver;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'1','2','3','9','17'").' '.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'"> '.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:
$bDontStripTags = ($aSettings["k".$i]["ElementDontStripTags"] == "yes") ? ' checked="checked"' : '';
echo '<td class="text" style="border-left: 1px solid #747488;border-bottom: 1px solid silver;'.$sBottomStyle.'padding-left: 20px;"> </td>
<td class="text" style="border-right: 1px solid #747488;border-bottom: 1px solid silver;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'1','2','3','9','17'").' '.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").'"><br/><input type="checkbox" name="'."CMS_VAR[$iElementDontStripTags]".'" value="yes"'.$bDontStripTags.' />'.mi18n("Do not strip tags in text (only possible if length is set to 0)").'</td>'."\n";
}
echo '</tr>'."\n";
}
}
echo '</table>'."\n";
?><?php
Code: Alles auswählen
<?php
// Initialization
$bDebug = false;
$iDataStart = 300;
$lCount = 0;
// Includes
cInclude("frontend", "includes/pagination/ps_pagination.php");
Re: Artikelliste Navigation + AMR Problem
Code: Alles auswählen
// Check php version
$sVersion = explode( '.', phpversion() );
$sVersion = (((int)$sVersion[0] == 5 && (int)$sVersion[1] >= 2) || (int)$sVersion[0] > 5) ? 'php>=5.2' : 'php<5.2';
if ($sVersion == 'php>=5.2') {
cInclude("frontend", "includes/class.datetimereplacelang.php");
}
elseif (!function_exists(formatDateToStrftime))
{
function formatDateToStrftime($sDate)
{
$aDate = array('d', 'm', 'y', 'H', 'i', 'F', 'j', 'Y', 'M', 'l', 'D');
$aStrftime = array('%d', '%m', '%y', '%H', '%M', '%B', '%e', '%Y', '%b', '%A', '%a');
return str_replace($aDate, $aStrftime, $sDate);
}
}
else
{
// do nothing
}
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]";
$aSettings["DateType"] = "CMS_VALUE[13]";
$aSettings["Date"] = "CMS_VALUE[14]";
$aSettings["Template"] = "CMS_VALUE[15]";
$aSettings["PageBrowsingType01"] = "CMS_VALUE[16]";
$aSettings["PageBrowsingType02"] = "CMS_VALUE[17]";
$aSettings["PageBrowsingType03"] = "CMS_VALUE[18]";
$aSettings["PageBrowsingType04"] = "CMS_VALUE[19]";
$aSettings["PageBrowsingType05"] = "CMS_VALUE[20]";
$aSettings["UseUTF8"] = "CMS_VALUE[21]";
$aSettings["UseSummary"] = "CMS_VALUE[22]";
$aSettings["ShowOnlyStart"] = "CMS_VALUE[23]";
$aSettings["DateLanguage"] = "CMS_VALUE[24]";
$aSettings["PageBrowsingType05MaxPages"] = "CMS_VALUE[25]";
$aSettings["SummaryWidth"] = "CMS_VALUE[26]";
$aSettings["UsePageTitle"] = "CMS_VALUE[27]";
$aSettings["PageTitleWidth"] = "CMS_VALUE[28]";
$aSettings["UseAuthor"] = "CMS_VALUE[29]";
$aSettings["AuthorLabeling"] = "CMS_VALUE[30]";
$aSettings["ArtListHeadline"] = "CMS_VALUE[31]";
$aSettings["ShowModul"] = "CMS_VALUE[100]";
$aSettings["CurrentPage"] = $_REQUEST["page"];
if ($aSettings["ShowModul"] == 'on')
{
// Checking base settings
$aSettings["ArticleCount"] = (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0) ? 5 : $aSettings["ArticleCount"];
$aSettings["ArticlePerPage"] = (!is_numeric($aSettings["ArticlePerPage"]) || $aSettings["ArticlePerPage"] < 0) ? 0 : $aSettings["ArticlePerPage"]; // Deactivating page browsing
$aSettings["CurrentPage"] = ($aSettings["ArticlePerPage"] == 0 || !is_numeric($aSettings["CurrentPage"]) || !isset($aSettings["CurrentPage"])) ? 0 : $aSettings["CurrentPage"];
$aSettings["CurrentPage"] = (isset($aSettings["CurrentPage"]) && $aSettings["CurrentPage"] != 0) ? $aSettings["CurrentPage"] - 1 : $aSettings["CurrentPage"];
$aSettings["Category"] = (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0) ? 0 : $aSettings["Category"];
$aSettings["HeadlineIdentifier"] = (strlen($aSettings["HeadlineIdentifier"]) > 50) ? '' : $aSettings["HeadlineIdentifier"];
$aSettings["HeadlineLength"] = (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0) ? 0 : $aSettings["HeadlineLength"];
$aSettings["Elements"] = (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0) ? 0 : $aSettings["Elements"];
$aSettings["CatTypeSel"] = ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "selected")) ? "none" : $aSettings["CatTypeSel"];
$aSettings["PageBrowsingType05MaxPages"] = (!is_numeric($aSettings["PageBrowsingType05MaxPages"]) || $aSettings["PageBrowsingType05MaxPages"] == '') ? 10 : $aSettings["PageBrowsingType05MaxPages"];
$aSettings["PageBrowsingType05MaxPages"] = ($aSettings["PageBrowsingType05MaxPages"] <= 3) ? 3 : $aSettings["PageBrowsingType05MaxPages"];
$aSettings["SummaryWidth"] = (!is_numeric($aSettings["SummaryWidth"]) || $aSettings["SummaryWidth"] < 0) ? 0 : $aSettings["SummaryWidth"];
$aSettings["PageTitleWidth"] = (!is_numeric($aSettings["PageTitleWidth"]) || $aSettings["PageTitleWidth"] < 0) ? 0 : $aSettings["PageTitleWidth"];
if ($aSettings["UseUTF8"] == "enabled")
{
if (!function_exists(html_entity_decode_utf8))
{
# Needed functions for UTF8 and PHP4 - Posted by "laurynas.butkus@gmail.com" at http://us2.php.net/manual/de/function.html-entity-decode.php
######
# In PHP4 html_entity_decode() is not working well with UTF-8 spitting: "Warning: cannot yet handle MBCS in html_entity_decode()!".
# This is working solution combining several workarounds:
######
function html_entity_decode_utf8($string)
{
static $trans_tbl;
// replace numeric entities
$string = preg_replace('~&#x([0-9a-f]+);~ei', 'code2utf(hexdec("\\1"))', $string);
$string = preg_replace('~&#([0-9]+);~e', 'code2utf(\\1)', $string);
// replace literal entities
if (!isset($trans_tbl))
{
$trans_tbl = array();
foreach (get_html_translation_table(HTML_ENTITIES) as $val=>$key)
$trans_tbl[$key] = utf8_encode($val);
}
return strtr($string, $trans_tbl);
}
}
if (!function_exists(code2utf))
{
// Returns the utf string corresponding to the unicode value (from php.net, courtesy - romans@void.lv)
function code2utf($num)
{
if ($num < 128) return chr($num);
if ($num < 2048) return chr(($num >> 6) + 192).chr(($num & 63) + 128);
if ($num < 65536) return chr(($num >> 12) + 224).chr((($num >> 6) & 63) + 128).chr(($num & 63) + 128);
if ($num < 2097152) return chr(($num >> 18) + 240).chr((($num >> 12) & 63) + 128).chr((($num >> 6) & 63) + 128).chr(($num & 63) + 128);
return '';
}
}
}
// Detail settings
if ($aSettings["Elements"] > 0)
{
for ($i = 0; $i < $aSettings["Elements"]; $i++)
{
$iElementType = $iDataStart + ($i * 10);
$iElementIdentifier = $iElementType + 1;
$iElementWidth = $iElementType + 2;
$iElementHeight = $iElementType + 3;
$iElementDontStripTags = $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]";
$aSettings["k".$i]["DontStripTags"] = ("CMS_VALUE[$iElementDontStripTags]" == 'yes' && $aSettings["k".$i]["ElementWidth"] == 0);
// 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;
}
}
elseif (!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"] = "";
}
} // end for
}
unset ($iDataStart);
unset ($iElementType);
unset ($iElementIdentifier);
unset ($iElementWidth);
unset ($iElementHeight);
unset ($iElementDontStripTags);
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");
elseif ($lCatLevel > -1 && $db2->f("level") > $lCatLevel)
$sSelCats .= ",'".$db2->f("idcat")."'";
elseif ($db2->f("level") <= $lCatLevel)
break;
} // end while
break;
case "select":
$aCats = explode(",", $aSettings["AddCats"]);
foreach ($aCats as $value)
if (is_numeric($value))
$sSelCats .= ",'".$value."'";
break;
default:
} // end switch
$sql = 'SELECT
tblData.value AS headline,
artlang.pagetitle AS pagetitle,
artlang.summary AS summary,
artlang.idart AS idart,
artlang.idart AS idartlang,
artlang.lastmodified AS lastmodified,
artlang.modifiedby AS autor,
artlang.created AS created,
artlang.published AS published,
artlang.idartlang AS idartlang,
catlang.name AS category,
catlang.startidartlang AS startid,
catart.is_start AS isstart,
catart.idcat AS idcat,
catart.idcatart AS idcatart
FROM
'.$cfg["tab"]["cat_art"].' AS catart,
'.$cfg["tab"]["art_lang"].' AS artlang,
'.$cfg["tab"]["cat_lang"].' AS catlang,
'.$cfg["tab"]["content"].' AS tblData
WHERE
catart.idcat IN ('.$sSelCats.') AND
artlang.idlang = '.$lang.' AND
tblData.idartlang = artlang.idartlang AND
catlang.idlang = artlang.idlang AND
catlang.idcat = catart.idcat AND
artlang.idart = catart.idart ';
if ($aSettings["ShowStart"] != "enabled")
$sql .= ($cfg["is_start_compatible"] == true) ? 'AND catart.is_start = 0 ' : 'AND tblData.idartlang != catlang.startidartlang ';
else
if ($aSettings["ShowOnlyStart"] == "enabled")
$sql .= ($cfg["is_start_compatible"] == true) ? 'AND catart.is_start = 1 ' : 'AND tblData.idartlang = catlang.startidartlang ';
$sql .= 'AND artlang.online = 1 ';
$sql .= 'AND '.$aSettings["HeadlineIdentifier"].' ';
// Sort by
$sql .= 'ORDER BY '.$aSettings["SortBy"].' '.$aSettings["SortDir"].' ';
// LIMIT
if ($aSettings["ArticleCount"] > 0) $sql .= 'LIMIT 0, '.$aSettings["ArticleCount"];
if ($aSettings["ArticlePerPage"] > 0) $sql_pagination = $sql;
// 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 (!is_object($db5)) $db5 = new DB_Contenido;
if ($aSettings["ArticlePerPage"] > 0)
{
$lStartCount = $aSettings["CurrentPage"] * $aSettings["ArticlePerPage"];
$lEndCount = ($aSettings["CurrentPage"] * $aSettings["ArticlePerPage"]) + $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"));
$sParams = ($db2->f("startid") == $db2->f("idartlang") || $db2->f("isstart")) ? 'idcat='.$db2->f("idcat") : 'idcat='.$db2->f("idcat")."&idart=".$db2->f("idart");
$aData[$i]["Link"] = $sess->url("front_content.php?".$sParams);
$aData[$i]["LastModified"] = $db2->f("lastmodified");
$aData[$i]["Autor"] = $db2->f("autor");
$aData[$i]["Created"] = $db2->f("created");
$aData[$i]["Published"] = $db2->f("published");
// Generate pagetitle
$sTmpValue = html_entity_decode(strip_tags(urldecode($db2->f('pagetitle'))));
if ($aSettings["PageTitleWidth"] > 0 && strlen($sTmpValue) > $aSettings["PageTitleWidth"] && $aSettings["UsePageTitle"] == 'enabled')
{
// Cutting text but preserving words and entities
$sTmpValue = capiStrTrimAfterWord($sTmpValue, $aSettings["PageTitleWidth"])."...";
}
elseif ($aSettings["UsePageTitle"] == 'enabled')
{
$sTmpValue = $sTmpValue;
}
else
{
$sTmpValue = '';
}
$aData[$i]["PageTitle"] = $sTmpValue;
// Generate headline
$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;
// Generate Summary
$sTmpValue = html_entity_decode(strip_tags(urldecode($db2->f('summary'))));
if ($aSettings["SummaryWidth"] > 0 && strlen($sTmpValue) > $aSettings["SummaryWidth"] && $aSettings["UseSummary"] == 'enabled')
{
// Cutting text but preserving words and entities
$sTmpValue = capiStrTrimAfterWord($sTmpValue, $aSettings["SummaryWidth"])."...";
}
elseif ($aSettings["UseSummary"] == 'enabled')
{
$sTmpValue = $sTmpValue;
}
else
{
$sTmpValue = '';
}
$aData[$i]["Summary"] = $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;
} // end for
$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"] != "" && $aSettings["k".$k]["Identifier"] != "none")
{
if ($sql_items != "")
{
$sql_items .= " OR (".$aSettings["k".$k]["Identifier"].")";
}
else
{
$sql_items = "(".$aSettings["k".$k]["Identifier"].")";
}
}
} // end for
$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"]."
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"]."
WHERE
LOWER(filename) = '$name'";
}
}
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:
if ($aSettings["UseUTF8"] != "enabled")
{
$sTmpValue = ($aSettings["k".$k]["DontStripTags"]) ? urldecode($db3->f('value')) : strip_tags(urldecode($db3->f('value')));
}
else
{
$sTmpValue = ($aSettings["k".$k]["DontStripTags"]) ? html_entity_decode_utf8(urldecode($db3->f('value'))) : html_entity_decode_utf8(strip_tags(urldecode($db3->f('value')), '<h1>, <p>, <img>, <strong>, <b>, <a>, <font>'));
}
if ($aSettings["k".$k]["ElementWidth"] > 0 && strlen($sTmpValue) > $aSettings["k".$k]["ElementWidth"])
{
// Cutting text but preserving words and entities
$sTmpValue = capiStrTrimAfterWord($sTmpValue, $aSettings["k".$k]["ElementWidth"])."...";
}
$aData[$i]["i".$k]["Value"] = $sTmpValue;
} // end switch
} // end if ($sTypeIdentifier == $aSettings["k".$k]["Identifier"])
} // end for
} // end while
}
$i++;
}
elseif ($lRow == $lEndCount)
{
break;
}
$lRow++;
}
} // end while
// 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
# $aSettings["k".$i]["DontStripTags"] Per Element: Strip tags or not
#
# 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["Autor"]: Autor name
# $aValue["Pagetitle"]: Pagetitle
# $aValue["Summary"]: Summary
#
# 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();
if ($aSettings["ArtListHeadline"] != '')
$tpl->set('s', 'TITLE', $aSettings["ArtListHeadline"]);
else
$tpl->set('s', 'TITLE', '');
foreach ($aData as $aValue)
{
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"];
}
}
$artlist_image = ($image != "") ? '<img class="articlelistImage" src="'.$image.'" width="'.$width.'" height="'.$height.'" alt="'.mi18n("Article Thumb").'" />' : '';
$tpl->set('d', 'IMG_'.$i, $artlist_image);
break;
default: // Everything else is treated as "Text"
$artlist_text = $aValue["i".$i]["Value"];
$tpl->set('d', 'TEXT_'.$i, $artlist_text);
} // end switch
} // end for
}
// Generate date if enabled
if($aSettings["Date"] != "-1")
{
if ($sVersion == 'php>=5.2')
{
if ($aSettings["DateLanguage"] != 'en_UK')
{
$oDate = ($aSettings["DateType"] == "create") ? new DateTimeReplaceLang($aValue["Created"]) : new DateTimeReplaceLang($aValue["Published"]);
$artlist_lastmod = $oDate->format($aSettings["Date"], $aSettings["DateLanguage"]);
}
else
{
$oDate = ($aSettings["DateType"] == "create") ? new DateTime($aValue["Created"]) : new DateTime($aValue["Published"]);
$artlist_lastmod = $oDate->format($aSettings["Date"]);
}
}
else
{
setlocale(LC_TIME, $aSettings["DateLanguage"]);
$tmp_artlist_Date = ($aSettings["DateType"] == "create") ? strtotime($aValue["Created"]) : strtotime($aValue["Published"]);
$artlist_lastmod = strftime(formatDateToStrftime($aSettings["Date"]), $tmp_artlist_Date);
}
}
else
{
$artlist_lastmod = "";
}
// Search author if enabled
if($aSettings["UseAuthor"] == 'enabled')
{
$sql = 'SELECT
realname AS name
FROM
'.$cfg["tab"]["phplib_auth_user_md5"].'
WHERE
username = "'.$aValue["Autor"].'"';
// execute query
$db5->query($sql);
if ($bDebug) { echo "<pre>".$sql."</pre>", chr(10); }
$db5->next_record();
$sAuthor = strip_tags(urldecode($db5->f('name')));
}
else
{
$sAuthor = '';
}
$artlist_more = mi18n("More");
// Generate template
$tpl->set('d', 'PAGELINK', $aValue["Link"]);
$tpl->set('d', 'PAGETITLE', $aValue["PageTitle"]);
$tpl->set('d', 'DATE', $artlist_lastmod);
$tpl->set('d', 'HEADLINE', $aValue["Headline"]);
$tpl->set('d', 'LABELING', $aSettings["AuthorLabeling"]);
$tpl->set('d', 'AUTHOR', $sAuthor);
$tpl->set('d', 'SUMMARY', $aValue["Summary"]);
$tpl->set('d', 'MORE', $artlist_more);
$tpl->next();
} // end foreach
}
# Page browsing
# Hint: Number of max available records: $lCount
# Number of pages: ceil($lCount / $aSettings["ArticlePerPage"])
# First page: page=1;
# Last page: page=ceil($lCount / $aSettings["ArticlePerPage"]);
if ($aSettings["ArticlePerPage"] > 0)
{
$iPages = ceil($lCount / $aSettings["ArticlePerPage"]);
// Example: Back and Next
$sPageBrowsingType01 = '';
if ($aSettings["PageBrowsingType01"] == "enabled")
{
if ($iPages > 1 && ($_REQUEST['page'] + 1) > 1)
{
$sPageBrowsingType01 .= '<div class="articlelistBack">';
$sPageBrowsingType01 .= '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.($aSettings["CurrentPage"]).'">'.mi18n("Back").'</a>';
$sPageBrowsingType01 .= '</div>';
}
else
{
$sPageBrowsingType01 .= '<div class="articlelistBack">';
$sPageBrowsingType01 .= mi18n("Back");
$sPageBrowsingType01 .= '</div>';
}
if ($iPages > 1 && ($_REQUEST['page'] + 1) < $iPages)
{
$sPageBrowsingType01 .= '<div class="articlelistNext">';
$sPageBrowsingType01 .= '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.($aSettings["CurrentPage"] + 2).'">'.mi18n("Next").'</a>';
$sPageBrowsingType01 .= '</div>';
}
else
{
$sPageBrowsingType01 .= '<div class="articlelistNext">';
$sPageBrowsingType01 .= mi18n("Next");
$sPageBrowsingType01 .= '</div>';
}
}
// Example: 1 2 3 4 5 6 7 ...
$sPageBrowsingType02 = '';
if ($aSettings["PageBrowsingType02"] == "enabled")
{
for ($i = 1; $i <= $iPages; $i++)
{
if ($sPageBrowsingType02 != '')
$sPageBrowsingType02 .= ' ';
$sPageBrowsingType02 .= (($aSettings["CurrentPage"] + 1) == $i) ? $i : '<a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$i.'">'.$i.'</a>';
}
}
// Example: Seite 1 von 7
$sPageBrowsingType03 = '';
if ($aSettings["PageBrowsingType03"] == "enabled")
$sPageBrowsingType03 .= mi18n("Page").' '.($aSettings["CurrentPage"] + 1).' '.mi18n("of").' '.$iPages; // I'm on the current page, no link
// Example: Erste Seite 1 ... 3 4 5 ... 8 Letzte Seite
$sPageBrowsingType04 = '';
if ($aSettings["PageBrowsingType04"] == "enabled")
{
$sPageBrowsingType04 .= '<a class="articlelistBegin" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page=1">'.mi18n("Begin").'</a>';
for ($i = 1; $i <= $iPages; $i++)
{
if ($i == 1 || $i == $iPages)
{
if ($sPageBrowsingType04 != '')
$sPageBrowsingType04 .= ' ';
$sPageBrowsingType04 .= (($aSettings["CurrentPage"] + 1) == $i) ? $i : '<a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$i.'">'.$i.'</a>';
}
elseif (($aSettings["CurrentPage"] + 1) == $i)
{
$sPageBrowsingType04 .= ' '.$i; // I'm on the current page, no link
}
elseif (($aSettings["CurrentPage"] + 1) == ($i + 1))
{
// Front
$sPageBrowsingType04 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$i.'">'.$i.'</a>';
}
elseif (($aSettings["CurrentPage"] + 1) == ($i - 1))
{
// Back
$sPageBrowsingType04 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$i.'">'.$i.'</a>';
}
elseif (($aSettings["CurrentPage"] + 1) == ($i - 2) || ($aSettings["CurrentPage"] + 1) == ($i + 2))
{
$sPageBrowsingType04 .= ' ...';
}
}
$sPageBrowsingType04 .= ' <a class="articlelistEnd" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$lCount.'">'.mi18n("End").'</a>';
}
// Example: << < 1 ... 3 4 5 ... 8 > >>
// First Page
$sPageBrowsingType05 = '';
if ($aSettings["PageBrowsingType05"] == "enabled")
{
if (!is_object($db)) $db = new DB_Contenido;
$sql = $sql_pagination;
/*
* Create a PS_Pagination object
*
* $conn = MySQL connection object
* $sql = SQl Query to paginate
* $aSettings["ArticlePerPage"] = Number of rows per page
* $aSettings["PageBrowsingType05MaxPages"] = Number of links
* "param1=valu1¶m2=value2" = You can append your own parameters to paginations links
*/
$pager = new PS_Pagination($db, $sql, $aSettings["ArticlePerPage"], $aSettings["PageBrowsingType05MaxPages"], "idart=".$idart);
/*
* Enable debugging if you want o view query errors
*/
$pager->setDebug(true);
// Init pagination
$pager->paginate();
// Display the full navigation in one go
$sDotsBefore = '';
$sDotsAfter = '';
if ($iPages > $aSettings["PageBrowsingType05MaxPages"] && ($aSettings["CurrentPage"] + 1) > $aSettings["PageBrowsingType05MaxPages"])
$sDotsBefore .= ' ...';
if ($iPages > $aSettings["PageBrowsingType05MaxPages"] && ($aSettings["CurrentPage"] + 1) <= $aSettings["PageBrowsingType05MaxPages"])
$sDotsAfter .= '... ';
$sPageBrowsingType05 .= $pager->renderFirst('«').$pager->renderPrev('‹').$sDotsBefore.$pager->renderNav('','').$sDotsAfter.$pager->renderNext('›').$pager->renderLast('»');
}
}
$tpl->set('s', 'PAGEBROWSINGTYPE01', $sPageBrowsingType01);
$tpl->set('s', 'PAGEBROWSINGTYPE02', $sPageBrowsingType02);
$tpl->set('s', 'PAGEBROWSINGTYPE03', $sPageBrowsingType03);
$tpl->set('s', 'PAGEBROWSINGTYPE04', $sPageBrowsingType04);
$tpl->set('s', 'PAGEBROWSINGTYPE05', $sPageBrowsingType05);
$tpl->generate($aSettings["Template"]);
}
// Clearing memory
unset ($aData);
unset ($aSettings);
unset ($i);
unset ($lCount);
unset ($bDebug);
unset ($db5);
}
else
{
// do nothing
}
?>
Code: Alles auswählen
<center><div class="articlelistPagecounter">{PAGEBROWSINGTYPE05}</div></center>
<!-- BEGIN:BLOCK -->
<div class="contentBoxAL">
<div class="articlelistItem">
<h3 class="articlelistHeadline"><a href="{PAGELINK}" title="{HEADLINE}">{HEADLINE}</a></h3>
<div class="articlelistText">
{TEXT_0}
</div>
<div class="moreLink">
<a href="{PAGELINK}" title="Mehr zum Thema '{HEADLINE}' lesen">
<div class="arrowArticlelist"></div>
<div class="MoreArticlelist">mehr lesen...</div>
</a>
</div>
</div>
</div>
<!-- END:BLOCK -->
<center><div class="articlelistPagecounter">{PAGEBROWSINGTYPE05}</div></center>
Code: Alles auswählen
<?php
/**
* PHPSense Pagination Class
*
* PHP tutorials and scripts
*
* @package PHPSense
* @author Jatinder Singh Thind
* @copyright Copyright (c) 2006, Jatinder Singh Thind
* @link http://www.phpsense.com
* @modified Tiago Gomes 2010-11-04 (Adaptation to Contenido)
*/
// ------------------------------------------------------------------------
if(!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
class PS_Pagination {
var $php_self;
var $rows_per_page = 10; //Number of records to display per page
var $total_rows = 0; //Total number of rows returned by the query
var $links_per_page = 5; //Number of links to display per page
var $append = ""; //Paremeters to append to pagination links
var $sql = "";
var $debug = false;
var $conn = false;
var $page = 1;
var $max_pages = 0;
var $offset = 0;
/**
* Constructor
*
* @param resource $connection Mysql connection link
* @param string $sql SQL query to paginate. Example : SELECT * FROM users
* @param integer $rows_per_page Number of records to display per page. Defaults to 10
* @param integer $links_per_page Number of links to display per page. Defaults to 5
* @param string $append Parameters to be appended to pagination links
*/
function PS_Pagination($connection, $sql, $rows_per_page = 10, $links_per_page = 5, $append = "") {
$this->conn = $connection;
$this->sql = $sql;
$this->rows_per_page = (int)$rows_per_page;
if (intval($links_per_page ) > 0) {
$this->links_per_page = (int)$links_per_page;
} else {
$this->links_per_page = 5;
}
$this->append = $append;
$this->php_self = htmlspecialchars($_SERVER['PHP_SELF'] );
if (isset($_GET['page'] )) {
$this->page = intval($_GET['page'] );
}
}
/**
* Executes the SQL query and initializes internal variables
*
* @access public
* @return resource
*/
function paginate() {
//Check for valid mysql connection
/*if (! $this->conn || ! is_resource($this->conn )) {
if ($this->debug)
echo "MySQL connection missing<br />";
return false;
}*/ // Anpassung an Contenido DB Objekt
//Find total number of rows
//$all_rs = @mysql_query($this->sql );
$all_rs = $this->conn->query($this->sql); // Anpassung an Contenido DB Objekt
if (!$all_rs) {
if ($this->debug)
echo "SQL query failed. Check your query.<br /><br />Error Returned: " . mysql_error();
return false;
}
$this->total_rows = mysql_num_rows($all_rs);
@mysql_close($all_rs);
//Return FALSE if no rows found
if ($this->total_rows == 0) {
if ($this->debug)
echo "Query returned zero rows.";
return FALSE;
}
//Max number of pages
$this->max_pages = ceil($this->total_rows / $this->rows_per_page );
if ($this->links_per_page > $this->max_pages) {
$this->links_per_page = $this->max_pages;
}
//Check the page value just in case someone is trying to input an aribitrary value
if ($this->page > $this->max_pages || $this->page <= 0) {
$this->page = 1;
}
//Calculate Offset
$this->offset = $this->rows_per_page * ($this->page - 1);
//Fetch the required result set
$rs = @mysql_query($this->sql . " LIMIT {$this->offset}, {$this->rows_per_page}" );
if (! $rs) {
if ($this->debug)
echo "Pagination query failed. Check your query.<br /><br />Error Returned: " . mysql_error();
return false;
}
return $rs;
}
/**
* Display the link to the first page
*
* @access public
* @param string $tag Text string to be displayed as the link. Defaults to 'First'
* @return string
*/
function renderFirst($tag = 'First') {
if ($this->total_rows == 0)
return FALSE;
if ($this->page == 1) {
return "$tag ";
} else {
return '<a class="pagFirst" href="' . $this->php_self . '?page=1&' . $this->append . '">' . $tag . '</a> ';
}
}
/**
* Display the link to the last page
*
* @access public
* @param string $tag Text string to be displayed as the link. Defaults to 'Last'
* @return string
*/
function renderLast($tag = 'Last') {
if ($this->total_rows == 0)
return FALSE;
if ($this->page == $this->max_pages) {
return $tag;
} else {
return ' <a class="pagLast" href="' . $this->php_self . '?page=' . $this->max_pages . '&' . $this->append . '">' . $tag . '</a>';
}
}
/**
* Display the next link
*
* @access public
* @param string $tag Text string to be displayed as the link. Defaults to '>>'
* @return string
*/
function renderNext($tag = '>>') {
if ($this->total_rows == 0)
return FALSE;
if ($this->page < $this->max_pages) {
return '<a class="pagNext" href="' . $this->php_self . '?page=' . ($this->page + 1) . '&' . $this->append . '">' . $tag . '</a> '; // Leerzeichen hinzugefügt
} else {
return $tag . ' '; // Leerzeichen hinzugefügt
}
}
/**
* Display the previous link
*
* @access public
* @param string $tag Text string to be displayed as the link. Defaults to '<<'
* @return string
*/
function renderPrev($tag = '<<') {
if ($this->total_rows == 0)
return FALSE;
if ($this->page > 1) {
return ' <a class="pagPrev" href="' . $this->php_self . '?page=' . ($this->page - 1) . '&' . $this->append . '">' . $tag . '</a>';
} else {
return ' ' . $tag;
}
}
Re: Artikelliste Navigation + AMR Problem
Code: Alles auswählen
/**
* Display the page links
*
* @access public
* @return string
*/
function renderNav($prefix = '<span class="pagLink">', $suffix = '</span>') {
if ($this->total_rows == 0)
return FALSE;
$batch = ceil($this->page / $this->links_per_page );
$end = $batch * $this->links_per_page;
if ($end == $this->page) {
//$end = $end + $this->links_per_page - 1;
//$end = $end + ceil($this->links_per_page/2);
}
if ($end > $this->max_pages) {
$end = $this->max_pages;
}
$start = $end - $this->links_per_page + 1;
$links = '';
for($i = $start; $i <= $end; $i ++) {
if ($i == $start) // Verhindern von doppelten Lehrzeichen
$links .= ' ';
if ($i == $this->page) {
$links .= $prefix . '<span class="pagLinkActive">'.$i.'</span>' . $suffix;
} else {
$links .= $prefix . '<a class="pagLink" href="' . $this->php_self . '?page=' . $i . '&' . $this->append . '">' . $i . '</a>' . $suffix;
}
$links .= ' '; // Verhindern von doppelten Lehrzeichen
}
return $links;
}
/**
* Display full pagination navigation
*
* @access public
* @return string
*/
function renderFullNav() {
return $this->renderFirst() . ' ' . $this->renderPrev() . ' ' . $this->renderNav() . ' ' . $this->renderNext() . ' ' . $this->renderLast();
}
/**
* Set debug mode
*
* @access public
* @param bool $debug Set to TRUE to enable debug messages
* @return void
*/
function setDebug($debug) {
$this->debug = $debug;
}
}
?>
Code: Alles auswählen
<?php
/**
* Project:
* Contenido Content Management System
*
* Description:
* Class for Article list advanced modul
*
* Requirements:
* @con_php_req 5.2
*
*
* @package Contenido Frontend classes
* @version 1.0.0
* @author Tiago Gomes
* @copyright Tiago Gomes <www.tiago.de>
* @license
* @link http://www.tiago.de
* @link http://forum.contenido.org/viewtopic.php?p=134520#p134520
* @since file available since contenido release 4.8.12
* @deprecated
* @class DateTimeReplaceLang
* @brief
* @file class.datetimereplacelang.php
* @date 2010-08-20
*
* {@internal
* created 2010
* modified xxxx-xx-xx, [Modifier Name], [Description]
* ...
*
* }}
*
*/
if(!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
class DateTimeReplaceLang extends DateTime {
public function format($format, $replace = 'de_DE') {
$aEnglish = array(
'Monday', 'Mon',
'Tuesday', 'Tue',
'Wednesday', 'Wed',
'Thursday', 'Thu',
'Friday', 'Fri',
'Saturday', 'Sat',
'Sunday', 'Sun',
'January', 'Jan',
'February', 'Feb',
'March', 'Mar',
'April', 'Apr',
'May', 'May',
'June', 'Jun',
'July', 'Jul',
'August', 'Aug',
'September', 'Sep',
'October', 'Oct',
'November', 'Nov',
'December', 'Dec');
switch ($replace) {
case 'pt_PT':
$aReplace = array(
'Segundafeira', '2<sup>a</sup>feira',
'Terçafeira', '3<sup>a</sup>feira',
'Quartafeira', '4<sup>a</sup>feira',
'Quintafeira', '5<sup>a</sup>feira',
'Sextafeira', '6<sup>a</sup>feira',
'Sábado', 'Sábado',
'Domingo', 'Domingo',
'Janeiro', 'Janeiro',
'Fevereiro', 'Fevereiro',
'Março', 'Março',
'Abril', 'Abril',
'Maio', 'Maio',
'Junho', 'Junho',
'Julho', 'Julho',
'Agosto', 'Agosto',
'Setembro', 'Setembro',
'Outubro', 'Outubro',
'Novembro', 'Novembro',
'Dezembro', 'Dezembro',);
break;
default:
$aReplace = array(
'Montag', 'Mo',
'Dienstag', 'Di',
'Mittwoch', 'Mi',
'Donnerstag', 'Do',
'Freitag', 'Fr',
'Samstag', 'Sa',
'Sonntag', 'So',
'Januar', 'Jan.',
'Februar', 'Feb.',
'März', 'Mär.',
'April', 'Apr.',
'Mai', 'Mai.',
'Juni', 'Jun.',
'Juli', 'Jul.',
'August', 'Aug.',
'September', 'Sep.',
'Oktober', 'Okt.',
'November', 'Nov.',
'Dezember', 'Dez.',);
break;
}
return str_replace($aEnglish, $aReplace, parent::format($format));
}
}
?>
Vielen, vielen Dank für deine Hilfe
VG
CA
PS: habe die Codes auf mehrere Seiten gesplittet
Re: Artikelliste Navigation + AMR Problem
Ändere den Konstruktor in der ps_pagination.php, erweitere es um den Parameter $self_url.
Dann sorge dafür, dass die Klasse PS_Pagination mit dem neuen Parameter instanziiert wird, z. B. in der Artikelliste
Code: Alles auswählen
function PS_Pagination($connection, $sql, $rows_per_page = 10, $links_per_page = 5, $append = "", $self_url = "") {
$this->conn = $connection;
$this->sql = $sql;
$this->rows_per_page = (int)$rows_per_page;
if (intval($links_per_page ) > 0) {
$this->links_per_page = (int)$links_per_page;
} else {
$this->links_per_page = 5;
}
$this->append = $append;
$this->php_self = (!empty($self_url)) ? $self_url : htmlspecialchars($_SERVER['PHP_SELF']);
if (isset($_GET['page'] )) {
$this->page = intval($_GET['page'] );
}
}
Code: Alles auswählen
$pager = new PS_Pagination($db, $sql, $aSettings["ArticlePerPage"], $aSettings["PageBrowsingType05MaxPages"], "idart=".$idart, 'front_content.php');
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Artikelliste Navigation + AMR Problem
BINGO!
Danke
funktioniert alles wunderbar
Kann man dir nen Kaffee spendieren
vg
ca
Danke
funktioniert alles wunderbar
Kann man dir nen Kaffee spendieren
vg
ca
Re: Artikelliste Navigation + AMR Problem
Gern geschehen
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.