Terminliste universal V2.5.3 mit sKalender u. Mehrfachtermin
-
- Beiträge: 444
- Registriert: Mi 14. Sep 2005, 10:38
- Wohnort: Karlsruhe
- Kontaktdaten:
Darüber habe ich mir noch keine Gedanken gemacht. Das ganze müsste dann ja über einen "echten Cron-Job" gesteuert werden.silicone hat geschrieben:Hallo Schlaucher,
der Kalender sieht richtig klasse aus. Kompliment!
Sag mal, gibt es eine Möglichkeit, dass bei einem anfallendem Termin zum Beispiel alle Frontenduser eine Mail erhalten?
Gruß,
Thomas
Ist sicher eine Überlegung wert, aber z.Z. nicht in Planung.
Ich halte aber niemanden davon ab, so etwas dazu zu entwickeln
Gruß
schlaucher
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Hallo.
Ich habe das klasse Modul nun schon in meinem CMS laufen, als eine Art Geburtstagskalender! Klappt auch alles wunderbar!
nun möchte ich den Kalender im selben Auftritte (natürlich in verschiedene Tempelates) ein zweites mal verweden. hetzt jedoch als sKalender! Hierbei stoße ich auf folgende Fehlermeldung
Sowie folgende Fehlermaldung
Ich habe das klasse Modul nun schon in meinem CMS laufen, als eine Art Geburtstagskalender! Klappt auch alles wunderbar!
nun möchte ich den Kalender im selben Auftritte (natürlich in verschiedene Tempelates) ein zweites mal verweden. hetzt jedoch als sKalender! Hierbei stoße ich auf folgende Fehlermeldung
Das heißt die der sKalender wird angezeigt! Nur die Termin-Übersicht nicht! Den termin den ich eingepflegt habe wir auch angezeigt (wenn ich bei Artikeleigenschaften die URL des Artikles ausgebe und im Browser neu öffne)Fatal error: Maximum execution time of 1 second exceeded in \cms\front_content.php(928) : eval()'d code on line 3503
Sowie folgende Fehlermaldung
Kann mir da jemand helfen?Fatal error: Maximum execution time of 1 second exceeded in \contenido\includes\functions.transformations.php on line 414
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Ja, zum einen solltest du die aktuelle Version der vpTransformationen installieren. Die ist um einiges performanter.derSteffen hat geschrieben:Kann mir da jemand helfen?
Zum anderen ist eine max_execution_time von 1 Sekunde extrem niedrig. Da solltest du mal beim Hoster anfragen.
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Danke für die zügige Antwort!
Also am Hoster liegt es nicht, da ich lokal arbeite! Komisch ist doch nur das mein andere Kalender (ohne sKalender) funktioniert. Hier werden die Termine im Teaser und in der Terminliste wunderbar ausgegeben!
Ich darf doch sKalender und Terminliste in einem Tempelate haben und nicht haben, oder? Das ist doch egal?
Also am Hoster liegt es nicht, da ich lokal arbeite! Komisch ist doch nur das mein andere Kalender (ohne sKalender) funktioniert. Hier werden die Termine im Teaser und in der Terminliste wunderbar ausgegeben!
Ich darf doch sKalender und Terminliste in einem Tempelate haben und nicht haben, oder? Das ist doch egal?
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
-
- Beiträge: 444
- Registriert: Mi 14. Sep 2005, 10:38
- Wohnort: Karlsruhe
- Kontaktdaten:
das könnte von folgenden Codezeilen im sKalender Modul kommen:derSteffen hat geschrieben: nun möchte ich den Kalender im selben Auftritte (natürlich in verschiedene Tempelates) ein zweites mal verweden. hetzt jedoch als sKalender! Hierbei stoße ich auf folgende Fehlermeldung Zitat:Code: Alles auswählen
Fatal error: Maximum execution time of 1 second exceeded in \cms\front_content.php(928) : eval()'d code on line 3503
Code: Alles auswählen
function sKalender()
{
// Verhindert mögliche Endlosloops Ausführungszeit max 1 Sek.
set_time_limit( 1 );
Ja, das sollte keine Probleme bereiten, da jedes Modul seine eigenen Variablen benutzt.derSteffen hat geschrieben:Ich darf doch sKalender und Terminliste in einem Tempelate haben und nicht haben, oder? Das ist doch egal?
Gruß
schlaucher
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Code: Alles auswählen
function sKalender()
{
// Verhindert mögliche Endlosloops Ausführungszeit max 1 Sek.
set_time_limit( 1 );
Code: Alles auswählen
set.time_limit (1);
Hallo,
bei mir werden in der Terminliste (v. 2.4) auf einmal neu eingetragene Termine nicht mehr dem Monat zugeordnet, sondern erscheinen als seperater Monat am ende der Liste. z.B.
Dezember 2006
- Termin 1
- Termin 2
Januar 2007
- Termin 1
- Termin2
Februar 2007
- Termin 1
- Termin 2
Dezember 2006
- neu eingetragener Termin 3
Woran kann das denn liegen?
Danke,
Tom
bei mir werden in der Terminliste (v. 2.4) auf einmal neu eingetragene Termine nicht mehr dem Monat zugeordnet, sondern erscheinen als seperater Monat am ende der Liste. z.B.
Dezember 2006
- Termin 1
- Termin 2
Januar 2007
- Termin 1
- Termin2
Februar 2007
- Termin 1
- Termin 2
Dezember 2006
- neu eingetragener Termin 3
Woran kann das denn liegen?
Danke,
Tom
-
- Beiträge: 444
- Registriert: Mi 14. Sep 2005, 10:38
- Wohnort: Karlsruhe
- Kontaktdaten:
Hi Tom,tommo hat geschrieben:Hallo,
bei mir werden in der Terminliste (v. 2.4) auf einmal neu eingetragene Termine nicht mehr dem Monat zugeordnet, sondern erscheinen als seperater Monat am ende der Liste. z.B.
Dezember 2006
- Termin 1
- Termin 2
Januar 2007
- Termin 1
- Termin2
Februar 2007
- Termin 1
- Termin 2
Dezember 2006
- neu eingetragener Termin 3
Woran kann das denn liegen?
Danke,
Tom
V2.4 oder 2.4.1? Hast Du mal ein Link für mich, wo ich mir das anschauen kann? Könnte am array_multisort liegen, aber zu wenig Input.
Gruß
schlaucher
Servus schlaucher,
ich hatte diesen array_multisort Fehler, den ich aber dank des Forums wegbekommen habe ($array_multisort = array ...).
Ich kann Dir leider keinen Link geben, da die Termine in einem geschützten Bereich liegen und die Seite schon online ist.
Ich hoffe, Du kannst mir auch so helfen, sonst per PN,
Danke schonmal,
Tom
Hier jedoch der Output des Terminlisten-Moduls
ich hatte diesen array_multisort Fehler, den ich aber dank des Forums wegbekommen habe ($array_multisort = array ...).
Ich kann Dir leider keinen Link geben, da die Termine in einem geschützten Bereich liegen und die Seite schon online ist.
Ich hoffe, Du kannst mir auch so helfen, sonst per PN,
Danke schonmal,
Tom
Hier jedoch der Output des Terminlisten-Moduls
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Terminliste universal
* Version : 2.4
* Author : schlaucher
* Created : 12-07-2006
* Modified : 12-10-2006
************************************************/
#Includes
cInclude('classes', 'class.template.php');
if ( !is_object($tpl) ) {
$tpl = new Template;
}
$MOD_TL_template = 'terminliste_v2.html';
$MOD_TL_template_header = 'terminliste_header_v2.html';
$MOD_TL_template_footer = 'terminliste_footer_v2.html';
// wird die Terminliste über das sKalender Modul aufgerufen, wird ein anderes Template benötigt
switch ($MOD_sK_show)
{
case "t": // Tagesansicht
$MOD_TL_template = 'sk_tagesansicht.html';
break;
case "m": // Monatsansicht
$MOD_TL_template = 'sk_monatsansicht.html';
break;
case "w": // Wochenansicht
$MOD_sKA_template = 'sk_wochenansicht.html';
break;
}
$MOD_TL_date_input = $MOD_sK_put_date; // Datum - Übergabe aus dem sKalender
$MOD_TL_mode_input = $MOD_sK_show; // Anzeigemodus - Übergabe aus dem sKalender
// 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_zaehler3 = 0; // Zähler für x 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]" == '') { $MOD_TL_alle = 'no'; } else { $MOD_TL_alle = 'yes'; }
$MOD_TL_zeitraum1 = "CMS_VALUE[2]"; // Zeitraum für abgelaufene Termine
$MOD_TL_zeitraum2 = "CMS_VALUE[3]"; // Zeitraum für aktuelle Termine
$MOD_TL_ab_datum = "CMS_VALUE[4]"; // Datum für abgelaufene Termine; Anzeige ab diesem Datum
$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
if ("CMS_VALUE[8]" == '') { $MOD_TL_group = 'no'; } else { $MOD_TL_group = 'yes'; } // Termine gruppieren
if ("CMS_VALUE[9]" == '') { $MOD_TL_linkyn = 'no'; } else { $MOD_TL_linkyn = 'yes'; } // Termine verlinken
if ("CMS_VALUE[10]" == '') { $MOD_TL_htmlyn = 'no'; } else { $MOD_TL_htmlyn = 'yes'; } // Anzeige des Termins auch ohne HTML Info
$MOD_TL_idcat = "CMS_VALUE[11]"; // Kategorie der Termine
if ("CMS_VALUE[12]" == '') { $MOD_TL_show_monat = false; } else { $MOD_TL_show_monat = true; } //
$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_z2_termine = "CMS_VALUE[15]"; // x Termine anzeigen
$MOD_TL_sort = "CMS_VALUE[16]"; // Sortierung der Termine
$MOD_TL_kat_array = array("a","CMS_VALUE[17]","b","CMS_VALUE[18]","c","CMS_VALUE[19]","d","CMS_VALUE[20]","e","CMS_VALUE[21]","f","CMS_VALUE[22]","g","CMS_VALUE[23]","h","CMS_VALUE[24]","i","CMS_VALUE[25]","j","CMS_VALUE[26]"); // Terminkategorien in Array
if ("CMS_VALUE[27]" == '') { $MOD_TL_akt_alle = 'no'; } else { $MOD_TL_akt_alle = 'yes'; } // aktuelle Termine anzeigen (global)
if ("CMS_VALUE[28]" == '') { $MOD_TL_show_kat = 'no'; } else { $MOD_TL_show_kat = 'yes'; } // Terminkategorien anzeigen
$MOD_TL_add_tree = "CMS_VALUE[29]"; // zusätzliche Kategorien anzeigen
$MOD_TL_add_tree_ids = "CMS_VALUE[30]"; // ids der zusätzlichen Kategorien
if ("CMS_VALUE[31]" == '') { $MOD_TL_MR = 'no'; } else { $MOD_TL_MR = 'yes'; } // Seite für ModRewrite
// Überprüfung ob zusätzliche 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 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' ";
$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
if ($db->num_rows() > 0)
{
$MOD_TL_termine = array(array()); // Array erzeugen, in dem die Termine abgelegt werden;
while ($MOD_TL_datensaetze < $db->num_rows()) // alle Datensätze durchlaufen
{
$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");
$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["kategorie"][$MOD_TL_zaehler] = '';
$MOD_TL_termine["zyklus"][$MOD_TL_zaehler] = 'no';
//echo '["datum1"]: '.$MOD_TL_zaehler.' | '.$MOD_TL_termine["datum1"][$MOD_TL_zaehler].'<br>';
}
break;
case 1: // Anfangsuhrzeit
if ($MOD_TL_linktyp == '3') // Text
{ $MOD_TL_termine["zeit1"][$MOD_TL_zaehler] = $db->f("value"); }
//echo '["zeit1"]: '.$MOD_TL_zaehler.' | '.$MOD_TL_termine["zeit1"][$MOD_TL_zaehler].'<br>';
break;
case 2: // Endtermin
if ($MOD_TL_linktyp == '3') // Text
{ $MOD_TL_termine["datum2"][$MOD_TL_zaehler] = $db->f("value"); }
//echo '["datum2"]: '.$MOD_TL_zaehler.' | '.$MOD_TL_termine["datum2"][$MOD_TL_zaehler].'<br>';
break;
case 3: // Enduhrzeit
if ($MOD_TL_linktyp == '3') // Text
{ $MOD_TL_termine["zeit2"][$MOD_TL_zaehler] = $db->f("value"); }
//echo '["zeit2"]: '.$MOD_TL_zaehler.' | '.$MOD_TL_termine["zeit2"][$MOD_TL_zaehler].'<br>';
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
//$MOD_TL_linktyp = $db->f("idtype");
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
if ($MOD_TL_linktyp == '3') // Text
{ $MOD_TL_termine["kategorie"][$MOD_TL_zaehler] = $db->f("value"); }
break;
}
}
$MOD_TL_datensaetze++;
}
$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["idart"][$MOD_TL_durchlauf] != '' ) // Zyklischer Termin
{
$MOD_TL_datum1_array = explode("-",$MOD_TL_termine["datum1"][$MOD_TL_durchlauf]); // Startdatum in Array schreiben
$MOD_TL_datum2_array = explode("-",$MOD_TL_termine["datum2"][$MOD_TL_durchlauf]); // Enddatum in Array schreiben
if ($MOD_TL_termine["zyklus"][$MOD_TL_durchlauf] == 'tag' || $MOD_TL_termine["zyklus"][$MOD_TL_durchlauf] == 'woche') // täglicher oder wöchentlicher Termin
{
if ($MOD_TL_termine["zyklus"][$MOD_TL_durchlauf] == 'tag' )
{ $MOD_TL_diff = 86400; } else { $MOD_TL_diff = 604800; } // Faktor bestimmen
// Anzahl der Tage ermitteln
$MOD_TL_anzahl = (mktime('0','0','0', $MOD_TL_datum2_array[1],$MOD_TL_datum2_array[2],$MOD_TL_datum2_array[0])-mktime('0','0','0', $MOD_TL_datum1_array[1],$MOD_TL_datum1_array[2],$MOD_TL_datum1_array[0]))/$MOD_TL_diff;
// Timestamp des Startdatums
$MOD_TL_mktime = mktime(0,0,0,$MOD_TL_datum1_array[1],$MOD_TL_datum1_array[2],$MOD_TL_datum1_array[0]);
for ( $MOD_TL_durchlauf2=0; $MOD_TL_durchlauf2<=$MOD_TL_anzahl; $MOD_TL_durchlauf2++)
{
if ($MOD_TL_durchlauf2>0) // erst mit dem 2. Datensatz beginnen, da der erste schon existiert
{
$MOD_TL_datum1_neu = date("Y-m-d",$MOD_TL_mktime);
$MOD_TL_termine["datum1"][$MOD_TL_zaehler2] = $MOD_TL_datum1_neu;
$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["kategorie"][$MOD_TL_zaehler2] = $MOD_TL_termine["kategorie"][$MOD_TL_durchlauf];
$MOD_TL_zaehler2++;
}
else
{
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] = ''; // vom original Datensatz wird das Enddatum gelöscht
}
if ($MOD_TL_termine["zyklus"][$MOD_TL_durchlauf] == 'tag')
$MOD_TL_mktime = mktime(0,0,0,$MOD_TL_datum1_array[1],$MOD_TL_datum1_array[2]+$MOD_TL_durchlauf2+1,$MOD_TL_datum1_array[0]);
else
$MOD_TL_mktime = mktime(0,0,0,$MOD_TL_datum1_array[1],$MOD_TL_datum1_array[2]+(($MOD_TL_durchlauf2+1)*7),$MOD_TL_datum1_array[0]);
}
}
if ($MOD_TL_termine["zyklus"][$MOD_TL_durchlauf] == 'monat') // monatlicher Termin
{
$MOD_TL_mktime1 = mktime(0,0,0,$MOD_TL_datum1_array[1],$MOD_TL_datum1_array[2],$MOD_TL_datum1_array[0]); // Timestamp ermitteln
$MOD_TL_mktime2 = mktime(0,0,0,$MOD_TL_datum2_array[1],$MOD_TL_datum2_array[2],$MOD_TL_datum2_array[0]); // Timestamp ermitteln
$MOD_TL_durchlauf2=1;
while ( $MOD_TL_mktime1<=$MOD_TL_mktime2 )
{
if ($MOD_TL_durchlauf2>1) // erst mit dem 2. Datensatz beginnen, da der erste schon existiert
{
$MOD_TL_datum1_neu = date("Y-m-d",$MOD_TL_mktime1);
$MOD_TL_termine["datum1"][$MOD_TL_zaehler2] = $MOD_TL_datum1_neu;
$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["kategorie"][$MOD_TL_zaehler2] = $MOD_TL_termine["kategorie"][$MOD_TL_durchlauf];
$MOD_TL_zaehler2++;
}
else
{
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] = ''; // vom original Datensatz wird das Enddatum gelöscht
}
$MOD_TL_mktime1 = mktime(0,0,0,$MOD_TL_datum1_array[1]+$MOD_TL_durchlauf2,$MOD_TL_datum1_array[2],$MOD_TL_datum1_array[0]);
$MOD_TL_durchlauf2++;
}
}
if ($MOD_TL_termine["zyklus"][$MOD_TL_durchlauf] == 'wtage')
{
$MOD_TL_diff = 86400;
$MOD_TL_anzahl = (mktime('0','0','0', $MOD_TL_datum2_array[1],$MOD_TL_datum2_array[2],$MOD_TL_datum2_array[0])-mktime('0','0','0', $MOD_TL_datum1_array[1],$MOD_TL_datum1_array[2],$MOD_TL_datum1_array[0]))/$MOD_TL_diff;
// Eingabefeld der Tage prüfen
if (stristr($MOD_TL_termine["wtagezyklus"][$MOD_TL_durchlauf], ',')) // Werte wurden mit Komma getrennt
{
$MOD_TL_wtage_array = explode(",",$MOD_TL_termine["wtagezyklus"][$MOD_TL_durchlauf]);
}
elseif ($MOD_TL_termine["wtagezyklus"][$MOD_TL_durchlauf] != '') // nur ein Tag
{
$MOD_TL_wtage_array[0] = $MOD_TL_termine["wtagezyklus"][$MOD_TL_durchlauf];
}
$MOD_TL_mktime = mktime(0,0,0,$MOD_TL_datum1_array[1],$MOD_TL_datum1_array[2],$MOD_TL_datum1_array[0]);
$MOD_TL_first_day = true; // wird für das erste gefundene Datum benötigt
for ( $MOD_TL_durchlauf2=0; $MOD_TL_durchlauf2<=$MOD_TL_anzahl; $MOD_TL_durchlauf2++)
{
$MOD_TL_wtag_check = getdate($MOD_TL_mktime);
$MOD_TL_mtag_check = $MOD_TL_wtag_check[mday]; // Numerischer Tag des Monats ermitteln
$MOD_TL_wtag_check = $MOD_TL_tage1[$MOD_TL_wtag_check[wday]]; // Wochentagabkürzung des aktuellen Wochentages ermitteln
$MOD_TL_wtag_ok = true;
if (in_array($MOD_TL_wtag_check, $MOD_TL_wtage_array))
{
if (strlen($MOD_TL_termine["wtagemon"][$MOD_TL_durchlauf]) > 1 ) {// Prüfung auf 1.,2. ...
$MOD_TL_wtag_ok = false;
if (stristr($MOD_TL_termine["wtagemon"][$MOD_TL_durchlauf], '1')) {
if ( $MOD_TL_mtag_check >= 1 && $MOD_TL_mtag_check <=7 )
$MOD_TL_wtag_ok = true;
}
if (stristr($MOD_TL_termine["wtagemon"][$MOD_TL_durchlauf], '2') && !$MOD_TL_wtag_ok) {
if ( $MOD_TL_mtag_check >= 8 && $MOD_TL_mtag_check <=14 )
$MOD_TL_wtag_ok = true;
}
if (stristr($MOD_TL_termine["wtagemon"][$MOD_TL_durchlauf], '3') && !$MOD_TL_wtag_ok) {
if ( $MOD_TL_mtag_check >= 15 && $MOD_TL_mtag_check <=21 )
$MOD_TL_wtag_ok = true;
}
if (stristr($MOD_TL_termine["wtagemon"][$MOD_TL_durchlauf], '4') && !$MOD_TL_wtag_ok) {
if ( $MOD_TL_mtag_check >= 22 && $MOD_TL_mtag_check <=28 )
$MOD_TL_wtag_ok = true;
}
}
if ($MOD_TL_wtag_ok)
{
if (!$MOD_TL_first_day) // erst mit dem 2. Datensatz beginnen, da der erste schon existiert
{
$MOD_TL_datum1_neu = date("Y-m-d",$MOD_TL_mktime);
$MOD_TL_termine["datum1"][$MOD_TL_zaehler2] = $MOD_TL_datum1_neu;
$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["kategorie"][$MOD_TL_zaehler2] = $MOD_TL_termine["kategorie"][$MOD_TL_durchlauf];
$MOD_TL_zaehler2++;
}
else
{
$MOD_TL_datum1_neu = date("Y-m-d",$MOD_TL_mktime);
$MOD_TL_termine["datum1"][$MOD_TL_durchlauf] = $MOD_TL_datum1_neu;
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] = '';
$MOD_TL_first_day = false;
}
}
}
$MOD_TL_mktime = mktime(0,0,0,$MOD_TL_datum1_array[1],$MOD_TL_datum1_array[2]+$MOD_TL_durchlauf2+1,$MOD_TL_datum1_array[0]);
}
}
}
}
if( !empty($MOD_TL_termine["datum1"]) )
{
// nach Datum und Zeit sortieren
if ($MOD_TL_sort == 'ASC') {
$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"] );
}
else {
$array_multisort = array (
$termin["datum1"], SORT_DESC, 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"] );
}
}
// Aufbau der Ausgabe
$tpl->reset();
if (strlen($MOD_TL_date_input) > 0 ) // wenn ein Datum über sKalender kam muss diesen umgewandet und das Enddatum des Monats berechnet werden
{
$MOD_TL_date_input_array = explode("-",$MOD_TL_date_input);
if (strlen($MOD_TL_date_input_array[1]) == 1 ) // Monat nur eine Ziffer, dann führende Null voansetzen
$MOD_TL_date_input_array[1] = '0'.$MOD_TL_date_input_array[1];
if (strlen($MOD_TL_date_input_array[2]) == 1 ) // Tag nur eine Ziffer, dann führende Null voansetzen
$MOD_TL_date_input_array[2] = '0'.$MOD_TL_date_input_array[2];
$MOD_TL_mktime_array = mktime(0,0,0,$MOD_TL_date_input_array[1],$MOD_TL_date_input_array[2],$MOD_TL_date_input_array[0]);
$MOD_TL_date_input_tage = date("t",$MOD_TL_mktime_array); // Anzahl der Tag des aktuellen Monats
$MOD_TL_date_input_anfang = $MOD_TL_date_input_array[0].'-'.$MOD_TL_date_input_array[1].'-'.$MOD_TL_date_input_array[2];
$MOD_TL_date_input_ende = $MOD_TL_date_input_array[0].'-'.$MOD_TL_date_input_array[1].'-'.$MOD_TL_date_input_tage;
}
if ($MOD_TL_show_kat == 'yes' ) // Ausgabe der Terminkategorien vorbereiten
{
if ( $MOD_TL_MR == 'no' )
$MOD_TL_front_content = 'front_content.php';
else
$MOD_TL_front_content = '';
if ( strlen($MOD_sK_put_date) >1 ) // Aufruf erfolgte über sKalender
$MOD_TL_sk = '&MOD_sK_put_date='.$MOD_sK_put_date.'&MOD_sK_show='.$MOD_sK_show;
else
$MOD_TL_sk = '';
$MOD_TL_kat_html = mi18n("Bitte gewünschte Kategorie auswählen: ");
$MOD_TL_kat_form = '<select name="changeactivelang" onchange="parent.frames.top.location.href = this.value">
<option value="'.$MOD_TL_front_content.'?client='.$client.'&parent='.$parent.'&subid='.$subid.'&idcat='.$idcat.'&MOD_TL_kat_select=z'.$MOD_TL_sk.'">Alle</option>';
for ($MOD_TL_zaehler=0; $MOD_TL_zaehler<=19; $MOD_TL_zaehler = $MOD_TL_zaehler+2 )
{
if (stristr($MOD_TL_kat_array[$MOD_TL_zaehler+1], mi18n("Kategorie")))
{ $MOD_TL_kat_option = false; } else { $MOD_TL_kat_option = true; }
if ($MOD_TL_kat_option)
{
if ($MOD_TL_kat_select == $MOD_TL_kat_array[$MOD_TL_zaehler])
$MOD_TL_selected = 'selected';
else
$MOD_TL_selected = '';
$MOD_TL_kat_form .= '<option value="'.$MOD_TL_front_content.'?client='.$client.'&parent='.$parent.'&subid='.$subid.'&idcat='.$idcat.'&MOD_TL_kat_select='.$MOD_TL_kat_array[$MOD_TL_zaehler].$MOD_TL_sk.'" '.$MOD_TL_selected.' >'.$MOD_TL_kat_array[$MOD_TL_zaehler+1].'</option>';
}
}
$MOD_TL_kat_form .= '</select></form>';
$tpl->reset();
$tpl->set('s', 'TEXT', $MOD_TL_kat_html);
$tpl->set('s', 'FORM', $MOD_TL_kat_form);
$tpl->generate('templates/'.$MOD_TL_template_header);
}
for ($MOD_TL_durchlauf=0; $MOD_TL_durchlauf<=$MOD_TL_zaehler2; $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_alle == 'yes' && $MOD_TL_mode_input =='' ) // abgelaufene Termine
{
//echo '$MOD_TL_alle<br>';
if ( $MOD_TL_zeitraum1 == 'alle' ) // alle abgelaufene Termine
{
// alle
if ($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_date ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_date ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] <= $MOD_TL_date ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] <= $MOD_TL_date)
{ $MOD_TL_auswahl1 = true; } else { $MOD_TL_auswahl1 = false; }
}
if ( $MOD_TL_zeitraum1 == 'monat') // abgelaufene Termine im aktuellen Monat
{
// aktueller Monat
if ($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_date ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_date ||
$MOD_TL_datum1_array[1] >= $MOD_TL_heute["mon"])
{ $MOD_TL_auswahl1 = true; } else { $MOD_TL_auswahl1 = false; }
}
if ( $MOD_TL_zeitraum1 == 'woche' ) // abgelaufene Termine in der aktuellen Woche
{
$MOD_TL_wtag_aktuell = getdate(mktime());
$MOD_TL_wtag_diff = $MOD_TL_wtag_aktuell["wday"]-1;
$MOD_TL_diffw = $MOD_TL_date;
if ($MOD_TL_wtag_diff >= 1)
{
$MOD_TL_diffw = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-$MOD_TL_wtag_diff, date("Y")));
}
if ($MOD_TL_wtag_diff < 0)
{
$MOD_TL_diffw = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-6, date("Y")));
}
// aktuelle Woche
if ($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_diffw ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_diffw)
{ $MOD_TL_auswahl1 = true; } else { $MOD_TL_auswahl1 = false; }
}
if ( $MOD_TL_zeitraum1 == 'datum' ) // abgelaufene Termine ab Datum
{
// ab Datum
if ($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_ab_datum ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_ab_datum )
{ $MOD_TL_auswahl1 = true; } else { $MOD_TL_auswahl1 = false; }
}
}
else
{
//echo '! $MOD_TL_alle<br>';
if ( $MOD_TL_mode_input =='m' || $MOD_TL_mode_input =='t') // Termine über sKalender überprüfen
{
//echo '$MOD_TL_mode_input<br>';
if ( $MOD_TL_mode_input =='m') // abgelaufene Termine im gewählten Monat
{
//echo '$MOD_TL_mode_input = m<br>';
// aktueller Monat
if (($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_date_input_anfang &&
$MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_date_input_ende) ||
($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_date_input_anfang &&
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_date_input_anfang &&
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] <= $MOD_TL_date_input_ende) ||
($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_date_input_anfang &&
$MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_date_input_ende &&
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_date_input_ende) ||
($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_date_input_anfang &&
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_date_input_ende) )
{ $MOD_TL_auswahl1 = true; $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl1 = false; }
}
if ( $MOD_TL_mode_input =='t') // abgelaufene Termine im gewählten Monat
{
//echo '$MOD_TL_mode_input = m '.$MOD_TL_date_input_anfang.'<br>';
// aktueller Monat
if ( $MOD_TL_termine["datum1"][$MOD_TL_durchlauf] == $MOD_TL_date_input_anfang ||
($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_date_input_anfang &&
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] == $MOD_TL_date_input_anfang) ||
($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_date_input_anfang &&
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_date_input_anfang) )
{ $MOD_TL_auswahl1 = true; $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl1 = false; }
}
}
else
{
// nur aktuelle Termine
if ($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_date ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_date)
{ $MOD_TL_auswahl1 = true; } else { $MOD_TL_auswahl1 = false; }
}
}
if ($MOD_TL_auswahl1 && $MOD_TL_akt_alle == 'yes') // aktuelle Termine prüfen
{
if ( $MOD_TL_zeitraum2 == 'alle' ) // alle aktuellen Termine
{
// keine Prüfung mehr nötig
$MOD_TL_auswahl2 = true;
}
if ( $MOD_TL_zeitraum2 == 'termine' ) // nur xxx Termine anzeigen
{
// keine Prüfung mehr nötig
if ($MOD_TL_zaehler3 < $MOD_TL_z2_termine)
{ $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl2 = false; }
$MOD_TL_zaehler3++;
}
if ( $MOD_TL_zeitraum2 == 'monat' ) // nur aktuelle Termine im aktuellen Monat
{
// aktueller Monat
if ($MOD_TL_datum1_array[1] == $MOD_TL_heute["mon"] ||
$MOD_TL_datum2_array[1] == $MOD_TL_heute["mon"])
{ $MOD_TL_auswahl2 = true; }
else
{
// Prüfung auf + xxx Tage
$MOD_TL_neues_datum1 = date("Y-m-d", mktime (0,0,0, ($MOD_TL_heute["mon"] + 1), 1, $MOD_TL_heute["year"] ));
$MOD_TL_neues_datum2 = date("Y-m-d", mktime (0,0,0, ($MOD_TL_heute["mon"] + 1), $MOD_TL_plustag, $MOD_TL_heute["year"] ));
if (strlen($MOD_TL_termine["datum2"][$MOD_TL_durchlauf]) > 1)
{
if (($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_neues_datum1 ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_neues_datum1) &&
($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_neues_datum2 ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] <= $MOD_TL_neues_datum2))
{ $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl2 = false; }
} else {
if ($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_neues_datum1 &&
$MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_neues_datum2)
{ $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl2 = false; }
}
}
}
if ( $MOD_TL_zeitraum2 == 'woche' ) // nur aktuelle Termine in der aktuellen Woche
{
$MOD_TL_wtag_aktuell = getdate(mktime());
$MOD_TL_wtag_diff = 7-$MOD_TL_wtag_aktuell["wday"];
if ($MOD_TL_wtag_diff == 6)
{
$MOD_TL_von_datum = $MOD_TL_date;
$MOD_TL_bis_datum = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")+6+$MOD_TL_plustag, date("Y")));
}
else
{
if ($MOD_TL_wtag_diff == 7)
{
$MOD_TL_von_datum = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-6, date("Y")));
$MOD_TL_bis_datum = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")+$MOD_TL_plustag, date("Y")));
}
else
{
$MOD_TL_von_datum = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-$MOD_TL_wtag_aktuell["wday"]+1, date("Y")));
$MOD_TL_bis_datum = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")+$MOD_TL_wtag_diff+$MOD_TL_plustag, date("Y")));
}
}
if (strlen($MOD_TL_termine["datum2"][$MOD_TL_durchlauf]) > 1)
{
if (($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_von_datum ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_von_datum) &&
($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_bis_datum ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] <= $MOD_TL_bis_datum))
{ $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl2 = false; }
} else {
if ($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_von_datum &&
$MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_bis_datum)
{ $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl2 = false; }
}
}
if ( $MOD_TL_zeitraum2 == 'tage' ) // nur aktuelle Termine der nächsten xxx Tage
{
$MOD_TL_von_datum = $MOD_TL_date;
$MOD_TL_bis_datum = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")+$MOD_TL_z2_tage, date("Y")));
//echo 'von / bis '.$MOD_TL_von_datum.' | '.$MOD_TL_bis_datum.'<br>';
if (strlen($MOD_TL_termine["datum2"][$MOD_TL_durchlauf]) > 1)
{
if (($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_von_datum ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_von_datum) &&
($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_bis_datum ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] <= $MOD_TL_bis_datum))
{ $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl2 = false; }
} else {
if ($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_von_datum &&
$MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_bis_datum)
{ $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl2 = false; }
}
}
if ( $MOD_TL_zeitraum2 == 'datum' ) // nur aktuelle Termine im aktuellen Zeitraum
{
// aktueller Zeitraum
if (strlen($MOD_TL_termine["datum2"][$MOD_TL_durchlauf]) > 1)
{
if (($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_von_datum ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_von_datum) &&
($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_bis_datum ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] <= $MOD_TL_bis_datum))
{ $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl2 = false; }
} else {
if ($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_von_datum &&
$MOD_TL_termine["datum1"][$MOD_TL_durchlauf] <= $MOD_TL_bis_datum)
{ $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl2 = false; }
}
}
}
elseif ($MOD_TL_auswahl1 && $MOD_TL_akt_alle == 'no') // aktuelle Termine prüfen
{
$MOD_TL_datum_heute = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d"), date("Y")));
if ($MOD_TL_termine["datum1"][$MOD_TL_durchlauf] >= $MOD_TL_datum_heute ||
$MOD_TL_termine["datum2"][$MOD_TL_durchlauf] >= $MOD_TL_datum_heute)
{ $MOD_TL_auswahl2 = false; } else { $MOD_TL_auswahl2 = true; }
}
else
{
$MOD_TL_auswahl2 = false;
}
if ( $MOD_TL_auswahl2 && $MOD_TL_show_kat == 'yes' ) // nach Terminkategorien filtern
{
if ($MOD_TL_kat_select != '')
{
if (stristr($MOD_TL_termine["kategorie"][$MOD_TL_durchlauf], $MOD_TL_kat_select))
{ $MOD_TL_auswahl2 = true; } else { $MOD_TL_auswahl2 = false; }
}
if ( $MOD_TL_kat_select == 'z' )
$MOD_TL_auswahl2 = true;
}
if ($MOD_TL_auswahl2) // Template aufbauen
{
if ($MOD_TL_template != "sk_tagesansicht.html")
{
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]);
}
}
else
{
$MOD_TL_tplgen = true;
$MOD_TL_group = 'no';
$MOD_TL_farbe = false;
$MOD_TL_wochentag = getdate(mktime(0,0,0,$MOD_TL_date_input_array[1],$MOD_TL_date_input_array[2],$MOD_TL_date_input_array[0]));
$MOD_TL_wochentag = $MOD_TL_tage2[$MOD_TL_wochentag["wday"]].', ';
$MOD_TL_monat = $MOD_TL_monate[$MOD_TL_date_input_array[1]*1];
$tpl->set('s', 'WTAG', $MOD_TL_wochentag);
$tpl->set('s', 'TAG', $MOD_TL_date_input_array[2]);
$tpl->set('s', 'MONAT', $MOD_TL_monat);
$tpl->set('s', 'JAHR', $MOD_TL_date_input_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-&g
-
- Beiträge: 444
- Registriert: Mi 14. Sep 2005, 10:38
- Wohnort: Karlsruhe
- Kontaktdaten:
o.k. den Code kenne ich (das nächste mal mit [/code] abschließen)tommo hat geschrieben:Servus schlaucher,
ich hatte diesen array_multisort Fehler, den ich aber dank des Forums wegbekommen habe ($array_multisort = array ...).
Ich kann Dir leider keinen Link geben, da die Termine in einem geschützten Bereich liegen und die Seite schon online ist.
Ich hoffe, Du kannst mir auch so helfen, sonst per PN,
Danke schonmal,
Tom
Hier jedoch der Output des Terminlisten-Moduls
Kannst Du mir mal was via PN schicken? Ich müsste das im ganzen sehen.
Gruß
schlaucher
Hallo Schlaucher,
super Modul. Ich bin begeistert.
Ich habe es unter http://www.webec.de eingesetzt.
Derzeit stelle ich die Homepage auf Zweisprachigkeit um. Dazu muss ich leider an die Links in der Navigation und in den Modulen &lang=$lang anhängen. Dies hat auch bei allen Modulen geklappt bis auf das Kalendermodul. Da wird oben offensichtlich auch die Sprache ausgelesen und steht als Variable auch zur Verfügung (mit echo $lang; getestet), aber die Links übernehmen die Variable leider nicht.
Beispiel: http://www.webec.de/front_content.php?i ... _sK_show=t
Vielleicht kannst du mir helfen.
Vielen Dank
Gruß Mc
super Modul. Ich bin begeistert.
Ich habe es unter http://www.webec.de eingesetzt.
Derzeit stelle ich die Homepage auf Zweisprachigkeit um. Dazu muss ich leider an die Links in der Navigation und in den Modulen &lang=$lang anhängen. Dies hat auch bei allen Modulen geklappt bis auf das Kalendermodul. Da wird oben offensichtlich auch die Sprache ausgelesen und steht als Variable auch zur Verfügung (mit echo $lang; getestet), aber die Links übernehmen die Variable leider nicht.
Beispiel: http://www.webec.de/front_content.php?i ... _sK_show=t
Vielleicht kannst du mir helfen.
Vielen Dank
Gruß Mc
Hallo Schlaucher,
super Modul. Ich bin begeistert.
Ich habe es unter http://www.webec.de eingesetzt.
Derzeit stelle ich die Homepage auf Zweisprachigkeit um. Dazu muss ich leider an die Links in der Navigation und in den Modulen &lang=$lang anhängen. Dies hat auch bei allen Modulen geklappt bis auf das Kalendermodul. Da wird oben offensichtlich auch die Sprache ausgelesen und steht als Variable auch zur Verfügung (mit echo $lang; getestet), aber die Links übernehmen die Variable leider nicht.
Beispiel: http://www.webec.de/front_content.php?i ... _sK_show=t
Vielleicht kannst du mir helfen.
Vielen Dank
Gruß Mc
super Modul. Ich bin begeistert.
Ich habe es unter http://www.webec.de eingesetzt.
Derzeit stelle ich die Homepage auf Zweisprachigkeit um. Dazu muss ich leider an die Links in der Navigation und in den Modulen &lang=$lang anhängen. Dies hat auch bei allen Modulen geklappt bis auf das Kalendermodul. Da wird oben offensichtlich auch die Sprache ausgelesen und steht als Variable auch zur Verfügung (mit echo $lang; getestet), aber die Links übernehmen die Variable leider nicht.
Beispiel: http://www.webec.de/front_content.php?i ... _sK_show=t
Vielleicht kannst du mir helfen.
Vielen Dank
Gruß Mc
-
- Beiträge: 444
- Registriert: Mi 14. Sep 2005, 10:38
- Wohnort: Karlsruhe
- Kontaktdaten:
Hi, werde mir das am Wochenende mal anschauen!Mc hat geschrieben:Hallo Schlaucher,
super Modul. Ich bin begeistert.
Ich habe es unter http://www.webec.de eingesetzt.
Derzeit stelle ich die Homepage auf Zweisprachigkeit um. Dazu muss ich leider an die Links in der Navigation und in den Modulen &lang=$lang anhängen. Dies hat auch bei allen Modulen geklappt bis auf das Kalendermodul. Da wird oben offensichtlich auch die Sprache ausgelesen und steht als Variable auch zur Verfügung (mit echo $lang; getestet), aber die Links übernehmen die Variable leider nicht.
Beispiel: http://www.webec.de/front_content.php?i ... _sK_show=t
Vielleicht kannst du mir helfen.
Vielen Dank
Gruß Mc
Gruß
schlaucher