Artikelliste Navigation + AMR Problem

Gesperrt
contenidoAmateur

Artikelliste Navigation + AMR Problem

Beitrag von contenidoAmateur » Sa 13. Jul 2013, 20:47

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

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Artikelliste Navigation + AMR Problem

Beitrag von xmurrix » Do 25. Jul 2013, 11:59

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
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.

contenidoAmateur

Re: Artikelliste Navigation + AMR Problem

Beitrag von contenidoAmateur » Do 25. Jul 2013, 13:43

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

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Artikelliste Navigation + AMR Problem

Beitrag von xmurrix » Do 25. Jul 2013, 21:08

contenidoAmateur hat geschrieben:...Leider nicht ich habe diese Art der Navigation das erste mal eingebunden und funzt wie gesagt irgendwie nicht...
Falls es die Navigation auf der Tutorialsseite ist, dort konnte ich kein Problem erkennen.

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.

contenidoAmateur

Re: Artikelliste Navigation + AMR Problem

Beitrag von contenidoAmateur » Do 25. Jul 2013, 22:13

Nein, dort ist alles i.O ;)

Geht um ein anderes Projekt, nur das gebe ich leider auch nichts heraus :P

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

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Artikelliste Navigation + AMR Problem

Beitrag von xmurrix » Do 25. Jul 2013, 22:39

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?...
Dann wird entweder die URL nicht erkannt, weil es vielleicht eine Absolute URL inkl. Protokoll + Domain ist, oder das Format der URL ist anders.

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.

contenidoAmateur

Re: Artikelliste Navigation + AMR Problem

Beitrag von contenidoAmateur » Fr 26. Jul 2013, 08:04

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) :oops:

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&param2=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('&laquo;').$pager->renderPrev('&lsaquo;').$sDotsBefore.$pager->renderNav('','').$sDotsAfter.$pager->renderNext('&rsaquo;').$pager->renderLast('&raquo;');
            }
Code der Navigation Typ 04:

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 .= '&nbsp;';
                        
                        $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 .= '&nbsp;'.$i; // I'm on the current page, no link
                    }
                    elseif (($aSettings["CurrentPage"] + 1) == ($i + 1))
                    {
                        // Front
                        $sPageBrowsingType04 .= '&nbsp;<a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$i.'">'.$i.'</a>';
                    }
                    elseif (($aSettings["CurrentPage"] + 1) == ($i - 1))
                    {
                        // Back
                        $sPageBrowsingType04 .= '&nbsp;<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 .= '&nbsp;...';
                    }
                }
                $sPageBrowsingType04 .= '&nbsp;<a class="articlelistEnd" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$lCount.'">'.mi18n("End").'</a>';
            }
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 :roll: ).

Magst du mir kurz helfen? :)

DANKE :)

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Artikelliste Navigation + AMR Problem

Beitrag von xmurrix » Fr 26. Jul 2013, 08:51

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
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.

contenidoAmateur

Re: Artikelliste Navigation + AMR Problem

Beitrag von contenidoAmateur » Fr 26. Jul 2013, 09:02

Hi,

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").'&nbsp;<input type="radio" name="CMS_VAR[10]" value="below"'.$sCatTypeSelCheckedBelow.' onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("All below primary").'&nbsp;<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):").'&nbsp;<input type="text" name="CMS_VAR[0]" value="'.$aSettings["ArticleCount"].'" size="3" title="'.mi18n("Set to 0 to show all articles").'">&nbsp;'.mi18n("Per Page:").'&nbsp;<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").'&nbsp;<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 '&nbsp;<input type="checkbox" name="CMS_VAR[23]" value="enabled"'.$sShowOnlyStartDisabled.'>'.mi18n("Show only start article");
    else
        echo '&nbsp;<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") . '&nbsp;
            <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.'>&nbsp;&nbsp;&nbsp;&nbsp;'.mi18n("Labeling").':&nbsp;<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>&nbsp;</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>&nbsp;</td>
        <td class="text"><input type="checkbox" name="CMS_VAR[18]" value="enabled"'.$sPageBrowsingType03Checked.'> '.mi18n("Page").' x '.mi18n("of").' y</td>
    </tr>
    <tr>
        <td>&nbsp;</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;">&nbsp;</td>
        <td class="text" style="border-bottom: 1px solid silver;"><input type="checkbox" name="CMS_VAR[20]" value="enabled"'.$sPageBrowsingType05Checked.'> &laquo; &lsaquo; 1 2 3 4 5 6 7 8 ... &rsaquo; &raquo;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.mi18n("Maximum").':&nbsp;<input type="text" name="CMS_VAR[25]" value="'.$aSettings["PageBrowsingType05MaxPages"].'" size="3" title="'.mi18n("Default 10 pages / Min. 3 pages").'">&nbsp;'.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">&nbsp;</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;}").'&nbsp'.$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).'&nbsp'.$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.'>&nbsp;&nbsp;&nbsp;'.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.'>&nbsp;&nbsp;&nbsp;'.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").'">&nbsp'.$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>&nbsp'.$sSubmitLink.'&nbsp;
        </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;">&nbsp;</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'").'&nbsp;'.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">&nbsp;'.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;">&nbsp;</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'").'&nbsp;'.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">&nbsp;'.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;">&nbsp;</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'").'&nbsp;'.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
