Terminmodule

Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Terminmodule

Beitrag von Simone » Do 17. Nov 2005, 15:47

Hallo,

nach der Neuinstallation auf 4.6.2 wollte ich auch die Termineingabe- und Terminübersichtmodule benutzen. Ich hatte es vorher auf einer Probeseite getestet und es funktionierte ohne Probleme.
Doch jetzt in der richtigen Fassung kriege ich plötzlich die Meldung im Backend, daß
Warning: array_multisort(): Array sizes are inconsistent in contenido/includes/include.con_editcontent.php(650) : eval()'d code on line 385
bzw. im Browser ist
Warning: array_multisort(): Array sizes are inconsistent in /cms/front_content.php(770) : eval()'d code on line 185

Die Module funktionieren, aber dennoch haut ja was nicht hin.

Kann mir jemand helfen?

Ach so, daß sind die Terminmodule, die Halchteranerin für 4.4.5 bereitgestellt hat und wo bei der Termineingabe emergence den Quellcode oben geändert hatte, damit nicht immer Donnerstag ist :lol:

Simone

Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone » Fr 18. Nov 2005, 13:26

Übrigens steht in der include.con_editcontent auf der zeile

Code: Alles auswählen

/* Long syntax with closing tag */
                    $code = preg_replace("/<container( +)id=\\\\\"$value\\\\\"(.*)>(.*)<\/container>/i", "CMS_CONTAINER[$value]", $code);
                    
                    /* Short syntax */
                    $code = preg_replace("/<container( +)id=\\\\\"$value\\\\\"(.*)\/>/i", "CMS_CONTAINER[$value]", $code);
Und Dreamweaver sagt, daß es ein ungültiges Tag ist und nicht das richtige Format für HTML-Tag sei.

:?: :?: :?:

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Fr 18. Nov 2005, 13:43

Simone hat geschrieben:Übrigens steht in der include.con_editcontent auf der zeile

Code: Alles auswählen

/* Long syntax with closing tag */
                    $code = preg_replace("/<container( +)id=\\\\"$value\\\\"(.*)>(.*)<\/container>/i", "CMS_CONTAINER[$value]", $code);
                    
                    /* Short syntax */
                    $code = preg_replace("/<container( +)id=\\\\"$value\\\\"(.*)\/>/i", "CMS_CONTAINER[$value]", $code);
Und Dreamweaver sagt, daß es ein ungültiges Tag ist und nicht das richtige Format für HTML-Tag sei.

:?: :?: :?:
ähm das ist PHP-code...den wirst du nicht mit Dreamweaver validieren können...vgl das PHP-Manual und die Syntax für Regular Expressions

Weiterhin kommt der Fehler aus deinem eingesetzten Modul...

emergence
Beiträge: 10644
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 18. Nov 2005, 13:50

php files bitte nie mit dem dreamweaver oder word bearbeiten... (hatten wir das nicht schon mal ?)
*** make your own tools (wishlist :: thx)

Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone » Fr 18. Nov 2005, 14:23

Ich dachte dafür ist Dreamweaver da. Bei dem Editor sehe ich ja nichts :oops: Ich meine da ist ja der Code wild durcheinander.

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Fr 18. Nov 2005, 14:26

Dreamweaver ist ein HTML-Editor. Wenn du eine php-Datei bearbeiten willst, brauchst du einen PHP-Editor. Oder einen stinknormalen Editor, der Syntaxhighlighting fuer verschiedene Programmier-, Skriptsprachen und sonstige Syntaxen beherrscht.

emergence
Beiträge: 10644
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Fr 18. Nov 2005, 14:40

ähm nö dreamweaver wird in 100 jahren noch nicht für php geeignet sein..
*** make your own tools (wishlist :: thx)

jost
Beiträge: 322
Registriert: Mo 10. Jan 2005, 20:12
Kontaktdaten:

Beitrag von jost » Fr 18. Nov 2005, 14:48


Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone » Sa 19. Nov 2005, 08:03

