ein bisschen spät dran: Habe von v4.4.x auf 4.6.15 umgestellt, soweit alles Ok, aber einige Module funktionieren nicht mehr u.a. mein Glossar.
Anzeige bei Aufruf noch korrekt, wenn ich dann aber einen Buchstaben anklicke springt die Seite wieder auf Hauptseite und nicht an die Stelle des Glossars.
http://reg-dich.de/stm/cms/front_conten ... =267&m=&s=
Aber wie gesagt war ja auch für v4.4 Besteht trotzdem Hoffnung oder zu aufwändig?
Danke und Gruß
sabsab
Code: Alles auswählen
<?php
$parentcatid = 132;
$cmstypeid = 1;
$numberofcmstype = 1;
echo "<!-- Modul: Glossarliste -->\n";
function klein($text) {
$text = urldecode($text);
$text = strip_tags($text, "");
// $text = str_replace(" ", "_", $text);
$text = str_replace(":", "_", $text);
$text = str_replace("(", "_", $text);
$text = str_replace(")", "_", $text);
$text = str_replace("[", "_", $text);
$text = str_replace("]", "_", $text);
$text = str_replace("'", "_", $text);
$text = str_replace('"', '_', $text);
$text = strtolower($text);
$text = str_replace("ä", "ae", $text);
$text = str_replace("ö", "oe", $text);
$text = str_replace("ü", "ue", $text);
$text = str_replace("ß", "ss", $text);
return $text;
}
function unterkategorien($kategorie) {
global $cfg, $unterkat;
$unterkat[] = $kategorie;
$db = new DB_Contenido;
$sql = "SELECT idcat FROM {$cfg['tab']['cat']} WHERE parentid = '".$kategorie."' ORDER BY idcat ASC;";
$db->query($sql);
while ($db->next_record()) {
unterkategorien($db->f("idcat"));
}
}
$db = new DB_Contenido;
$db2 = new DB_Contenido;
$breiterand = 5;
$breitekomplett = 500 - 2 * $breiterand;
$liste = array("0-9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "@");
foreach ($liste as $buchstabe) {
$gesamt[$buchstabe] = "";
}
$unterkat = array();
unterkategorien($parentcatid);
// liest die anzahl betroffener artikel aus der datenbank
$sql = "SELECT count(*) AS anzahl FROM ".$cfg['tab']['cat']." AS a LEFT JOIN ".$cfg['tab']['cat_art']." AS b ON a.idcat = b.idcat LEFT JOIN ".$cfg['tab']['art_lang']." AS c ON b.idart = c.idart LEFT JOIN ".$cfg['tab']['content']." AS d ON c.idartlang = d.idartlang LEFT JOIN ".$cfg['tab']['cat_lang']." AS e ON a.idcat = e.idcat WHERE a.parentid IN (".implode(", ", $unterkat).") AND d.idtype = '".$cmstypeid."' AND d.typeid = '".$numberofcmstype."' AND d.value != '';";
$db->query($sql);
$db->next_record();
$anzahl_artikel = $db->f("anzahl");
if ($anzahl_artikel > 0) {
$sql = "SELECT d.value, b.idart, b.idcat, e.name FROM ".$cfg['tab']['cat']." AS a LEFT JOIN ".$cfg['tab']['cat_art']." AS b ON a.idcat = b.idcat LEFT JOIN ".$cfg['tab']['art_lang']." AS c ON b.idart = c.idart LEFT JOIN ".$cfg['tab']['content']." AS d ON c.idartlang = d.idartlang LEFT JOIN ".$cfg['tab']['cat_lang']." AS e ON a.idcat = e.idcat WHERE a.parentid IN (".implode(", ", $unterkat).") AND d.idtype = '".$cmstypeid."' AND d.typeid = '".$numberofcmstype."' AND d.value != '';";
$db->query($sql);
while ($db->next_record()) {
$suche = klein($db->f("value"));
$suchindex = substr($suche, 0, 1);
$titel = urldecode($db->f("value"));
$artikel = $db->f("idart");
$kategorie = $db->f("idcat");
$abteilung = $db->f("name");
$gefunden = false;
foreach ($liste as $value) {
$wert = ord($suchindex);
if (($wert > 47) && ($wert < 57))
$suchindex = "0-9";
if ($value == $suchindex) {
$gefunden = true;
break;
}
}
if ($gefunden) {
$gesamt[$suchindex][] = array('suche' => $suche, 'titel' => $titel, 'kategorie' => $kategorie, 'artikel' => $artikel, 'abteilung' => $abteilung);
} else {
$gesamt['@'][] = array('suche' => $suche, 'titel' => $titel, 'kategorie' => $kategorie, 'artikel' => $artikel, 'abteilung' => $abteilung);
}
}
echo ' <tr bgcolor="#deeaf6"><td style="border: 0px; border-top:1px; border-left:0px; border-right:0px; border-color: #5E91AE; border-style: solid; padding-right:5px; padding-bottom:3px; padding-top:3px"align="right" colspan="3" class="punkte">';
for ($i = 0; $i < 14; $i++) {
$text = strtoupper($liste[$i]);
if (is_array($gesamt[ $liste[$i] ])) {
$text = '<a href="#'.$text.'" class="punkte">'.$text.'</a>';
}
echo $text.' ';
}
echo '</td></tr>
<tr bgcolor="#deeaf6"><td style="padding-bottom:3px; padding-top:3px"align="right" colspan="3" class="punkte">';
for ($i = 14; $i < 28; $i++) {
$text = strtoupper($liste[$i]);
if (is_array($gesamt[ $liste[$i] ])) {
$text = '<a href="#'.$text.'" class="punkte">'.$text.'</a>';
}
echo $text.' ';
}
echo '</td></tr>
<tr><td style="border: 0px; border-bottom:1px; border-left:0px; border-right:0px; border-color: #5E91AE; border-style: solid; padding-right:5px; padding-bottom:3px; padding-top:3px" align="right" colspan="3" class="subheadline">Das Glossar enthält '.$anzahl_artikel.' Artikel.</td></tr>
';
foreach ($liste as $buchstabe) {
if (is_array($gesamt[$buchstabe])) {
sort($gesamt[$buchstabe]);
$text = strtoupper($buchstabe);
echo ' <tr><td colspan="3" width="'.$textspalteplus.'"> </td></tr>
<tr>
<td valign="top" width="'.$breiterand.'"> </td>
<td class="subheadline" valign="top" width="'.$breitekomplett.'" valign="top"><img src="images/nav10.gif"><a name="'.$text.'"></a>'.$text.'</td>
<td valign="top" width="'.$breiterand.'"> </td>
</tr>
';
foreach ($gesamt[$buchstabe] as $eintrag) {
$link = $sess->url("front_content.php?idcat=".$eintrag['kategorie']."&idart=".$eintrag['artikel'].$sessionid);
echo ' <tr>
<td valign="top" width="'.$breiterand.'"> </td>
<td style="border: 0px; border-bottom:1px; border-left:0px; border-right:0px; border-color: #DEEAF6; border-style: solid" class="punkte" valign="top" width="'.$breitekomplett.'" valign="top"><a href="'.$link.'" class="subheadline">'.$eintrag['titel'].'</a>('.$eintrag['abteilung'].')</td>
<td valign="top" width="'.$breiterand.'"> </td>
</tr>
';
}
echo ' <tr>
<td valign="top" width="'.$breiterand.'"> </td>
<td valign="top" width="'.$breitekomplett.'"> </td>
<td valign="top" width="'.$breiterand.'"> </td>
</tr>
';
}
}
} else {
echo ' <tr>
<td valign="top" width="'.$breiterand.'"> </td>
<td valign="top" align="center" width="'.$breitekomplett.'">Dieses Glossar enthät leider noch keine Artikel.</td>
<td valign="top" width="'.$breiterand.'"> </td>
</tr>
<tr>
<td valign="top" width="'.$breiterand.'"> </td>
<td valign="top" width="'.$breitekomplett.'"> </td>
<td valign="top" width="'.$breiterand.'"> </td>
</tr>
';
}
unset ($breiterand);
unset ($breitekomplett);
?>