ich benutze zur Zeit folgendes Terminmodul
Code: Alles auswählen
<?
$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 überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");
echo "<table border=0 cellspacing=2 cellpadding=0 width='100%'>";
$sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid, ARTLANG.idartlang
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 (= Terminübersicht) sind
$db->query($sql);
$j=0; $anz= -1;
if ($db->num_rows() != 0)
{
$termin = array(array()); // Array erzeugen, in dem die Termine abgelegt werden;
while ($j < $db->num_rows()) // alle Datensätze durchlaufen
{
$db->next_record();
if ($db->f("idart") > $termin["idart"][$anz])
{
$anz++;
}
if (isStartArticle($db->f("idartlang"),$idcat,$lang)==FALSE)
{
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,0);
$termin["monat2"][$anz] = substr($db->f("value"),0,0);
$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 ( $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></td>
<td style=width:300px;></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=2 style=\"font-size:14px;font-weight:bold;color:#ff0000\">";
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 "</td>
</tr><tr><td height=10px></td></tr>";
}
$gefunden=1;
echo " <tr align='left' valign='top'>
<td nowrap><strong><p id='font'>".$termin["tag1"][$i].".".$termin["monat1"][$i].".".$termin["jahr1"][$i]."</strong>"; // Anfangsdatum ausgeben
if ( strlen($termin["tag2"][$i]) < 2 && strlen($termin["zeit1"][$i]) >1 ) // falls kein Enddatum (Eintagestermin), aber Anfangszeit, diese ausgeben
{
echo "<br>".urldecode($termin["zeit1"][$i])." Uhr</p></td>";
} 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 width='65%'><p><a href='".$sess->url("$navmod_link")."' id='font'>".urldecode($termin["titel"][$i])."</a></p></td>
</tr><tr><td colspan=6> </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>
Ich möchte jetzt aber auf einer seperaten Seite immer den nächsten Termin (automatisch) anzeigen lassen.
Hat jemand so etwas schon gebaut oder bzw. was müsste ich anpassen?!
Über jeden Rat, wäre ich dankbar.
Gruß calimero