Artikelliste Output:

Code: Alles auswählen

<?php
// Initialization
$bDebug     = false;
$iDataStart = 300;
$lCount     = 0;

// Includes
cInclude("frontend", "includes/pagination/ps_pagination.php");

contenidoAmateur

Re: Artikelliste Navigation + AMR Problem

Beitrag von contenidoAmateur » Fr 26. Jul 2013, 09:15

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 .= '&nbsp;';
                    
                    $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 .= '&nbsp;';
                        
                        $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 .= '&nbsp;'.$i; // I'm on the current page, no link
                    }
                    elseif (($aSettings["CurrentPage"] + 1) == ($i + 1))
                    {
                        // Front
                        $sPageBrowsingType04 .= '&nbsp;<a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&page='.$i.'">'.$i.'</a>';
                    }
                    elseif (($aSettings["CurrentPage"] + 1) == ($i - 1))
                    {
                        // Back
                        $sPageBrowsingType04 .= '&nbsp;<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 .= '&nbsp;...';
                    }
                }
                $sPageBrowsingType04 .= '&nbsp;<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&param2=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('&laquo;').$pager->renderPrev('&lsaquo;').$sDotsBefore.$pager->renderNav('','').$sDotsAfter.$pager->renderNext('&rsaquo;').$pager->renderLast('&raquo;');
            }
        }
        $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
}
?>
Artikelliste Modultemplate:

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>
ps_pagination.php:

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;
		}
	}

contenidoAmateur

Re: Artikelliste Navigation + AMR Problem

Beitrag von contenidoAmateur » Fr 26. Jul 2013, 09:16

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() . '&nbsp;' . $this->renderPrev() . '&nbsp;' . $this->renderNav() . '&nbsp;' . $this->renderNext() . '&nbsp;' . $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;
	}
}
?>
class.datetimereplacelang.php:

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&ccedil;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&aacute;bado',        'S&aacute;bado',
								'Domingo',              'Domingo',
								'Janeiro',              'Janeiro',
								'Fevereiro',            'Fevereiro',
								'Mar&ccedil;o',         'Mar&ccedil;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&auml;rz',    'M&auml;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));
	}
}
?>
Das ist alles was ich gefunden habe. Und du hast wahrscheinlich recht, das es an dem cms vor der URL liegt, weil bei allen anderen wird dies ja auch weggelassen.

Vielen, vielen Dank für deine Hilfe :)

VG
CA

PS: habe die Codes auf mehrere Seiten gesplittet :P

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Artikelliste Navigation + AMR Problem

Beitrag von xmurrix » Fr 26. Jul 2013, 09:28

Ändere den Konstruktor in der ps_pagination.php, erweitere es um den Parameter $self_url.

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'] );
      }
   }
Dann sorge dafür, dass die Klasse PS_Pagination mit dem neuen Parameter instanziiert wird, z. B. in der Artikelliste

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.

contenidoAmateur

Re: Artikelliste Navigation + AMR Problem

Beitrag von contenidoAmateur » Fr 26. Jul 2013, 10:18

BINGO!

Danke :)

funktioniert alles wunderbar :)

Kann man dir nen Kaffee spendieren ;)

vg
ca

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Artikelliste Navigation + AMR Problem

Beitrag von xmurrix » Fr 26. Jul 2013, 11:10

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.

Gesperrt