Muß mich dahingehend korrigieren, als das gestern noch ein anderer Redakteur Termine eingtragen hat und dessen erscheinen unterhalb meiner, also keine Einsortierung nach Datum erfolgt.

Man kann das Termineinausgabemodul und Terminübersichtmodul überhaupt nicht verwenden für 4.6.2.

Simone

Berni
Beiträge: 14
Registriert: Mi 16. Nov 2005, 21:37
Wohnort: Bad Salzmettwurst
Kontaktdaten:

Beitrag von Berni » Di 22. Nov 2005, 13:00

Klar kannst Du verwenden, muss man nur die neue Startartikelfunktionalität einbauen :wink:

Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone » Di 22. Nov 2005, 16:03

Berni hat geschrieben:Klar kannst Du verwenden, muss man nur die neue Startartikelfunktionalität einbauen :wink:
Gibts hier auch Rauchzeichen? - mein Kopf qualmt gerade ....

Okay, Berni, ich denke, die Termineingabe funktioniert, weil sie die Termine einträgt. Wenn nicht ordentlich aufgelistet wird, kann es also nur an der Terminübersicht liegen.

Die Terminübersicht ist der Startartikel.

Ich habe schon irgendwo gelesen, daß die Startartikelfunktionalität jetzt anders ist, aber wo der Unterschied zur alten liegt, ist mir noch ein Geheimnis - weil Anfänger. :oops:

OUTPUT

Code: Alles auswählen

<?php
$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");
echo "<h1>CMS_HTMLHEAD[1]</h1>"; // Überschrift der Seite mit der Termin-Übersicht
echo '<table border=0 cellspacing=0 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 (= 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["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 ( $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
 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 ) // überprüfen, ob Monatsnahme einzufügen ist
   {
    echo ' 
<table width="378" border="0" cellspacing="0" cellpadding="0">
<tr><td height="20" width="1" style="border: 0px; border-top:1px; border-bottom:1px; border-color: #999999; border-style: solid; background-color: #999999"><img src="images/trans.gif" width="1" height="20" border="0"></td>
<td width="378" hight="20" style="border: 1px; border-left:0px; border-color: #999999; border-style: solid; background-color: #E1DFCE; padding-left:10px" class="bold">';
    switch ($termin["monat1"][$i]) {
     case 1: echo "Januar"; break;
     case 2: echo "Februar"; break;
     case 3: echo "März"; break;
     case 4: echo "April"; break;
     case 5: echo "Mai"; break;
     case 6: echo "Juni"; break;
     case 7: echo "Juli"; break;
     case 8: echo "August"; break;
     case 9: echo "September"; break;
     case 10: echo "Oktober"; break;
     case 11: echo "November"; break;
     case 12: echo "Dezember"; break; }
    if ( $i>1 && $termin["jahr1"][$i] != $termin["jahr1"][$i-1] ) // überprüfen, ob Jahr einzufügen ist
    {
     echo ' '.$termin["jahr1"][$i];
    }
    echo '</td></tr>
</table>';
   }
   $gefunden=1;
   echo ' 
<table width="378" border="0" cellspacing="0" cellpadding="2" bgcolor="#FAF9F5"> 
<tr>
  <td nowrap height="20" style="border: 1px; border-top:0px; border-color: #999999; border-style: solid; background-color: #FFFFFF; padding-left:10px"><p>'.$termin["tag1"][$i].'.'; // Anfangsdatum ausgeben
  if ( strlen($termin["tag2"][$i]) > 1 ) // falls Enddatum (Mehrtagestermin), dieses ausgeben
   {
    echo ' –  '.$termin["tag2"][$i].'.';
    if ( $termin["monat2"][$i] != $termin["monat1"][$i]) // falls Enddatum nicht im gleichem Monat
    {
     echo $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>
	<span class="termine">';
   } else
   {
    echo '</span>
	<span>';   }
   $navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$idcat."&idart=".$termin["idart"][$i]."";
   echo '</span>
   </br> 
  <span><a href="'.$sess->url("$navmod_link").'" class="termine">'.urldecode($termin["titel"][$i]).'</a></span>
  </br>
  <span class="termine">'.urldecode($termin["ort"][$i]).'</span>
  </td>
</tr>
</table>';
  }
 }
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
 echo ' <tr>
  <td colspan=5><b>Es liegen aktuell keine Termine vor!</b></td>
 </tr>';
}
?>
Kannst Du mir einen Tipp geben, worin sich die Startartikelfunktionalität ausdrückt? Im Moment sehe ich nur, daß der Code die DB nach Daten durchstöbern soll. Und das hat der Code nicht gemacht, er hat die Daten nur untereinander geschrieben.

