Terminmodule

andy-man
Beiträge: 166
Registriert: Di 25. Nov 2003, 11:29
Wohnort: Oberstaufenbach
Kontaktdaten:

Beitrag von andy-man » Fr 15. Sep 2006, 14:01

hallo jasja,
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&auml;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])."&nbsp;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>
gruss andy-man

Gesperrt