In Zeile 331:
Code: Alles auswählen
if ($aSettings["PageBrowsingType01"] != "enabled")
Code: Alles auswählen
if ($aSettings["UseUTF8"] != "enabled")
Gruß,
funomat
Code: Alles auswählen
if ($aSettings["PageBrowsingType01"] != "enabled")
Code: Alles auswählen
if ($aSettings["UseUTF8"] != "enabled")
wo setzt du das häckchen? artikel, kategorie, template?divox hat geschrieben:hmm, aber da ist ja kein Häckchen mehr, das bleibt ja nicht drin, also kann ich auch keins entfernen.
Fehler weiterhin da Langsam bin ich am verzweifeln.
Gruß FipsDenkbar wäre es dort mit CMS_DATE im Artikeltemplate zu arbeiten und in der Artikelliste eine Sortierung hierfür anzubieten.
Code: Alles auswählen
preg_match($regEx, $sTmpValue, $match);
Code: Alles auswählen
<?php
# Initialization
$bDebug = false;
$iDataStart = 30;
$lCount = 0;
unset ($aData);
$aData = array();
# Base settings
unset ($aSettings);
$aSettings = array();
$aSettings["ArticleCount"] = "CMS_VALUE[0]";
$aSettings["ArticlePerPage"] = "CMS_VALUE[1]";
$aSettings["SortBy"] = "CMS_VALUE[2]";
$aSettings["SortDir"] = "CMS_VALUE[3]";
$aSettings["ShowStart"] = "CMS_VALUE[4]";
$aSettings["Category"] = "CMS_VALUE[5]";
$aSettings["HeadlineIdentifier"] = "CMS_VALUE[7]";
$aSettings["HeadlineLength"] = "CMS_VALUE[8]";
$aSettings["Elements"] = "CMS_VALUE[9]";
$aSettings["CatTypeSel"] = "CMS_VALUE[10]";
$aSettings["AddCats"] = "CMS_VALUE[11]";
$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]";
# Checking base settings
if (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0)
{
$aSettings["ArticleCount"] = 5;
}
if (!is_numeric($aSettings["ArticlePerPage"]) || $aSettings["ArticlePerPage"] < 0)
{
$aSettings["ArticlePerPage"] = 0; // Deactivating page browsing
}
if ($aSettings["ArticlePerPage"] == 0 || !is_numeric($_REQUEST["nextstep"]))
{
$_REQUEST["nextstep"] = 0;
}
if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0)
{
$aSettings["Category"] = 0;
}
if (strlen($aSettings["HeadlineIdentifier"]) > 50)
{
$aSettings["HeadlineIdentifier"] = "";
}
if (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0)
{
$aSettings["HeadlineLength"] = 0;
}
if (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0)
{
$aSettings["Elements"] = 0;
}
if ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "selected"))
{
$aSettings["CatTypeSel"] = "none";
}
if ($aSettings["UseUTF8"] == "enabled")
{
# 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);
}
// 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;
$iElementUseSummary = $iElementType + 4;
/*$iElementPadding = $iElementType + 4;
$iElementImgAlign = $iElementType + 5;*/
$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]["ForceSummaryUsage"] = "CMS_VALUE[$iElementUseSummary]";
/*$aSettings["k".$i]["ElementPadding"] = "CMS_VALUE[$iElementPadding]";
$aSettings["k".$i]["ElementImgAlign"] = "CMS_VALUE[$iElementImgAlign]";*/
# 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 ($iElementUseSummary);
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 id, ARTLANG.lastmodified AS lastmodified, " ;
$sql .= "ARTLANG.created AS created, ARTLANG.published AS published, CATLANG.name AS category, ";
$sql .= "ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart FROM ";
$sql .= $cfg["tab"]["cat_art"] . " AS CATART, ";
$sql .= $cfg["tab"]["art_lang"] . " AS ARTLANG, ";
$sql .= $cfg["tab"]["cat_lang"] . " AS CATLANG, ";
$sql .= $cfg["tab"]["content"] . " AS tblData ";
$sql .= "WHERE CATART.idcat IN (" . $sSelCats . ") AND ARTLANG.idlang = '" . $lang . "' ";
$sql .= "AND tblData.idartlang = ARTLANG.idartlang ";
$sql .= "AND CATLANG.idlang = ARTLANG.idlang ";
$sql .= "AND CATLANG.idcat = CATART.idcat ";
$sql .= "AND ARTLANG.idart = CATART.idart ";
if ($aSettings["ShowStart"] != "enabled")
{
if ($cfg["is_start_compatible"] == true)
{
$sql .= "AND CATART.is_start = '0' ";
}
else
{
$sql .= "AND tblData.idartlang != CATLANG.startidartlang ";
}
}
$sql .= "AND ARTLANG.online = '1' ";
$sql .= "AND " . $aSettings["HeadlineIdentifier"] . " ";
// Sort by
$sql .= "ORDER BY ";
$sql .= $aSettings["SortBy"] . " " . $aSettings["SortDir"] . " ";
// LIMIT
if ($aSettings["ArticleCount"] > 0) {
$sql .= "LIMIT 0, ".$aSettings["ArticleCount"];
}
// execute query
$db2->query($sql);
$lCount = $db2->num_rows();
if ($lCount > 0)
{
if (!is_object($db3))
{
$db3 = new DB_Contenido;
}
if (!is_object($db4))
{
$db4 = new DB_Contenido;
}
if ($aSettings["ArticlePerPage"] > 0)
{
$lStartCount = $_REQUEST["nextstep"];
$lEndCount = $_REQUEST["nextstep"] + $aSettings["ArticlePerPage"];
if ($lEndCount > $lCount)
{
$lEndCount = $lCount;
}
}
else
{
$lStartCount = 0;
$lEndCount = $lCount;
}
$lRow = 0;
$i = 0;
while ($db2->next_record())
{
if ( $aSettings["ShowStart"] == "enabled" ||
($aSettings["ShowStart"] != "enabled" && $db2->f("idartlang") != $lStartIDArtLang))
{
if ($lRow >= $lStartCount && $lRow < $lEndCount)
{
$aData[$i] = array();
$aData[$i]["Category"] = urldecode($db2->f("category"));
$aData[$i]["Link"] = $sess->url("front_content.php?idcat=".$db2->f("idcat")."&idart=".$db2->f("id"));;
$aData[$i]["LastModified"] = $db2->f("lastmodified");
$aData[$i]["Created"] = $db2->f("created");
$aData[$i]["Published"] = $db2->f("published");
# nachstehende Daten summary eingefügt
$aData[$i]["Summary"] = $db2->f("summary");
# nachstehende Daten pagetitle eingefügt
$aData[$i]["Pagetitle"] = $db2->f("pagetitle");
$sTmpValue = html_entity_decode(strip_tags(urldecode($db2->f('headline'))));
if ($aSettings["HeadlineLength"] > 0 && strlen($sTmpValue) > $aSettings["HeadlineLength"])
{
# Cutting text but preserving words and entities
$sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["HeadlineLength"])."...");
}
$aData[$i]["Headline"] = $sTmpValue;
if ($aSettings["Elements"] > 0)
{
for ($k = 0; $k < $aSettings["Elements"]; $k++)
{
$aData[$i]["i".$k] = array();
$aData[$i]["i".$k]["Value"] = "";
$aData[$i]["i".$k]["ServerPath"] = "";
$aData[$i]["i".$k]["WebPath"] = "";
$aData[$i]["i".$k]["Width"] = 0;
$aData[$i]["i".$k]["Height"] = 0;
} // 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"] != "")
{
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
$sTmpValue = urldecode($db3->f('value'));
$regEx = "/<img[^>]*?>.*?/i";
# $match = array ();
preg_match_all($regEx, $sTmpValue, $match);
for ($k = 0; $k < $aSettings["Elements"]; $k++)
{
if ($sTypeIdentifier == $aSettings["k".$k]["Identifier"])
{
switch (TRUE)
{
case ($aSettings["k" . $k]["ElementType"] == "Image" || $aSettings["k" . $k]["ElementType"] == "ExtractedImage"):
$sql = "";
if ($aSettings["k".$k]["ElementType"] == "Image")
{
$sql = "SELECT dirname, filename FROM " . $cfg["tab"]["upl"] . " ";
$sql .= "WHERE idupl = '" . $db3->f('value') . "'";
}
else
{
/*
$sTmpValue = urldecode($db3->f('value'));
$regEx = "/<img[^>]*?>.*?/i";
#$match = array ();
preg_match($regEx, $sTmpValue, $match[0]);
*/
$regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
$img = array ();
preg_match($regEx, $match[0][$k], $img);
$img_src = preg_split("/\//", $img[4]);
#$img_name = $img_src[count($img_src) - 1];
#$img_name = preg_replace("/\"/", "", $img_name);
$img_name = $img_src[2];
#Don't know what is happening here, exactly...
# $img_split = preg_split("/\./", $img_name);
# $img_type = $img_split[count($img_split) - 1];
# $img_split2 = preg_split("/_/", $img_split[0]);
$name = strtolower($img_name);
#Don't know what is happening here, exactly...
#if (count($img_split2) > 1) {
# $img_x = $img_split2[count($img_split2) - 1];
# $img_y = $img_split2[count($img_split2) - 2];
# if (is_numeric($img_x) AND is_numeric($img_y)) {
# $suffix = "_".$img_x."_".$img_y.".".$img_type;
# $name = preg_replace("/$suffix/", "", $img_name);
# $name = $name.".[a-zA-Z]{3}";
# }
#}
if (strlen($name) > 0)
{
$sql = "SELECT dirname, filename FROM " . $cfg["tab"]["upl"] . " ";
$sql .= "WHERE LOWER(filename) = '$name'";
// $sql .= "WHERE filename REGEXP '$name'"; // Old: for 'banner.jpg' 'merlin_banner.jpg' is also returned
}
}
if ($bDebug)
{
echo "<pre>".$sql."</pre>";
}
// execute query
if ($sql != "")
{
$db4->query($sql);
if ($db4->next_record())
{
$aData[$i]["i" . $k]["ServerPath"] = $cfgClient[$client]["upl"]["path"] . $db4->f('dirname') . $db4->f('filename');
$aData[$i]["i" . $k]["WebPath"] = $cfgClient[$client]["upl"]["htmlpath"] . $db4->f('dirname') . $db4->f('filename');
list (
$width,
$height,
$type,
$attr
) = getimagesize($aData[$i]["i" . $k]["ServerPath"]);
$aData[$i]["i" . $k]["Width"] = $width;
$aData[$i]["i" . $k]["Height"] = $height;
}
}
break;
default:
if ($aSettings["UseUTF8"] != "enabled")
{
$sTmpValue = html_entity_decode(strip_tags(urldecode($db3->f('value'))));
}
else
{
$sTmpValue = html_entity_decode_utf8(strip_tags(urldecode($db3->f('value'))));
}
if ($aSettings["k" . $k]["ElementWidth"] > 0 && strlen($sTmpValue) > $aSettings["k" . $k]["ElementWidth"])
{
# Cutting text but preserving words and entities
$sTmpValue = capiStrTrimAfterWord($sTmpValue, $aSettings["k" . $k]["ElementWidth"]) . "...";
}
$aData[$i]["i".$k]["Value"] = $sTmpValue;
echo "$sTmpValue ".$sTmpValue."<br>";
} // end switch
}
} // 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]["ForceSummaryUsage"]: Per Element:
#
# Per article:
# $aValue["Headline"]: Content of article element specified as containing the headline information
# $aValue["Link"]: Relative link to get to the listed article
# $aValue["LastModified"]: Last modified date of the article
# $aValue["Created"]: Created date of the article
# $aValue["Published"]: Published date of the article
# $aValue["Category"]: Category name
# $aValue["Summary"]: summary Zusammenfassung
# $aValue["Pagetitle"]: Seitentitel pagetitle
#
# Per article additional element:
# $aValue["i".$i]["Value"]: Text (only for text elements, otherwise "")
# $aValue["i".$i]["WebPath"]: HTTP... path to image
# $aValue["i".$i]["ServerPath"]: /server/... path to image
# $aValue["i".$i]["Width"]: >Original< image width
# $aValue["i".$i]["Height"]: >Original< image height
/* Init Template */
if (!is_object($tpl)) {
$tpl = new Template;
}
$tpl->reset();
$tpl->set('s', 'TITLE', $newsheadline);
foreach ($aData as $aValue)
{
$artlist_summary = $aValue["Summary"];
if ($aSettings["Elements"] > 0)
{
for ($i = 0; $i < $aSettings["Elements"]; $i++)
{
switch (TRUE)
{
case ($aSettings["k".$i]["ElementType"] == "Image" || $aSettings["k".$i]["ElementType"] == "ExtractedImage"):
$image = $aValue["i".$i]["WebPath"];
$width = $aValue["i" . $i]["Width"];
$height = $aValue["i" . $i]["Height"];
if ($aSettings["k" . $i]["ElementWidth"] > 0 && $aSettings["k" . $i]["ElementHeight"] > 0)
{
# Check, if resize necessary
if ( $aValue["i" . $i]["ServerPath"] != "" && file_exists($aValue["i" . $i]["ServerPath"]) &&
($aValue["i" . $i]["Width"] > $aSettings["k" . $i]["ElementWidth"] || $aValue["i" . $i]["Height"] > $aSettings["k" . $i]["ElementHeight"]))
{
# Scale image
$image = capiImgScale($aValue["i" . $i]["ServerPath"], $aSettings["k" . $i]["ElementWidth"], $aSettings["k" . $i]["ElementHeight"], false, false, 10, false);
#Get dimensions of the image
list (
$width,
$height,
$type,
$attr
) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $image));
}
else
{
$image = $aValue["i" . $i]["WebPath"];
$width = $aValue["i" . $i]["Width"];
$height = $aValue["i" . $i]["Height"];
}
}
if ($image != "")
{
$artlist_image = '<img class="articlelistImage" src="' . $image . '" width="' . $width . '" height="' . $height . '" alt="' . mi18n("Article Thumb") . '" />'; // align="' . $aSettings["k" . $i]["ElementImgAlign"] . '" style="padding:' . $aSettings["k" . $i]["ElementPadding"] . ';"
}
else
{
$artlist_image = "";
}
# echo $artlist_image;
$tpl->set('d', 'IMG_'.$i, $artlist_image);
break;
default: // Everything else is treated as "Text"
if ($artlist_summary != "" && $aSettings["k" . $i]["ForceSummaryUsage"] == "force")
{
$artlist_text = $artlist_summary;
$tpl->set('d', 'TEXT_'.$i, $artlist_text);
}
else
{
$artlist_text = $aValue["i" . $i]["Value"];
$tpl->set('d', 'TEXT_'.$i, $artlist_text);
}
#echo $artlist_text;
} // end switch
} // end for
}
$artlist_more = mi18n("More");
if($aSettings["DateType"] == "create")
{
$tmp_artlist_Date = strtotime($aValue["Created"]);
}
else
{
$tmp_artlist_Date = strtotime($aValue["Published"]);
}
if($aSettings["Date"] != "-1")
{
$artlist_lastmod = date($aSettings["Date"], $tmp_artlist_Date);
if(strlen($artlist_lastmod) > 12)
{
$artlist_lastmod = $artlist_lastmod . mi18n(" Uhr");
}
}
else
{
$artlist_lastmod = "";
}
$tpl->set('d', 'PAGELINK', $aValue["Link"]);
$tpl->set('d', 'PAGETITEL', $aValue["Pagetitle"]);
$tpl->set('d', 'HEADLINE', $aValue["Headline"]);
$tpl->set('d', 'DATE', $artlist_lastmod);
$tpl->set('d', 'MORE', $artlist_more);
$tpl->next();
} // end foreach
}
# Page browsing
# Hint: Number of max available records: $lCount
# Number of pages: round($lCount / $aSettings["ArticlePerPage"])
# First page: nextstep=0
# Last page: nextstep=(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"];
# (I have to admit that I'm not sure about the last page formula ... ;-) )
if ($aSettings["ArticlePerPage"] > 0)
{
$iPages = intval(ceil($lCount / $aSettings["ArticlePerPage"]));
# Example: Back and Next
$sPageBrowsingType01 = '';
if ($aSettings["PageBrowsingType01"] == "enabled")
{
if ($_REQUEST["nextstep"] > 0)
{
$sPageBrowsingType01 .= '<div class="articlelistBack">';
$sPageBrowsingType01 .= '<a href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] - $aSettings["ArticlePerPage"]) . '">' . mi18n("Back") . '</a>';
$sPageBrowsingType01 .= '</div>';
}
if (($_REQUEST["nextstep"] + $aSettings["ArticlePerPage"]) < $lCount)
{
$sPageBrowsingType01 .= '<div class="articlelistNext">';
$sPageBrowsingType01 .= '<a href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] + $aSettings["ArticlePerPage"]) . '">' . mi18n("Next") . '</a>';
$sPageBrowsingType01 .= '</div>';
}
}
# Example: 1 2 3 4 5 6 7 ...
$sPageBrowsingType02 = '';
if ($aSettings["PageBrowsingType02"] == "enabled")
{
for ($i = 1; $i <= $iPages; $i++)
{
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($sPageBrowsingType02 != '')
{
$sPageBrowsingType02 .= ' ';
}
if ($_REQUEST["nextstep"] == $lNextStep)
{
$sPageBrowsingType02 .= $i; # I'm on the current page, no link
}
else
{
$sPageBrowsingType02 .= '<a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
}
}
}
# Example: Seite 1 von 7
$sPageBrowsingType03 = '';
if ($aSettings["PageBrowsingType03"] == "enabled")
{
for ($i = 1; $i <= $iPages; $i++)
{
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($sPageBrowsingType03 != '')
{
$sPageBrowsingType03 .= ' ';
}
if ($_REQUEST["nextstep"] == $lNextStep)
{
$sPageBrowsingType03 .= mi18n("Page") . ' ' . $i . ' ' . mi18n("of") . ' ' . $iPages; # I'm on the current page, no link
}
}
}
# Example: |< 1 ... 3 4 5 ... 8 >|
$sPageBrowsingType04 = '';
if ($aSettings["PageBrowsingType04"] == "enabled")
{
$sPageBrowsingType04 .= '<a class="articlelistBegin" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=0">' . mi18n("Begin") . ' |<</a>';
for ($i = 1; $i <= $iPages; $i++)
{
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($i == 1 || $i == $iPages)
{
if ($sPageBrowsingType04 != '')
{
$sPageBrowsingType04 .= ' ';
}
if ($_REQUEST["nextstep"] == $lNextStep)
{
$sPageBrowsingType04 .= $i; # I'm on the current page, no link
}
else
{
$sPageBrowsingType04 .= '<a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
}
}
elseif ($_REQUEST["nextstep"] == $lNextStep)
{
$sPageBrowsingType04 .= ' ' . $i . "\n"; # I'm on the current page, no link
}
elseif ($_REQUEST["nextstep"] == ($lNextStep + $aSettings["ArticlePerPage"]))
{
# Front
$sPageBrowsingType04 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
}
elseif ($_REQUEST["nextstep"] == ($lNextStep - $aSettings["ArticlePerPage"]))
{
# Back
$sPageBrowsingType04 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
}
elseif ($_REQUEST["nextstep"] == ($lNextStep - (2 * $aSettings["ArticlePerPage"])) ||
$_REQUEST["nextstep"] == ($lNextStep + (2 * $aSettings["ArticlePerPage"])))
{
$sPageBrowsingType04 .= '...';
}
}
$sPageBrowsingType04 .= ' <a class="articlelistEnd" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . (round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"] . '">>| ' . mi18n("End") . '</a>';
}
# Example: << < 1 ... 3 4 5 ... 8 > >>
// First Page
$sPageBrowsingType05 = '';
if ($aSettings["PageBrowsingType05"] == "enabled")
{
if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == 0))
{
$sPageBrowsingType05 .= '<a class="articlelistBegin" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep=0" title="' . mi18n("Begin") . '">«</a> ';
}
elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == 0) || !isset($_GET['nextstep']))
{
$sPageBrowsingType05 .= '« ';
}
// Previous Page
if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == 0))
{
$sPageBrowsingType05 .= '<a class="articlelistPrevious" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] - $aSettings["ArticlePerPage"]) . '" title="' . mi18n("Previous") . '">‹</a> ';
}
elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == 0) || !isset($_GET['nextstep']))
{
$sPageBrowsingType05 .= '‹ ';
}
for ($i = 1; $i <= $iPages; $i++) {
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($i == 1 || $i == $iPages) {
if ($sPageBrowsingType05 != '') {
$sPageBrowsingType05 .= ' ';
}
if ($_REQUEST["nextstep"] == $lNextStep) {
$sPageBrowsingType05 .= $i; # I'm on the current page, no link
} else {
$sPageBrowsingType05 .= '<a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>';
}
} else if ($_REQUEST["nextstep"] == $lNextStep) {
$sPageBrowsingType05 .= ' '.$i; # I'm on the current page, no link
} else if ($_REQUEST["nextstep"] == ($lNextStep + $aSettings["ArticlePerPage"])) {
# Forward
$sPageBrowsingType05 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>';
} else if ($_REQUEST["nextstep"] == ($lNextStep - $aSettings["ArticlePerPage"])) {
# Back
$sPageBrowsingType05 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>';
} else if ( $_REQUEST["nextstep"] == ($lNextStep - (2 * $aSettings["ArticlePerPage"])) ||
$_REQUEST["nextstep"] == ($lNextStep + (2 * $aSettings["ArticlePerPage"]))) {
$sPageBrowsingType05 .= '...';
}
}
// Next Page
if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])))
{
$sPageBrowsingType05 .= ' <a class="articlelistNext" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] + $aSettings["ArticlePerPage"]) . '" title="' . mi18n("Next") . '">›</a>';
}
elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])))
{
$sPageBrowsingType05 .= ' ›';
}
else
{
$sPageBrowsingType05 .= ' <a class="articlelistNext" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $aSettings["ArticlePerPage"] . '" title="' . mi18n("Next") . '">›</a>';
}
// Last Page
if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])) || !isset($_GET['nextstep']))
{
$sPageBrowsingType05 .= ' <a class="articlelistEnd" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"].'" title="' . mi18n("End") . '">»</a>';
}
elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])))
{
$sPageBrowsingType05 .= ' »';
}
}
}
$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);
?>
Was meinst Du damit? Wo taucht die Kategorie auf?- Anzeige der Kategorie-Bezeichnung
muss gerade selber ein wenig stutzen, da ich jetzt auch nicht weiß, was damit gemeint ist!! Ich habe das Modul ja nur weiterentwickelt und dieser Teil der Beschreibung stammt noch von HerrB! Ich müsste mir noch einmal den Quellcode genauer anschauen, um zu sehen wo diese Funktionalität eingebaut sein soll. Evtl. ist da bei der Umstellung auf Templates etwas verloren gegangen.yui hat geschrieben:Was meinst Du damit? Wo taucht die Kategorie auf?
Auch diese Aussage stammt von HerrB und ich habe mir bisher da auch keine weiteren Gedanken zu gemacht. Rein theoretisch würde ich auch sagen, dass es irgendwie möglich sein sollte. Praktisch kann ich es aber zur Zeit nicht prüfen da ich bis mind. Ende des Jahres zu viel um die Ohren habe. Wenn Dir was dazu einfallen sollte, dann immer her mit der Lösung.yui hat geschrieben:Laut Deiner Aussage geht das nicht. Da aber doch die Artikel sortiert werden nach u.a. idcat müsste es doch irgendwie möglich sein. Oder wie siehst Du das?