hast du das problem gelöst? ich setzte die terminverwaltung in der 4.6.8 von stese jetzt ein und sie funktioniert. hier der code der terminübersicht mit dem einbau des sprachtool:
Code: Alles auswählen
<?php
$t01 = mi18n("Januar");
$t02 = mi18n("Februar");
$t03 = mi18n("März");
$t04 = mi18n("April");
$t05 = mi18n("Mai");
$t06 = mi18n("Juni");
$t07 = mi18n("Juli");
$t08 = mi18n("August");
$t09 = mi18n("September");
$t10 = mi18n("Oktober");
$t11 = mi18n("November");
$t12 = mi18n("Dezember");
$gefunden=0; // um zu ueberpruefen, ob ueberhaupt Termine vorliegen
$date = date("Y-m-d");
echo "<span class=headline>".mi18n("Veranstaltungen")."</span><p>"; // Ueberschrift der Seite mit der Terminuebersicht */
echo "<table border=0 cellspacing=2 cellpadding=0 width='100%'>";
$sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang = CONTENT.idartlang
AND ARTLANG.idlang = '".$lang."' AND CAT.idcat = '".$idcat."' AND CAT.idclient = '".$client."'
AND ARTLANG.online = '1' AND CATART.is_start='0'
ORDER BY ARTLANG.idart, CONTENT.typeid ASC"; // Alle Artikel der Kategorie einlesen, die nicht Startartikel (= Terminuebersicht) sind
$db->query($sql);
$j=0; $anz=0;
if ($db->num_rows() != 0)
{
$termin = array(array()); // Array erzeugen, in dem die Termine abgelegt werden;
while ($j < $db->num_rows()) // alle Datensaetze durchlaufen
{
$db->next_record();
if ($db->f("idart") > $termin["idart"][$anz])
{
$anz++;
}
switch ($db->f("typeid")) {
case 0: // Anfangstermin
$termin["datum1"][$anz] = $db->f("value");
$termin["jahr1"][$anz] = substr($db->f("value"),0,4);
$termin["monat1"][$anz] = substr($db->f("value"),5,2);
$termin["tag1"][$anz] = substr($db->f("value"),8,2);
$termin["idart"][$anz] = $db->f("idart");
break;
case 1: // Anfangsuhrzeit
$termin["zeit1"][$anz] = $db->f("value");
$termin["datum1"][$anz] = $termin["datum1"][$anz]." ".$termin["zeit1"][$anz];
break;
case 2: // Endtermin
$termin["datum2"][$anz] = $db->f("value");
$termin["jahr2"][$anz] = substr($db->f("value"),0,4);
$termin["monat2"][$anz] = substr($db->f("value"),5,2);
$termin["tag2"][$anz] = substr($db->f("value"),8,2);
break;
case 3: // Enduhrzeit
$termin["zeit2"][$anz] = $db->f("value");
$termin["datum2"][$anz] = $termin["datum2"][$anz]." ".$termin["zeit2"][$anz];
break;
case 4: // Ort
$termin["ort"][$anz] = $db->f("value");
break;
case 6: // Titel
$termin["titel"][$anz] = $db->f("value");
break;
}
$j++;
}
$array_multisort = array ( $termin["datum1"], SORT_ASC, SORT_STRING, $termin["datum2"], SORT_ASC, SORT_STRING,
$termin["jahr1"], $termin["monat1"], $termin["tag1"], $termin["zeit1"],
$termin["jahr2"], $termin["monat2"], $termin["tag2"], $termin["zeit2"],
$termin["idart"], $termin["ort"], $termin["titel"] ); // nach Datum sortieren
echo "
<tr>
<td>".mi18n("Datum")."</td>
<td><img border='0' src='images/_leer.gif' width='30' height='1'></td>
<td><img border='0' src='images/_leer.gif' width='10' height='1'></td>
<td>".mi18n("Ort")."</td>
<td><img border='0' src='images/_leer.gif' width='10' height='1'></td>
<td>".mi18n("Beschreibung")."</td>
</tr>
<tr>
<td height='1'><img border='0' src='images/_leer.gif' width='70' height='1'></td>
<td height='1'><img border='0' src='images/_leer.gif' width='40' height='1'></td>
<td height='1'><img border='0' src='images/_leer.gif' width='10' height='1'></td>
<td height='1'><img border='0' src='images/_leer.gif' width='150' height='1'></td>
<td height='1'><img border='0' src='images/_leer.gif' width='10' height='1'></td>
<td height='1'><img border='0' src='images/_leer.gif' width='100%' height='1'></td>
</tr>";
for ($i=0; $i<=$anz; $i++)
{
if ( $termin["datum1"][$i] >= $date || $termin[$i]["datum2"] >= $date ) // nur Termine, die noch aktuell sind, aufnehmen
{
if ( $termin["monat1"][$i] !== $termin["monat1"][$i-1] || $gefunden == 0 ) // ueberpruefen, ob Monatsnahme einzufuegen ist
{
echo "
<tr>
<td colspan=6><b>";
switch ($termin["monat1"][$i]) {
case 1: echo "$t01"; break;
case 2: echo "$t02"; break;
case 3: echo "$t03"; break;
case 4: echo "$t04"; break;
case 5: echo "$t05"; break;
case 6: echo "$t06"; break;
case 7: echo "$t07"; break;
case 8: echo "$t08"; break;
case 9: echo "$t09"; break;
case 10: echo "$t10"; break;
case 11: echo "$t11"; break;
case 12: echo "$t12"; break; }
if ( $i>1 && $termin["jahr1"][$i] != $termin["jahr1"][$i-1] ) // ueberpruefen, ob Jahr einzufuegen ist
{
echo " ".$termin["jahr1"][$i];
}
echo "</b></td>
</tr>";
}
$gefunden=1;
echo " <tr align='left' valign='top'>
<td nowrap><p id='font'>".$termin["tag1"][$i].".".$termin["monat1"][$i]."."; // Anfangsdatum ausgeben
if ( strlen($termin["tag2"][$i]) < 2 && strlen($termin["zeit1"][$i]) >1 ) // falls kein Enddatum (Eintagestermin), aber Anfangszeit, diese ausgeben
{
echo "</p></td><td nowrap><p>".urldecode($termin["zeit1"][$i])." Uhr";
} elseif ( strlen($termin["tag2"][$i]) > 1 ) // falls Enddatum (Mehrtagestermin), dieses ausgeben
{
echo '–'.$termin["tag2"][$i].'.'.$termin["monat2"][$i].'.';
if ( $termin["jahr2"][$i] != $termin["jahr1"][$i]) // falls Enddatum nicht im gleichen Jahr
{
echo substr($termin["jahr2"][$i],2,2).'.';
}
echo "</p></td><td><p>";
} else
{
echo "</p></td><td><p>";
}
$navmod_link ="front_content.php?client=".$client."&lang=".$lang."&idcat=".$idcat."&idart=".$termin["idart"][$i]."";
echo "</p></td>
<td><img border='0' src='images/_leer.gif' width='10' height='1'></td>
<td ><p id='font'>".urldecode($termin["ort"][$i])."</p></td>
<td><img border='0' src='images/_leer.gif' width='10' height='1'></td>
<td width='65%'><p><b><a href='".$sess->url("$navmod_link")."' id='font'>".urldecode($termin["titel"][$i])."</a></b></p></td>
</tr><tr><td colspan=6><HR></td>
</tr>"
;
}
}
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
echo " <tr align='left' valign='top'>
<td colspan=6><b>".mi18n("Es liegen aktuell keine Termine vor!")."</b></td>
</tr>";
}
?>
</table>