Terminliste universal V2.5.3 mit sKalender u. Mehrfachtermin

silicone
Beiträge: 299
Registriert: Di 15. Mär 2005, 10:33
Kontaktdaten:

Beitrag von silicone » Do 30. Nov 2006, 07:54

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

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Do 30. Nov 2006, 10:28

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
Darüber habe ich mir noch keine Gedanken gemacht. Das ganze müsste dann ja über einen "echten Cron-Job" gesteuert werden.

Ist sicher eine Überlegung wert, aber z.Z. nicht in Planung.
Ich halte aber niemanden davon ab, so etwas dazu zu entwickeln :wink:

Gruß
schlaucher

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen » Fr 8. Dez 2006, 16:23

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
Fatal error: Maximum execution time of 1 second exceeded in \cms\front_content.php(928) : eval()'d code on line 3503
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)

Sowie folgende Fehlermaldung
Fatal error: Maximum execution time of 1 second exceeded in \contenido\includes\functions.transformations.php on line 414
Kann mir da jemand helfen?

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Fr 8. Dez 2006, 16:42

derSteffen hat geschrieben:Kann mir da jemand helfen?
Ja, zum einen solltest du die aktuelle Version der vpTransformationen installieren. Die ist um einiges performanter.

Zum anderen ist eine max_execution_time von 1 Sekunde extrem niedrig. Da solltest du mal beim Hoster anfragen.

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen » Fr 8. Dez 2006, 16:53

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?

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen » Fr 8. Dez 2006, 17:20

Danke Dodger77,

nachdem ich die neu VpTransformation installiert habe, funktioniert auch mein Kalender!

Super!

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Fr 8. Dez 2006, 19:37

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 
das könnte von folgenden Codezeilen im sKalender Modul kommen:

Code: Alles auswählen

function sKalender()
		{
			// Verhindert mögliche Endlosloops Ausführungszeit max 1 Sek.
			set_time_limit( 1 );
Ich habe das aus dem Ursprungscode übernommen und bisher noch keine Probleme gehabt. Vielleicht kann man den Wert ja hochsetzten oder komplett weglassen?
derSteffen hat geschrieben:Ich darf doch sKalender und Terminliste in einem Tempelate haben und nicht haben, oder? Das ist doch egal?
Ja, das sollte keine Probleme bereiten, da jedes Modul seine eigenen Variablen benutzt.

Gruß
schlaucher

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen » So 10. Dez 2006, 17:46

Code: Alles auswählen

function sKalender()
		{
			// Verhindert mögliche Endlosloops Ausführungszeit max 1 Sek.
			set_time_limit( 1 );
Also ich hatte auch nochmal die Fehlermeldung beim Bilder-Galerie-Modul von i-fektund habe mal

Code: Alles auswählen

set.time_limit (1);
auf 100 gesetzt und es hat funktioniert. Auch wenn man die komplette Zeile raus nimmt. funktioniert es!

tommo
Beiträge: 120
Registriert: So 27. Jun 2004, 21:34
Kontaktdaten:

Beitrag von tommo » Do 14. Dez 2006, 15:39

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

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Do 14. Dez 2006, 15:55

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
Hi 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

tommo
Beiträge: 120
Registriert: So 27. Jun 2004, 21:34
Kontaktdaten:

Beitrag von tommo » Fr 15. Dez 2006, 09:23

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

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

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Fr 15. Dez 2006, 10:09

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
o.k. den Code kenne ich :wink: (das nächste mal mit [/code] abschließen)

Kannst Du mir mal was via PN schicken? Ich müsste das im ganzen sehen.

Gruß
schlaucher

Mc
Beiträge: 188
Registriert: Mi 2. Mär 2005, 21:19
Kontaktdaten:

Beitrag von Mc » Fr 15. Dez 2006, 17:31

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

Mc
Beiträge: 188
Registriert: Mi 2. Mär 2005, 21:19
Kontaktdaten:

Beitrag von Mc » Fr 15. Dez 2006, 18:14

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

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Sa 16. Dez 2006, 13:45

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
Hi, werde mir das am Wochenende mal anschauen!

Gruß
schlaucher

Gesperrt