Termine
Verfasst: So 30. Mai 2004, 18:51
Termine
Das Diskussionsforum zum Open Source Content Management System
https://www.forum.contenido.org/
Code: Alles auswählen
// selected category
$selected = "CMS_VALUE[0]";
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
<tr>
<td>Überschrift</td>
<td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\"></td>
</tr>
<tr valign=\"top\">
<td>Kategorie wählen:</td>
<td>
<select name=\"CMS_VAR[0]\">";
if($selected!="0" && $selected!=""){
echo"<option value=\"0\">--- kein ---</option>";
}else{
echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
}
// fetch all categorys
$query = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ".
$cfg["tab"]["cat"]." AS B, ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ".
"AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ".
"AND C.visible=1 ORDER BY A.idtree";
// execute query
$db->query($query);
// loop result and build the options
while ($db->next_record()) {
// indent spacer
$spaces = "|";
// how many levels
$levels = $db->f("level");
for ($i = 0; $i < $levels; $i ++) {
// add 2 spaces for every level
$spaces = $spaces . "--";
} // end for
$spaces .= ">";
if ($selected == $db->f("idcat")) {
// selected category
echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} else {
// category
echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} // end if
} // end while
echo " </select>";
echo " </td>
</tr>
</table>";
Code: Alles auswählen
<?php
if ("CMS_VALUE[0]" == 0)
{
$navmod_id = $idcat;
} else
{
$navmod_id = "CMS_VALUE[0]";
}
$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");
echo '<table width="290" border="0" cellspacing="0" cellpadding="5" style="border: 1px; border-color: #4779a0; border-style: solid">';
echo "<tr><td style=\"border: 1px; border-color: #4779a0; border-style: solid; background-color: #EEEEEE; padding-left:10px\" class=\"headline\" colspan=\"2\">CMS_VALUE[1]</td></tr>"; //Überschrift der Termin-Übersicht
$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 = '".$navmod_id."' 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=0;
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++;
}
switch ($db->f("typeid")) {
case 0: // Anfangstermin
$termin["datum1"][$anz] = $db->f("value");
$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");
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 5: // Ortdetail
$termin["ortdetail"][$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["ort"], $termin["ortdetail"],
$termin["zeit1"], $termin["zeit2"], $termin["idart"], $termin["titel"] ); // nach Datum sortieren
for ($i=0; $i<=$anz; $i++)
{
if ( $termin["datum1"][$i] >= $date || $termin["datum2"][$i] >= $date ) // nur Termine, die noch aktuell sind, aufnehmen
{
$gefunden++;
echo ' <tr>';
echo '
<td valign="top" width="70" style="border: 1px; border-top:0px; border-right:0px; border-color: #4779a0; border-style: solid; padding-left:10px">'.substr($termin["datum1"][$i],8,2).'.'.substr($termin["datum1"][$i],5,2).'.'.substr($termin["datum1"][$i],0,4);
$navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$navmod_id."&idart=".$termin["idart"][$i]."";
echo '</td>
<td valign="top" style="border: 1px; border-top:0px; border-left:0px; border-color: #4779a0; border-style: solid; padding-left:10px"><a href="'.$sess->url("$navmod_link").'" id="font">'.urldecode($termin["titel"][$i]).'</a></td>
</tr>';
}
if($gefunden == 5) break;
}
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
echo ' <tr>
<td colspan=2 style="border: 1px; border-top: 1px; border-left: 1px; border-right: 1px; border-bottom: 1px; border-color: #4779A0; border-style: solid"><b>Es liegen aktuell keine Termine vor!</b></td>
</tr>';
}
?>
</table>
Code: Alles auswählen
array_multisort ( $termin["datum1"], SORT_ASC, SORT_STRING, $termin["datum2"], SORT_ASC, SORT_STRING, $termin["ort"], $termin["ortdetail"], $termin["zeit1"], $termin["zeit2"], $termin["idart"], $termin["titel"] ); // nach Datum sortieren
Keine bloede Frage.m20 hat geschrieben: blöde frage: wo bzw. mit welchem modul pflegt man die termine eigentlich ein?
der oben gepostete code bezieht sich doch auf die ausgabe oder liege ich da falsch?