Ich habe da was gefunden in der Konfiguration steht die Anzahl der Termin auf "0" das erzeugt eine Fehler. Wenn ich diese auf "-1" stelle funktioniert es und es werden alle Terime angezeigt.
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Terminliste universal
* Version : 2.6
* Author : schlaucher
* Created : 12-07-2006
* Modified : 06-10-2008
************************************************/
/***********************************************
* Termin-Felder:
*
* $MOD_TE_termin[0] = Startdatum
* $MOD_TE_termin[1] = Startzeit
* $MOD_TE_termin[2] = Enddatum
* $MOD_TE_termin[3] = Endzeit
* $MOD_TE_termin[4] = Ort
* $MOD_TE_termin[5] = Ortdetail
* $MOD_TE_termin[6] = Titel
* $MOD_TE-termin[7] = Check für Teaser
* $MOD_TE_termin[8] = Bemerkung CMS_HTML[8]
* $MOD_TE_termin[9] = Link CMS_LINK[9]
* $MOD_TE_termin[10] = Termin Zyklus
* $MOD_TE_termin[11] = Termin Zyklus Wochentage
* $MOD_TE_termin[12] = jeden 1.,2.,3.,4.,5. Wochentag
* $MOD_TE_termin[13] = Kategorien A
* $MOD_TE_termin[14] = Image
* $MOD_TE_termin[15] = Status
* $MOD_TE_termin[16] = Termin Zyklus jeden x-ten Tag
* $MOD_TE_termin[17] = Termin Zyklus Ausschlussliste
* $MOD_TE_termin[18] = Termin Zyklus Anzeigemodus1 (alle/aktuelle)
* $MOD_TE_termin[19] = Termin Zyklus Anzeigemodus2(Anzahl)
* $MOD_TE_termin[20] = Termin in der Terminliste hervorheben
* $MOD_TE_termin[21] = Kategorien B
************************************************/
#Includes
cInclude('classes', 'class.template.php');
cInclude('frontend', 'includes/functions.terminliste.php');
if ( !is_object($tpl) ) {
$tpl = new Template;
}
$MOD_TL_template = 'terminliste_v2.html';
$MOD_TL_template_footer = 'terminliste_footer_v2.html';
// Definition benötigter Variablen $MOD_TL_[Name]
$MOD_TL_date = date("Y-m-d"); // heutiges Datum im Format JJJJ-MM-TT
$MOD_TL_heute = getdate(); // heutiges Datum als UNIX Timestamp
$MOD_TL_lastmonth = ''; // für die Steuerung der ANzeige der Monatsüberschriften
$MOD_TL_tage1 = array(mi18n("So"),mi18n("Mo"),mi18n("Di"),mi18n("Mi"),mi18n("Do"),mi18n("Fr"),mi18n("Sa"));
$MOD_TL_tage2 = array(mi18n("Sonntag"),mi18n("Montag"),mi18n("Dienstag"),mi18n("Mittwoch"),mi18n("Donnerstag"),mi18n("Freitag"),mi18n("Samstag"));
$MOD_TL_monate = array("",mi18n("Januar"),mi18n("Februar"),mi18n("März"),mi18n("April"),mi18n("Mai"),mi18n("Juni"),mi18n("Juli"),mi18n("August"),mi18n("September"),mi18n("Oktober"),mi18n("November"),mi18n("Dezember"));
$MOD_TL_datensaetze = 0; // Zähler für das Auslesen der Datensätze
$MOD_TL_zaehler = 0; // Zähler für den Termindurchlauf
$MOD_TL_zaehler2 = 0; // Zähler für zyklische Termine
$MOD_TL_farbe = false; // für die Steuerung der Anzeige (Zeilenfarbe)
$MOD_TL_tplgen = false; // wenn 1 dann muss Template noch generiert werden
$MOD_TL_gefunden = false; // für die Steuerung der Anzeige (Termine gefunden)
// Variablen aus Input Bereich
if ("CMS_VALUE[1]" == '') // abgelaufene Termine anzeigen
$MOD_TL_alle = 'no';
else
$MOD_TL_alle = 'yes';
if ("CMS_VALUE[8]" == '') // Termine gruppieren
$MOD_TL_group = 'no';
else
$MOD_TL_group = 'yes';
if ("CMS_VALUE[9]" == '') // Termine verlinken
$MOD_TL_linkyn = 'no';
else
$MOD_TL_linkyn = 'yes';
if ("CMS_VALUE[10]" == '') // Anzeige des Termins auch ohne HTML Info
$MOD_TL_htmlyn = 'no';
else
$MOD_TL_htmlyn = 'yes';
if ("CMS_VALUE[12]" == '')
$MOD_TL_show_monat = false;
else
$MOD_TL_show_monat = true;
if ("CMS_VALUE[19]" == '')
$MOD_TL_kata_tcheck = false;
else
$MOD_TL_kata_tcheck = true;
if ("CMS_VALUE[20]" == '')
$MOD_TL_katb_tcheck = false;
else
$MOD_TL_katb_tcheck = true;
$MOD_TL_zeitraum1 = "CMS_VALUE[2]"; // Zeitraum für abgelaufene Termine
$MOD_TL_zeitraum2 = "CMS_VALUE[3]"; // Zeitraum für aktuelle Termine
$MOD_TL_last_days = "CMS_VALUE[4]"; // abgelaufene Termine der letzten x Tage
$MOD_TL_von_datum = "CMS_VALUE[5]"; // Datum für aktuelle Termine; Anzeige von
$MOD_TL_bis_datum = "CMS_VALUE[6]"; // Datum für aktuelle Termine; Anzeige bis
$MOD_TL_wtag_bez = "CMS_VALUE[7]"; // ANzeige der Wochentage
$MOD_TL_idcat = "CMS_VALUE[11]"; // Kategorie der Termine
$MOD_TL_plustag = "CMS_VALUE[13]"; // Bei Wochen- und Monatsansicht zusätzlich x Tage anzeigen
$MOD_TL_z2_tage = "CMS_VALUE[14]"; // Termine der nächsten x Tage anzeigen
$MOD_TL_anzahl_termine = "CMS_VALUE[15]"; // x Termine anzeigen
$MOD_TL_sort = "CMS_VALUE[16]"; // Sortierung der Termine
$MOD_TL_add_tree = "CMS_VALUE[17]"; // zusätzliche Kategorien anzeigen
$MOD_TL_add_tree_ids = "CMS_VALUE[18]"; // ids der zusätzlichen Kategorien
$MOD_TL_kat_array_a = array("a","CMS_VALUE[40]","b","CMS_VALUE[41]","c","CMS_VALUE[42]","d","CMS_VALUE[43]","e","CMS_VALUE[44]","f","CMS_VALUE[45]","g","CMS_VALUE[46]","h","CMS_VALUE[47]","i","CMS_VALUE[48]","j","CMS_VALUE[49]"); // Terminkategorien in Array
$MOD_TL_kat_array_b = array("a","CMS_VALUE[50]","b","CMS_VALUE[51]","c","CMS_VALUE[52]","d","CMS_VALUE[53]","e","CMS_VALUE[54]","f","CMS_VALUE[55]","g","CMS_VALUE[56]","h","CMS_VALUE[57]","i","CMS_VALUE[58]","j","CMS_VALUE[59]"); // Terminkategorien in Array
// Ermittlung des Anzeigezeitraumes
// Datum wird von der Modulkonfiguration übernommen
$MOD_TL_checkdate_von = dateout($MOD_TL_zeitraum1,$MOD_TL_last_days); // Anzeigedatum des ältesten Termins
if($MOD_TL_zeitraum2 == 'datum') // wenn von - bis gewählt, werden abgelaufene Termine nicht angezeigt
$MOD_TL_checkdate_von = $MOD_TL_von_datum;
$MOD_TL_checkdate_bis = datein($MOD_TL_zeitraum2,$MOD_TL_plustag,$MOD_TL_z2_tage,$MOD_TL_bis_datum); // Anzeigedatum des aktuellsten Termins
if ($_REQUEST['MOD_sK_newdate']) // Datum wurde über das Dropdown-Feld oder Monat vor/zurück des sKalender neu gesetzt
{
$MOD_TL_newdate_array = explode("-",$_REQUEST['MOD_sK_newdate']); // yyyy-m-t oder mm tt
$MOD_TL_checkdate_von = date("Y-m-d", mktime (0,0,0, $MOD_TL_newdate_array[1], 1, $MOD_TL_newdate_array[0]));
$MOD_TL_tag_max = date( "t", mktime(0,0,0, $MOD_TL_newdate_array[1], 1, $MOD_TL_newdate_array[0]));
$MOD_TL_checkdate_bis = date("Y-m-d", mktime (0,0,0, $MOD_TL_newdate_array[1], $MOD_TL_tag_max, $MOD_TL_newdate_array[0]));
}
if ($_REQUEST['MOD_sK_newdate'] && ($_REQUEST['MOD_sK_show'] == 't')) // Datum wurde über die Auswahl eines Termins im sKalender neu gesetzt
{
$MOD_TL_newdate_array = explode("-",$_REQUEST['MOD_sK_newdate']); // yyyy-m-t oder mm tt
$MOD_TL_checkdate_von = date("Y-m-d", mktime (0,0,0, $MOD_TL_newdate_array[1], $MOD_TL_newdate_array[2], $MOD_TL_newdate_array[0]));
$MOD_TL_checkdate_bis = date("Y-m-d", mktime (0,0,0, $MOD_TL_newdate_array[1], $MOD_TL_newdate_array[2], $MOD_TL_newdate_array[0]));
}
if ($_REQUEST['MOD_TS_suchen']) // Datum wurde über das Modul Terminliste Selekt gesetzt
{
// Zeitoptionen prüfen
if($_REQUEST['MOD_TS_timeopt'])
{
$MOD_TL_checkdate_von = dateout($_REQUEST['MOD_TS_timeopt'],'');
$MOD_TL_checkdate_bis = datein($_REQUEST['MOD_TS_timeopt'],'','','');
}
// von - bis Datumseingabe prüfen
if($_REQUEST['MOD_TS_datum_von'] != '')
{
$MOD_TL_array_datum_von = explode(".",$_REQUEST['MOD_TS_datum_von']);
if (checkdate($MOD_TL_array_datum_von[1],$MOD_TL_array_datum_von[0],$MOD_TL_array_datum_von[2]))
{
if (strlen($MOD_TL_array_datum_von[2]) == 2)
$MOD_TL_array_datum_von[2] = '20'.$MOD_TL_array_datum_von[2];
if (strlen($MOD_TL_array_datum_von[1]) == 1)
$MOD_TL_array_datum_von[1] = '0'.$MOD_TL_array_datum_von[1];
if (strlen($MOD_TL_array_datum_von[0]) == 1)
$MOD_TL_array_datum_von[0] = '0'.$MOD_TL_array_datum_von[0];
$MOD_TL_checkdate_von = $MOD_TL_array_datum_von[2].'-'.$MOD_TL_array_datum_von[1].'-'.$MOD_TL_array_datum_von[0];
if($_REQUEST['MOD_TS_datum_bis'] != '')
{
$MOD_TL_array_datum_bis = explode(".",$_REQUEST['MOD_TS_datum_bis']);
if (checkdate($MOD_TL_array_datum_bis[1],$MOD_TL_array_datum_bis[0],$MOD_TL_array_datum_bis[2]))
{
if (strlen($MOD_TL_array_datum_bis[2]) == 2)
$MOD_TL_array_datum_bis[2] = '20'.$MOD_TL_array_datum_bis[2];
if (strlen($MOD_TL_array_datum_bis[1]) == 1)
$MOD_TL_array_datum_bis[1] = '0'.$MOD_TL_array_datum_bis[1];
if (strlen($MOD_TL_array_datum_bis[0]) == 1)
$MOD_TL_array_datum_bis[0] = '0'.$MOD_TL_array_datum_bis[0];
$MOD_TL_checkdate_bis = $MOD_TL_array_datum_bis[2].'-'.$MOD_TL_array_datum_bis[1].'-'.$MOD_TL_array_datum_bis[0];
}
}
else
$MOD_TL_checkdate_bis = '9999-99-99';
}
}
// Kategorien ermitteln
if($_REQUEST['MOD_TS_kata_check'] == "yes")
{
$MOD_TL_kata_scheck = true;
if($_REQUEST['MOD_TS_kata_select'])
{
if($_REQUEST['MOD_TS_kata_select'] == "z")
$MOD_TL_kata_scheck = false;
else
$MOD_TL_array_check_kata[0] = $_REQUEST['MOD_TS_kata_select'];
}
$MOD_TL_kata_zaehler = 0;
for($MOD_TL_kata_zaehler2 = 0; $MOD_TL_kata_zaehler2<=23; $MOD_TL_kata_zaehler2 = $MOD_TL_kata_zaehler2+2)
{
if ($_REQUEST['MOD_TS_kata_check'.$MOD_TL_kata_zaehler2])
{
$MOD_TL_array_check_kata[$MOD_TL_kata_zaehler] = $_REQUEST['MOD_TS_kata_check'.$MOD_TL_kata_zaehler2];
$MOD_TL_kata_zaehler++;
}
}
if($MOD_TL_kata_zaehler == 10) // keine Prüfung, da alle Kategorien ausgewählt
$MOD_TL_kata_scheck = false;
}
// Kategorien ermitteln
if($_REQUEST['MOD_TS_katb_check'] == "yes")
{
$MOD_TL_katb_scheck = true;
if($_REQUEST['MOD_TS_katb_select'])
{
if($_REQUEST['MOD_TS_katb_select'] == "z")
$MOD_TL_katb_scheck = false;
else
$MOD_TL_array_check_katb[0] = $_REQUEST['MOD_TS_katb_select'];
}
$MOD_TL_katb_zaehler = 0;
for($MOD_TL_katb_zaehler2 = 0; $MOD_TL_katb_zaehler2<=23; $MOD_TL_katb_zaehler2 = $MOD_TL_katb_zaehler2+2)
{
if ($_REQUEST['MOD_TS_katb_check'.$MOD_TL_katb_zaehler2])
{
$MOD_TL_array_check_katb[$MOD_TL_katb_zaehler] = $_REQUEST['MOD_TS_katb_check'.$MOD_TL_katb_zaehler2];
$MOD_TL_katb_zaehler++;
}
}
if($MOD_TL_katb_zaehler == 10) // keine Prüfung, da alle Kategorien ausgewählt
$MOD_TL_katb_scheck = false;
}
}
// echo '<br><br><b>Anzeigedatum von: '.$MOD_TL_checkdate_von.' bis '.$MOD_TL_checkdate_bis.'</b><br><br>';
// Überprüfung ob zusätzliche Verzeichnis-Kategorien gewählt wurden
if ($MOD_TL_add_tree == "" || ($MOD_TL_add_tree_ids == "" && $MOD_TL_add_tree == "auswahl"))
$MOD_TL_add_tree = 'keine';
// zusätzliche Verzeichnis-Kategorien ermitteln
$MOD_TL_sel_tree = "'".$MOD_TL_idcat."'";
switch ($MOD_TL_add_tree)
{
case "unterhalb":
$MOD_TL_tree_level = -1;
$MOD_TL_sql_tree = "SELECT CAT.idcat AS idcat, CATTREE.level AS level ";
$MOD_TL_sql_tree .= "FROM ".$cfg["tab"]["cat"]." AS CAT,";
$MOD_TL_sql_tree .= " ".$cfg["tab"]["cat_tree"]." AS CATTREE ";
$MOD_TL_sql_tree .= "WHERE CAT.idcat = CATTREE.idcat ";
$MOD_TL_sql_tree .= "ORDER BY CATTREE.idtree";
$db->query($MOD_TL_sql_tree);
while($db->next_record())
{
if ($db->f("idcat") == $MOD_TL_idcat)
$MOD_TL_tree_level = $db->f("level");
else if ($MOD_TL_tree_level > -1 && $db->f("level") > $MOD_TL_tree_level)
$MOD_TL_sel_tree .= ",'".$db->f("idcat")."'";
else if ($db->f("level") <= $MOD_TL_tree_level)
break;
}
break;
case "auswahl":
$MOD_TL_add_tree_array = explode(",",$MOD_TL_add_tree_ids);
foreach ($MOD_TL_add_tree_array as $MOD_TL_add_tree_value)
{
if (is_numeric($MOD_TL_add_tree_value))
$MOD_TL_sel_tree .= ",'".$MOD_TL_add_tree_value."'";
}
break;
default:
}
// Alle Artikel der Kategorie einlesen, die nicht Startartikel sind
$MOD_TL_sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid, ARTLANG.idartlang, CONTENT.idtype ";
$MOD_TL_sql .= "FROM ".$cfg["tab"]["cat_art"]." AS CATART,";
$MOD_TL_sql .= " ".$cfg["tab"]["art_lang"]." AS ARTLANG,";
$MOD_TL_sql .= " ".$cfg["tab"]["cat"]." AS CAT,";
$MOD_TL_sql .= " ".$cfg["tab"]["content"]." AS CONTENT,";
$MOD_TL_sql .= " ".$cfg["tab"]["cat_lang"]." AS CATLANG ";
$MOD_TL_sql .= "WHERE ARTLANG.idart = CATART.idart ";
$MOD_TL_sql .= "AND CATART.idcat = CAT.idcat ";
$MOD_TL_sql .= "AND ARTLANG.idartlang = CONTENT.idartlang ";
$MOD_TL_sql .= "AND ARTLANG.idlang = '".$lang."' ";
$MOD_TL_sql .= "AND CAT.idcat IN (".$MOD_TL_sel_tree.") ";
$MOD_TL_sql .= "AND CAT.idclient = '".$client."' ";
$MOD_TL_sql .= "AND ARTLANG.online = '1' "; // nur Artikel die online sind
$MOD_TL_sql .= "AND CATART.idcat = CATLANG.idcat ";
if ($cfg["is_start_compatible"] == true)
$MOD_TL_sql .= "AND CATART.is_start = '0' ";
else
$MOD_TL_sql .= "AND CONTENT.idartlang != CATLANG.startidartlang ";
$MOD_TL_sql .= "ORDER BY ARTLANG.idart, CONTENT.typeid ASC";
$db->query($MOD_TL_sql);
// weiter, wenn Artikel gefunden wurden werden die Felder in ein Array geschrieben
if ($db->num_rows() > 0)
{
$MOD_TL_termine = array(array()); // Array erzeugen, in dem die Termindaten abgelegt werden;
while ($MOD_TL_datensaetze < $db->num_rows()) // alle Datensätze durchlaufen und Inhalte in Array schreiben
{
$db->next_record();
if ($db->f("idart") > $MOD_TL_termine["idart"][$MOD_TL_zaehler])
$MOD_TL_zaehler++;
if (isStartArticle($db->f("idartlang"),$MOD_TL_durchlaufdcat,$lang)==FALSE)
{
$MOD_TL_linktyp = $db->f("idtype");
switch ($db->f("typeid"))
{
case 0: // Anfangstermin
if ($MOD_TL_linktyp == '3') // Text
{
$MOD_TL_termine["datum1"][$MOD_TL_zaehler] = $db->f("value");
if (strlen($MOD_TL_termine["datum1"][$MOD_TL_zaehler]) < 10 ) // falsches oder kein Datum
$MOD_TL_termine["datum1"][$MOD_TL_zaehler] = '1970-01-01';
$MOD_TL_termine["idart"][$MOD_TL_zaehler] = $db->f("idart");
$MOD_TL_termine["html"][$MOD_TL_zaehler] = '';
$MOD_TL_termine["link"][$MOD_TL_zaehler] = '';
$MOD_TL_termine["linkframe"][$MOD_TL_zaehler] = '';
$MOD_TL_termine["kategoriea"][$MOD_TL_zaehler] = '';
$MOD_TL_termine["kategorieb"][$MOD_TL_zaehler] = '';
$MOD_TL_termine["zyklus"][$MOD_TL_zaehler] = 'no';
$MOD_TL_termine["xtag"][$MOD_TL_zaehler] = '';
$MOD_TL_termine["aliste"][$MOD_TL_zaehler] = '';
$MOD_TL_termine["hightlight"][$MOD_TL_zaehler] = '';
$MOD_TL_termine["zutermine"][$MOD_TL_zaehler] = '';
}
break;
case 1: // Anfangsuhrzeit
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["zeit1"][$MOD_TL_zaehler] = $db->f("value");
break;
case 2: // Endtermin
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["datum2"][$MOD_TL_zaehler] = $db->f("value");
break;
case 3: // Enduhrzeit
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["zeit2"][$MOD_TL_zaehler] = $db->f("value");
break;
case 4: // Ort
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["ort"][$MOD_TL_zaehler] = $db->f("value");
break;
case 6: // Titel
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["titel"][$MOD_TL_zaehler] = $db->f("value");
break;
case 8: // HTML
$MOD_TL_termine["html"][$MOD_TL_zaehler] = $db->f("value");
break;
case 9: // Link, Achtung 4 Zustände
if ($MOD_TL_linktyp == '6') // Link
$MOD_TL_termine["link"][$MOD_TL_zaehler] = $db->f("value");
if ($MOD_TL_linktyp == '7') // Target
$MOD_TL_termine["linkframe"][$MOD_TL_zaehler] = $db->f("value");
if ($MOD_TL_linktyp == '8') // Linkdescription
$MOD_TL_termine["linkdesc"][$MOD_TL_zaehler] = $db->f("value");
break;
case 10: // Termin Zyklus
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["zyklus"][$MOD_TL_zaehler] = $db->f("value");
break;
case 11: // Zyklus Wochentage
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["wtagezyklus"][$MOD_TL_zaehler] = $db->f("value");
break;
case 12: // 1., 2., ... Wochentag im Monat
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["wtagemon"][$MOD_TL_zaehler] = $db->f("value");
break;
case 13: // Terminkategorien A
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["kategoriea"][$MOD_TL_zaehler] = $db->f("value");
break;
case 16: // Zyklus xten Tag
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["xtag"][$MOD_TL_zaehler] = $db->f("value");
break;
case 17: // Ausschlussliste
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["aliste"][$MOD_TL_zaehler] = $db->f("value");
break;
case 20: // Termin hervorheben
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["hightlight"][$MOD_TL_zaehler] = $db->f("value");
break;
case 21: // Terminkategorien B
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["kategorieb"][$MOD_TL_zaehler] = $db->f("value");
break;
case 22: // zusätzliche termine
if ($MOD_TL_linktyp == '3') // Text
$MOD_TL_termine["zutermine"][$MOD_TL_zaehler] = $db->f("value");
break;
}
}
$MOD_TL_datensaetze++;
}
// Ermittlung der zyklischen Termine und Löschen von Datensätzen, die nicht angezeigt werden müssen
$MOD_TL_zaehler2 = $MOD_TL_zaehler+1; // zweiten Zähler anlegen
for ($MOD_TL_durchlauf=0; $MOD_TL_durchlauf<=$MOD_TL_zaehler; $MOD_TL_durchlauf++)
{
if (($MOD_TL_termine["zyklus"][$MOD_TL_durchlauf] != 'no' || $MOD_TL_termine["zutermine"][$MOD_TL_durchlauf] != '') && $MOD_TL_termine["idart"][$MOD_TL_durchlauf] != '' ) // Zyklischer Termin
{
$MOD_TL_zdate_array = makedatearray($MOD_TL_termine["datum1"][$MOD_TL_durchlauf],$MOD_TL_termine["datum2"][$MOD_TL_durchlauf],
$MOD_TL_termine["zyklus"][$MOD_TL_durchlauf],$MOD_TL_termine["xtag"][$MOD_TL_durchlauf],
$MOD_TL_termine["aliste"][$MOD_TL_durchlauf],$MOD_TL_checkdate_von,$MOD_TL_checkdate_bis,
$MOD_TL_termine["wtagezyklus"][$MOD_TL_durchlauf],$MOD_TL_termine["wtagemon"][$MOD_TL_durchlauf],$MOD_TL_termine["zutermine"][$MOD_TL_durchlauf]);
for ($MOD_TL_durchlauf2=0; $MOD_TL_durchlauf2<count($MOD_TL_zdate_array); $MOD_TL_durchlauf2++)
{
if($MOD_TL_zdate_array[$MOD_TL_durchlauf2] && ($MOD_TL_zdate_array[$MOD_TL_durchlauf2] != $MOD_TL_termine["datum1"][$MOD_TL_durchlauf]))
{
$MOD_TL_termine["datum1"][$MOD_TL_zaehler2] = $MOD_TL_zdate_array[$MOD_TL_durchlauf2];
$MOD_TL_termine["datum2"][$MOD_TL_zaehler2] = ' ';
$MOD_TL_termine["zeit1"][$MOD_TL_zaehler2] = $MOD_TL_termine["zeit1"][$MOD_TL_durchlauf];
$MOD_TL_termine["zeit2"][$MOD_TL_zaehler2] = $MOD_TL_termine["zeit2"][$MOD_TL_durchlauf];
$MOD_TL_termine["ort"][$MOD_TL_zaehler2] = $MOD_TL_termine["ort"][$MOD_TL_durchlauf];
$MOD_TL_termine["titel"][$MOD_TL_zaehler2] = $MOD_TL_termine["titel"][$MOD_TL_durchlauf];
$MOD_TL_termine["idart"][$MOD_TL_zaehler2] = $MOD_TL_termine["idart"][$MOD_TL_durchlauf];
$MOD_TL_termine["html"][$MOD_TL_zaehler2] = $MOD_TL_termine["html"][$MOD_TL_durchlauf];
$MOD_TL_termine["link"][$MOD_TL_zaehler2] = $MOD_TL_termine["link"][$MOD_TL_durchlauf];
$MOD_TL_termine["linkframe"][$MOD_TL_zaehler2] = $MOD_TL_termine["linkframe"][$MOD_TL_durchlauf];
$MOD_TL_termine["kategoriea"][$MOD_TL_zaehler2] = $MOD_TL_termine["kategoriea"][$MOD_TL_durchlauf];
$MOD_TL_termine["kategorieb"][$MOD_TL_zaehler2] = $MOD_TL_termine["kategorieb"][$MOD_TL_durchlauf];
$MOD_TL_termine["hightlight"][$MOD_TL_zaehler2] = $MOD_TL_termine["hightlight"][$MOD_TL_durchlauf];
$MOD_TL_zaehler2++;
}
}
if ($MOD_TL_termine["zyklus"][$MOD_TL_durchlauf] != 'no')
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] = ' ';
}
}
// Prüfung ob Termin im aktuellen Anzeigezeitrahmen ist
for ($MOD_TL_durchlauf=0; $MOD_TL_durchlauf<=$MOD_TL_zaehler2; $MOD_TL_durchlauf++)
{
$MOD_TL_temin1_del = false;
if (!(($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_checkdate_von && $MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_checkdate_bis) ||
($MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_checkdate_von && $MOD_TL_termine["datum2"][$MOD_TL_durchlauf] <= $MOD_TL_checkdate_bis ) ||
($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] < $MOD_TL_checkdate_von && $MOD_TL_termine["datum2"][$MOD_TL_durchlauf] > $MOD_TL_checkdate_bis)))
$MOD_TL_temin1_del = true;
$MOD_TL_temin2_del = false;
if($MOD_TL_kata_scheck || $MOD_TL_katb_scheck) // Kategorien über SelectModul
{
$MOD_TL_temin2_del = true;
if($MOD_TL_kata_scheck)
{
for($MOD_TL_durchlauf2 = 0; $MOD_TL_durchlauf2 < count($MOD_TL_array_check_kata); $MOD_TL_durchlauf2++)
{
if(eregi($MOD_TL_array_check_kata[$MOD_TL_durchlauf2], $MOD_TL_termine["kategoriea"][$MOD_TL_durchlauf]))
$MOD_TL_temin2_del = false;
}
}
if($MOD_TL_katb_scheck && $MOD_TL_temin2_del)
{
for($MOD_TL_durchlauf2 = 0; $MOD_TL_durchlauf2 < count($MOD_TL_array_check_katb); $MOD_TL_durchlauf2++)
{
if(eregi($MOD_TL_array_check_katb[$MOD_TL_durchlauf2], $MOD_TL_termine["kategorieb"][$MOD_TL_durchlauf]))
$MOD_TL_temin2_del = false;
}
}
}
elseif($MOD_TL_kata_tcheck || $MOD_TL_katb_tcheck) // Kategorien über Templatekonfiguration
{
$MOD_TL_temin2_del = true;
if($MOD_TL_kata_tcheck)
{
for($MOD_TL_durchlauf2 = 0; $MOD_TL_durchlauf2 < 19; $MOD_TL_durchlauf2 = $MOD_TL_durchlauf2+2)
{
if($MOD_TL_kat_array_a[$MOD_TL_durchlauf2+1] == "yes")
{
if(eregi($MOD_TL_kat_array_a[$MOD_TL_durchlauf2], $MOD_TL_termine["kategoriea"][$MOD_TL_durchlauf]))
$MOD_TL_temin2_del = false;
}
}
}
if($MOD_TL_katb_tcheck && $MOD_TL_temin2_del)
{
$MOD_TL_temin2_del = true;
for($MOD_TL_durchlauf2 = 0; $MOD_TL_durchlauf2 < 19; $MOD_TL_durchlauf2 = $MOD_TL_durchlauf2+2)
{
if($MOD_TL_kat_array_b[$MOD_TL_durchlauf2+1] == "yes")
{
if(eregi($MOD_TL_kat_array_b[$MOD_TL_durchlauf2], $MOD_TL_termine["kategorieb"][$MOD_TL_durchlauf]))
$MOD_TL_temin2_del = false;
}
}
}
}
if($MOD_TL_temin1_del || $MOD_TL_temin2_del)
{
unset ($MOD_TL_termine["datum1"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["datum2"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["zeit1"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["zeit2"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["ort"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["titel"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["idart"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["html"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["link"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["linkframe"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["kategoriea"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["kategorieb"][$MOD_TL_durchlauf]);
unset ($MOD_TL_termine["hightlight"][$MOD_TL_durchlauf]);
}
}
if( !empty($MOD_TL_termine["datum1"]) )
{
// nach Datum und Zeit sortieren
if ($MOD_TL_sort == 'ASC')
{
array_multisort ( $MOD_TL_termine["datum1"], SORT_ASC, SORT_STRING,
$MOD_TL_termine["zeit1"], SORT_ASC, SORT_STRING,
$MOD_TL_termine["zeit2"], SORT_ASC, SORT_STRING,
$MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
$MOD_TL_termine["idart"],
$MOD_TL_termine["ort"],
$MOD_TL_termine["titel"],
$MOD_TL_termine["html"],
$MOD_TL_termine["link"],
$MOD_TL_termine["linkframe"],
$MOD_TL_termine["hightlight"] );
}
else
{
array_multisort ( $MOD_TL_termine["datum1"], SORT_DESC, SORT_STRING,
$MOD_TL_termine["zeit1"], SORT_ASC, SORT_STRING,
$MOD_TL_termine["zeit2"], SORT_ASC, SORT_STRING,
$MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
$MOD_TL_termine["idart"],
$MOD_TL_termine["ort"],
$MOD_TL_termine["titel"],
$MOD_TL_termine["html"],
$MOD_TL_termine["link"],
$MOD_TL_termine["linkframe"],
$MOD_TL_termine["hightlight"] );
}
}
// Aufbau der Ausgabe
$tpl->reset();
//ermitteln die Anzahl der Array-Eintrage
if($MOD_TL_anzahl_termine >= 0)
$MOD_TL_arraycount = $MOD_TL_anzahl_termine;
else
$MOD_TL_arraycount = count($MOD_TL_termine["datum1"]);
for ($MOD_TL_durchlauf=0; $MOD_TL_durchlauf<$MOD_TL_arraycount; $MOD_TL_durchlauf++) // Durchlauf aller gefundenen Datensätze
{
if (strlen($MOD_TL_termine["datum1"][$MOD_TL_durchlauf]) > 1) // leere Datensätze entfernen
{
$MOD_TL_datum1_array = explode("-",$MOD_TL_termine["datum1"][$MOD_TL_durchlauf]);
$MOD_TL_datum2_array = explode("-",$MOD_TL_termine["datum2"][$MOD_TL_durchlauf]);
if ( $MOD_TL_datum1_array[1] != $MOD_TL_lastmonth || $MOD_TL_datum1_array[0] != $MOD_TL_lastyear ) // überprüfen, ob Monatsname eingefügt werden muss
{
if (!$MOD_TL_lastmonth) // erster Durchlauf
{
$MOD_TL_farbe = false;
$tpl->reset();
$MOD_TL_tplgen = true;
}
else
{
$tpl->generate('templates/'.$MOD_TL_template);
$MOD_TL_farbe = false;
$tpl->reset();
$MOD_TL_tplgen = true;
}
$MOD_TL_monat1 = $MOD_TL_monate[$MOD_TL_datum1_array[1]*1];
$tpl->set('s', 'MONAT1', $MOD_TL_monat1);
$tpl->set('s', 'JAHR1', $MOD_TL_datum1_array[0]);
}
if ($MOD_TL_group == 'yes')
{
if ($MOD_TL_datum1_array[2] == $MOD_TL_lastday && $MOD_TL_datum1_array[1] == $MOD_TL_lastmonth && $MOD_TL_datum1_array[0] == $MOD_TL_lastyear )
{
$MOD_TL_printdate = false;
if (!$MOD_TL_farbe)
$tpl->set('d', 'TR', '<tr class="dunkel">');
else
$tpl->set('d', 'TR', '<tr class="hell">');
}
else
{
$MOD_TL_printdate = true;
if (!$MOD_TL_farbe)
{
$tpl->set('d', 'TR', '<tr class="hell">');
$MOD_TL_farbe = true;
}
else
{
$tpl->set('d', 'TR', '<tr class="dunkel">');
$MOD_TL_farbe = false;
}
}
}
else
{
$MOD_TL_printdate = true;
if (!$MOD_TL_farbe)
{
$tpl->set('d', 'TR', '<tr class="hell">');
$MOD_TL_farbe = true;
}
else
{
$tpl->set('d', 'TR', '<tr class="dunkel">');
$MOD_TL_farbe = false;
}
}
$MOD_TL_wochentag1 = '';
$MOD_TL_wochentag2 = '';
if ($MOD_TL_wtag_bez == 'kurz' )
{
$MOD_TL_wochentag = getdate(mktime(0,0,0,$MOD_TL_datum1_array[1],$MOD_TL_datum1_array[2],$MOD_TL_datum1_array[0]));
$MOD_TL_wochentag1 = $MOD_TL_tage1[$MOD_TL_wochentag["wday"]].', ';
if (strlen($MOD_TL_termine["datum2"][$MOD_TL_durchlauf]) > 1)
{
$MOD_TL_wochentag = getdate(mktime(0,0,0,$MOD_TL_datum2_array[1],$MOD_TL_datum2_array[2],$MOD_TL_datum2_array[0]));
$MOD_TL_wochentag2 = $MOD_TL_tage1[$MOD_TL_wochentag["wday"]].', ';
}
}
if ($MOD_TL_wtag_bez == 'lang' )
{
$MOD_TL_wochentag = getdate(mktime(0,0,0,$MOD_TL_datum1_array[1],$MOD_TL_datum1_array[2],$MOD_TL_datum1_array[0]));
$MOD_TL_wochentag1 = $MOD_TL_tage2[$MOD_TL_wochentag["wday"]].', ';
if (strlen($MOD_TL_termine["datum2"][$MOD_TL_durchlauf]) > 1)
{
$MOD_TL_wochentag = getdate(mktime(0,0,0,$MOD_TL_datum2_array[1],$MOD_TL_datum2_array[2],$MOD_TL_datum2_array[0]));
$MOD_TL_wochentag2 = $MOD_TL_tage2[$MOD_TL_wochentag["wday"]].', ';
}
}
if ($MOD_TL_show_monat) // Monat mit einblenden
$MOD_TL_datum1 = $MOD_TL_datum1_array[2].'.'.$MOD_TL_datum1_array[1];
else
$MOD_TL_datum1 = $MOD_TL_datum1_array[2];
if (strlen($MOD_TL_termine["datum2"][$MOD_TL_durchlauf]) > 1)
{
if ( $MOD_TL_datum2_array[0] != $MOD_TL_datum1_array[0]) // falls Enddatum nicht im gleichen Jahr
$MOD_TL_datum2 = $MOD_TL_datum2_array[2].'.'.$MOD_TL_datum2_array[1].'.'.$MOD_TL_datum2_array[0];
elseif ( $MOD_TL_datum2_array[1] != $MOD_TL_datum1_array[1]) // falls Enddatum nicht im gleichem Monat
$MOD_TL_datum2 = $MOD_TL_datum2_array[2].'.'.$MOD_TL_datum2_array[1].'.';
else
{
if ($MOD_TL_show_monat)
$MOD_TL_datum2 = $MOD_TL_datum2_array[2].'.'.$MOD_TL_datum2_array[1];
else
$MOD_TL_datum2 = $MOD_TL_datum2_array[2];
}
if ($MOD_TL_printdate)
{
$tpl->set('d', 'WTAG1', $MOD_TL_wochentag1);
$tpl->set('d', 'DATUM1', $MOD_TL_datum1.'. -');
$tpl->set('d', 'WTAG2', $MOD_TL_wochentag2);
$tpl->set('d', 'DATUM2', $MOD_TL_datum2);
}
else
{
$tpl->set('d', 'WTAG1', '- '.$MOD_TL_wochentag2);
$tpl->set('d', 'DATUM1', $MOD_TL_datum2);
$tpl->set('d', 'WTAG2', '');
$tpl->set('d', 'DATUM2', '');
}
}
else
{
if ($MOD_TL_printdate)
{
$tpl->set('d', 'WTAG1', $MOD_TL_wochentag1);
$tpl->set('d', 'DATUM1', $MOD_TL_datum1.'.');
}
else
{
$tpl->set('d', 'WTAG1', '');
$tpl->set('d', 'DATUM1', '');
}
$tpl->set('d', 'WTAG2', '');
$tpl->set('d', 'DATUM2', '');
}
if (strlen($MOD_TL_termine["zeit1"][$MOD_TL_durchlauf]) > 1) { $MOD_TL_zeit1 = $MOD_TL_termine["zeit1"][$MOD_TL_durchlauf].' '.mi18n("Uhr"); } else { $MOD_TL_zeit1 = ''; }
if (strlen($MOD_TL_termine["zeit2"][$MOD_TL_durchlauf]) > 1) { $MOD_TL_zeit2 = $MOD_TL_termine["zeit2"][$MOD_TL_durchlauf].' '.mi18n("Uhr"); } else { $MOD_TL_zeit2 = ''; }
if ($MOD_TL_template != "sk_tagesansicht.html")
{
$tpl->set('d', 'ZEIT1', $MOD_TL_zeit1);
$tpl->set('d', 'ZEIT2', $MOD_TL_zeit2);
}
else
{
if ( $MOD_TL_zeit1 == '' )
$MOD_TL_zeit = mi18n("ganztägig");
elseif ( $MOD_TL_zeit2 == '' )
$MOD_TL_zeit = $MOD_TL_zeit1;
else
$MOD_TL_zeit = mi18n("von").' '.$MOD_TL_zeit1.' '.mi18n("bis").' '.$MOD_TL_zeit2;
$tpl->set('d', 'ZEIT', $MOD_TL_zeit);
}
$tpl->set('d', 'ORT', $MOD_TL_termine["ort"][$MOD_TL_durchlauf]);
if($MOD_TL_termine["hightlight"][$MOD_TL_durchlauf] == '1')
$MOD_TL_titelclass = 'style="color: red;"';
else
$MOD_TL_titelclass = '';
if (strlen($MOD_TL_termine["link"][$MOD_TL_durchlauf]) > 0 && $MOD_TL_linkyn == 'yes')
{
if (strlen($MOD_TL_termine["link"][$MOD_TL_durchlauf]) > 7)
$MOD_TL_link ='<a '.$MOD_TL_titelclass.' href="'.urldecode($MOD_TL_termine["link"][$MOD_TL_durchlauf]).'" target="'.$MOD_TL_termine["linkframe"][$MOD_TL_durchlauf].'">'.$MOD_TL_termine["titel"][$MOD_TL_durchlauf].'</a>';
else
{
$MOD_TL_navmod_link = 'front_content.php?&idcatart='.$MOD_TL_termine["link"][$MOD_TL_durchlauf].'';
$MOD_TL_link ='<a '.$MOD_TL_titelclass.' href="'.$sess->url("$MOD_TL_navmod_link").'" >'.$MOD_TL_termine["titel"][$MOD_TL_durchlauf].'</a>';
}
}
else
{
if ($MOD_TL_termine["html"][$MOD_TL_durchlauf] != '' )
{
$MOD_TL_navmod_link = 'front_content.php?idart='.$MOD_TL_termine["idart"][$MOD_TL_durchlauf].'';
$MOD_TL_link ='<a '.$MOD_TL_titelclass.' href="'.$sess->url("$MOD_TL_navmod_link").'" >'.$MOD_TL_termine["titel"][$MOD_TL_durchlauf].'</a>';
}
elseif ( $MOD_TL_htmlyn == 'yes' )
{
$MOD_TL_navmod_link = 'front_content.php?idart='.$MOD_TL_termine["idart"][$MOD_TL_durchlauf].'';
$MOD_TL_link ='<a '.$MOD_TL_titelclass.' href="'.$sess->url("$MOD_TL_navmod_link").'" >'.$MOD_TL_termine["titel"][$MOD_TL_durchlauf].'</a>';
}
else
$MOD_TL_link = '<a '.$MOD_TL_titelclass.''.$MOD_TL_termine["titel"][$MOD_TL_durchlauf].'</a>';
}
$tpl->set('d', 'LINK', $MOD_TL_link);
$tpl->set('d', 'TITEL', $MOD_TL_termine["titel"][$MOD_TL_durchlauf]);
$tpl->next();
$MOD_TL_lastday = $MOD_TL_datum1_array[2];
$MOD_TL_lastmonth = $MOD_TL_datum1_array[1];
$MOD_TL_lastyear = $MOD_TL_datum1_array[0];
$MOD_TL_gefunden = true;
$MOD_TL_printdate = true;
}
}
}
if ($MOD_TL_tplgen)
$tpl->generate('templates/'.$MOD_TL_template);
if (!$MOD_TL_gefunden) // falls kein aktueller Termin vorliegt
{
$tpl->reset();
$tpl->set('s', 'TEXT', mi18n("Es liegen aktuell keine Termine vor!"));
$tpl->generate('templates/'.$MOD_TL_template_footer);
}
?>