Ich kann mich erinnern, daß HerrB was mit is_start='0' in einem anderen Zusammenhang (Artikelliste blätterbar) moniert hatte.

Ist es die Stelle?

Code: Alles auswählen

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)
Können wir das gemeinsam machen? Na ja, mein Anteil wäre fast null, aber ich würde gern mitdenken. Und vielleicht gibt es welche, die auch gern so eine Terminübersicht für 4.6.x hätten.

Simone

Berni
Beiträge: 14
Registriert: Mi 16. Nov 2005, 21:37
Wohnort: Bad Salzmettwurst
Kontaktdaten:

Beitrag von Berni » Di 22. Nov 2005, 23:10

Fast, also falls du in der config die NEUE Startartikelfunktionalität an hast, kannst du eine Funktion benutzen, welche dir sagt, ob der aktuelle Artikel gerade ein Startartikel ist oder nicht.

Die Fehlermeldung mit den Arrays kommt ja daher das Deine Startartikel mit selektiert werden, das muss also weg.

Allerdings mache ich das nicht über das select, weil ich da ja die Funktion nicht so einfach aufrufen kann, sondern ich mache das dort wo die Datum, Zeiten in die Felder zusammengesucht werden.

Du hast ja eine while-Schleife in der du dir anhand der verschiedenen Termintypenids die Felder zusammen bastelst ... switch case 0

Mache es so, dass Du das Switch NUR dann aufrufst, wenn
if (isStartArticle($db->f("idartlang"),$idcat,$lang)==FALSE) ist. D.h. der aktuelle Artikel ist also per Funktion KEIN Startartikel ...


So müsste es dann aussehen:

Code: Alles auswählen

if (isStartArticle($db->f("idartlang"),$idcat,$lang)==FALSE) {

  switch ($db->f("typeid")) {
   case 0: // Anfangstermin
    $termin["datum1"][$anz] = $db->f("value");
    ......
   break;
   case 6: // Titel
    $termin["titel"][$anz] = $db->f("value");
  break;
  }
}
$j++:
Damit wird der Startartikel weg gelassen, das Array passt, Sort funktioniert und das geht dann so bei mir ... alle Angaben sind ohne Gewähr :wink:

Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone » Mi 23. Nov 2005, 05:48

Hallo Berni,

Deine Argumentation ist logisch und nachvollziehbar.

Ich habe jetzt einfach nur die Zeile und unten die Klammer } ergänzt. Aber eine Fehlermeldung gibts trotzdem. Muß ich irgendetwas anderes im Code wegmachen?

Warning: array_multisort(): Array sizes are inconsistent in /cms/front_content.php(770) : eval()'d code on line 188

Code: Alles auswählen

 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++;
  }

 if (isStartArticle($db->f("idartlang"),$idcat,$lang)==FALSE) {
switch ($db->f("typeid")) {
case 0: // Anfangstermin
Ich habe keine Ahnung, denke aber gefühlsmäßig sozusagen, daß sich zwei Anweisungen wiederholen.

1. ORDER BY ARTLANG.idart, CONTENT.typeid ASC"; // Alle Artikel der Kategorie einlesen, die nicht Startartikel (= Terminübersicht) sind

2. if (isStartArticle($db->f("idartlang"),$idcat,$lang)==FALSE) { //ignoriere den Startartikel.

Ich bräuchte also nochmal deine Hilfe .... :oops:

Gruß Simone

Berni
Beiträge: 14
Registriert: Mi 16. Nov 2005, 21:37
Wohnort: Bad Salzmettwurst
Kontaktdaten:

Beitrag von Berni » Mi 23. Nov 2005, 12:38

Ja das ist doppelt gemoppelt sozusagen, macht aber nix da is_start immer 0 is. Das hat sozusagen keine Funktion mehr. Zur Noten und im Sinne des schöneren SQL-Statements kannst Du die Bedingung ja noch entfernen. (das AND natürlich auc).
Kannst Du mal den ganzen Code hier anzeigen oder mir mailen? Dann gucke ich mal drüber ...

Ok, Lernerfolg für mich: wenn man $db->f("idartlang") in der Funktion benutzen will, muss man es auch im Select mit aussuchen...
*patsch*

Also muss das SQL-Statement so aussehen:
$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

snake*sl
Beiträge: 12
Registriert: Mi 4. Jan 2006, 11:03
Kontaktdaten:

Beitrag von snake*sl » Mi 11. Jan 2006, 21:02

DANKE! Endlich ein brauchbarer Post! :)

Jetzt hat's auch bei mir geklappt. Also für die, die das gleiche Problem haben noch mal der komplette korrekte Quelltext für 4.6.x (Termin-Übersicht Output):

Code: Alles auswählen

<?php
$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");
echo "<h1>CMS_HTMLHEAD[1]</h1>"; // Überschrift der Seite mit der Termin-Übersicht
echo '<table border=0 cellspacing=0 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=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++;
  }
  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,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 ( $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
 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 ) // überprüfen, ob Monatsnahme einzufügen ist
   {
    echo ' <tr>
  <td colspan=6><img border="0" src="images/2.gif" width="100%" height="2" class="line">
 </tr>
 <tr>
  <td colspan=6><h2>';
    switch ($termin["monat1"][$i]) {
     case 1: echo "Januar"; break;
     case 2: echo "Februar"; break;
     case 3: echo "März"; break;
     case 4: echo "April"; break;
     case 5: echo "Mai"; break;
     case 6: echo "Juni"; break;
     case 7: echo "Juli"; break;
     case 8: echo "August"; break;
     case 9: echo "September"; break;
     case 10: echo "Oktober"; break;
     case 11: echo "November"; break;
     case 12: echo "Dezember"; break; }
    if ( $i>1 && $termin["jahr1"][$i] != $termin["jahr1"][$i-1] ) // überprüfen, ob Jahr einzufügen ist
    {
     echo ' '.$termin["jahr1"][$i];
    }
    echo '</h2></td>
 </tr>';
   }
   $gefunden=1;
   echo ' <tr>
  <td nowrap><p id="font">'.$termin["tag1"][$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> ['.$termin["zeit1"][$i].' h]';
   } elseif ( strlen($termin["tag2"][$i]) > 1 ) // falls Enddatum (Mehrtagestermin), dieses ausgeben
   {
    echo ' –<br>  '.$termin["tag2"][$i].'.';
    if ( $termin["monat2"][$i] != $termin["monat1"][$i]) // falls Enddatum nicht im gleichem Monat
    {
     echo $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."&idcat=".$idcat."&idart=".$termin["idart"][$i]."";
   echo '</p></td>
  <td><img border="0" src="images/2.gif" width="8" height="1"></td>
  <td><p id="font">'.urldecode($termin["ort"][$i]).'</p></td>
  <td><img border="0" src="images/2.gif" width="8" 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>';
  }
 }
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
 echo ' <tr>
  <td colspan=5><b>Es liegen aktuell keine Termine vor!</b></td>
 </tr>';
}
?>
</table>
Gruß
snake*sl

Gesperrt