Terminliste universal V2.5.3 mit sKalender u. Mehrfachtermin

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

Beitrag von schlaucher » Do 12. Apr 2007, 10:41

maveric2001 hat geschrieben: frage: das mktime-prob 'division by zero' wurde schon geklaert oder?
In welchem Modul? Eingabe, Liste, Teaser oder sKalender.

Gruß
schlaucher

maveric2001
Beiträge: 112
Registriert: Mi 21. Jun 2006, 07:00
Wohnort: Nordhausen
Kontaktdaten:

Beitrag von maveric2001 » Do 12. Apr 2007, 10:47

Terminliste universal V2.4.1

musste einige cast´s vor mktime machen da er den fehler angezeit hat

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

Beitrag von schlaucher » Do 12. Apr 2007, 11:06

maveric2001 hat geschrieben:Terminliste universal V2.4.1

musste einige cast´s vor mktime machen da er den fehler angezeit hat
kannst Du Deine Änderungen mal posten?

maveric2001
Beiträge: 112
Registriert: Mi 21. Jun 2006, 07:00
Wohnort: Nordhausen
Kontaktdaten:

Beitrag von maveric2001 » Do 12. Apr 2007, 11:13

klaro

Code: Alles auswählen

<?php 
/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname   :     Terminliste universal
* Version     :     2.4.1
* Author      :     schlaucher 
* Created     :     12-07-2006
* Modified    :     17-03-2007
* Modified by :     rene hankel
*
************************************************/ 

#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', (int)$MOD_TL_datum2_array[1],(int)$MOD_TL_datum2_array[2],(int)$MOD_TL_datum2_array[0])-mktime('0','0','0', (int)$MOD_TL_datum1_array[1],(int)$MOD_TL_datum1_array[2],(int)$MOD_TL_datum1_array[0]))/$MOD_TL_diff;
                // Timestamp des Startdatums
                $MOD_TL_mktime = mktime(0,0,0,(int)$MOD_TL_datum1_array[1],(int)$MOD_TL_datum1_array[2],(int)$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,(int)$MOD_TL_datum1_array[1],(int)($MOD_TL_datum1_array[2]+$MOD_TL_durchlauf2+1),(int)$MOD_TL_datum1_array[0]);
                    else
                        $MOD_TL_mktime = mktime(0,0,0,(int)$MOD_TL_datum1_array[1],(int)($MOD_TL_datum1_array[2]+(($MOD_TL_durchlauf2+1)*7)),(int)$MOD_TL_datum1_array[0]);
                    
                    }
                }
                
            if ($MOD_TL_termine["zyklus"][$MOD_TL_durchlauf] == 'monat') // monatlicher Termin
                {
                $MOD_TL_mktime1 = mktime(0,0,0,(int)$MOD_TL_datum1_array[1],(int)$MOD_TL_datum1_array[2],(int)$MOD_TL_datum1_array[0]); // Timestamp ermitteln
                $MOD_TL_mktime2 = mktime(0,0,0,(int)$MOD_TL_datum2_array[1],(int)$MOD_TL_datum2_array[2],(int)$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,(int)($MOD_TL_datum1_array[1]+$MOD_TL_durchlauf2),(int)$MOD_TL_datum1_array[2],(int)$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', (int)$MOD_TL_datum2_array[1],(int)$MOD_TL_datum2_array[2],(int)$MOD_TL_datum2_array[0])-mktime('0','0','0', (int)$MOD_TL_datum1_array[1],(int)$MOD_TL_datum1_array[2],(int)$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,(int)$MOD_TL_datum1_array[1],(int)$MOD_TL_datum1_array[2],(int)$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,(int)$MOD_TL_datum1_array[1],(int)($MOD_TL_datum1_array[2]+$MOD_TL_durchlauf2+1),(int)$MOD_TL_datum1_array[0]);
                    }
                }
            }
        }

    if( !empty($MOD_TL_termine["datum1"]) ) 
        {
        // nach Datum und Zeit sortieren
        if ($MOD_TL_sort == 'ASC') {
            array_multisort (   $MOD_TL_termine["datum1"], SORT_ASC, SORT_STRING, 
                                $MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
                                $MOD_TL_termine["zeit1"], 
                                $MOD_TL_termine["zeit2"],
                                $MOD_TL_termine["idart"], 
                                $MOD_TL_termine["ort"], 
                                $MOD_TL_termine["titel"], 
                                $MOD_TL_termine["html"],
                                $MOD_TL_termine["link"], 
                                $MOD_TL_termine["linkframe"], 
                                $MOD_TL_termine["kategorie"] ); 
            }
        else {
            array_multisort (   $MOD_TL_termine["datum1"], SORT_DESC, SORT_STRING, 
                                $MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
                                $MOD_TL_termine["zeit1"], 
                                $MOD_TL_termine["zeit2"],
                                $MOD_TL_termine["idart"], 
                                $MOD_TL_termine["ort"], 
                                $MOD_TL_termine["titel"], 
                                $MOD_TL_termine["html"],
                                $MOD_TL_termine["link"], 
                                $MOD_TL_termine["linkframe"], 
                                $MOD_TL_termine["kategorie"] ); 
            }
        }


// 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,(int)$MOD_TL_date_input_array[1],(int)$MOD_TL_date_input_array[2],(int)$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">'."\n";
        $MOD_TL_kat_form.= '<option value="'.$MOD_TL_front_content.'?client='.$client.'&parent='.$parent.'&subid='.$subid.'&idcat='.$idcat.'&MOD_TL_kat_select=z'.$MOD_TL_sk.'">Alle</option>'."\n";
                                
        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>';

        $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, (int)($MOD_TL_heute["mon"] + 1), 1, (int)$MOD_TL_heute["year"] ));
                        $MOD_TL_neues_datum2 = date("Y-m-d", mktime (0,0,0, (int)($MOD_TL_heute["mon"] + 1), (int)$MOD_TL_plustag, (int)$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,(int)$MOD_TL_date_input_array[1],(int)$MOD_TL_date_input_array[2],(int)$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,(int)$MOD_TL_datum1_array[1],(int)$MOD_TL_datum1_array[2],(int)$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,(int)$MOD_TL_datum2_array[1],(int)$MOD_TL_datum2_array[2],(int)$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,(int)$MOD_TL_datum1_array[1],(int)$MOD_TL_datum1_array[2],(int)$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,(int)$MOD_TL_datum2_array[1],(int)$MOD_TL_datum2_array[2],(int)$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_ar

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

Beitrag von schlaucher » Do 12. Apr 2007, 12:03

Besser vielleicht nur die Abschnitte, die geändert wurden. :wink:

Sind das die Einträge?

Code: Alles auswählen

$MOD_TL_wochentag = getdate(mktime(0,0,0,(int)$MOD_TL_datum1_array[1],(int)$MOD_TL_datum1_array[2],(int)$MOD_TL_datum1_array[0])); 

maveric2001
Beiträge: 112
Registriert: Mi 21. Jun 2006, 07:00
Wohnort: Nordhausen
Kontaktdaten:

Beitrag von maveric2001 » Do 12. Apr 2007, 12:07

jupp, alle mit (int)
8)

andreasb
Beiträge: 212
Registriert: Fr 10. Dez 2004, 02:48
Wohnort: Fernwald
Kontaktdaten:

Beitrag von andreasb » Fr 20. Apr 2007, 09:56

Hallo!

Fragen zum Layout des Kalender-Moduls:

Wenn z.B. in einem Monat der 1. ein Samstag ist, dann sind die Felder davor alle in weiss. Ich möchte diese gerne mit der gleichen Hintergrundfarbe wie die Wochentage haben.

Wokann ich u.U. ein CSS zuweisen?

Die Hintergrundfarbe der Wochend-Bezeichnungen (Sa/so) hätte ich gerne so wie die der WE-Tage.

Wie kann ich das erreichen?
Danke!

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

Beitrag von schlaucher » Fr 20. Apr 2007, 10:14

andreasb hat geschrieben:Hallo!

Fragen zum Layout des Kalender-Moduls:

Wenn z.B. in einem Monat der 1. ein Samstag ist, dann sind die Felder davor alle in weiss. Ich möchte diese gerne mit der gleichen Hintergrundfarbe wie die Wochentage haben.

Wokann ich u.U. ein CSS zuweisen?

Die Hintergrundfarbe der Wochend-Bezeichnungen (Sa/so) hätte ich gerne so wie die der WE-Tage.

Wie kann ich das erreichen?
Danke!
Die Ausgabe des sKalenders erfolgt nicht über ein HTML Template, sondern durch das Modul selbst in der Funktion printCalender() . Dort sind CSS IDs und Classes definiert.

Ein CSS Vorschlag wird ja im Modularchiv mitgeliefert (#mod_sK). Diese bindest Du einfach in dein Layout mit ein, oder kopierst den Inhalt in dein verhandenes CSS File.

Einer individuellen Anpassung der Ausgabe steht dann nichts mehr im Wege.

Gruß
schlaucher

andreasb
Beiträge: 212
Registriert: Fr 10. Dez 2004, 02:48
Wohnort: Fernwald
Kontaktdaten:

Beitrag von andreasb » Fr 20. Apr 2007, 12:44

Super, danke!

Ein Problem habe ich noch: Die leeren Einträge am Wochenende sollten eine andere Hintergrundfarbe als die leeren Einträge unter der Woche haben.

Kriege ich das auch hin?
Danke!

Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

Beitrag von Andreas » Fr 20. Apr 2007, 15:14

Hallo,

wir haben das Modul "Termineingabe/anzeige universal V2.4" eingesetzt.
Funktioniert wunderbar bis auf die Kategorie-Auswahl im Frontend der Terminliste.

Im IE7 klappt die Auswahl: Man wählt eine Kategorie und die Termine werden angezeigt.
Im Firefox funktioniert zwar das Pulldown-Menü, aber beim Klick auf eine Kategorie wird die Fehlerseite angezeigt.... :-(

Kann jemand helfen?
Vielen Dank im voraus.

Gruß
Andreas

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

Beitrag von schlaucher » Fr 20. Apr 2007, 21:27

Andreas hat geschrieben:Hallo,

wir haben das Modul "Termineingabe/anzeige universal V2.4" eingesetzt.
Funktioniert wunderbar bis auf die Kategorie-Auswahl im Frontend der Terminliste.

Im IE7 klappt die Auswahl: Man wählt eine Kategorie und die Termine werden angezeigt.
Im Firefox funktioniert zwar das Pulldown-Menü, aber beim Klick auf eine Kategorie wird die Fehlerseite angezeigt.... :-(

Kann jemand helfen?
Vielen Dank im voraus.

Gruß
Andreas
Danke für den Hinweis.

schau mal im Modulcode nach folgenden Zeilen:

Code: Alles auswählen

        $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">
Da müsste noch ein <form> for das <select>. Vielleicht stört sich da der Firefox?

Gruß
schlaucher

Jojoweb
Beiträge: 29
Registriert: Do 21. Apr 2005, 14:59
Kontaktdaten:

Beitrag von Jojoweb » Fr 20. Apr 2007, 23:53

Hallo,

ich habe folgendes Problem: Ich möchte die Terminliste gerne unter einem zweiten Mandanten verwenden, bekomme aber folgende Fehlermeldung:

Fatal error: Error: Can't include server/rv/includes/functions.input.helper.php in server/thw/contenido/includes/api/functions.api.general.php on line 158

Nachdem ich dann mal in das Verzeichnis rv/includes reingeschaut habe (der Serverpfad ist also anders, statt server/thw/cms beim ersten Mandanten ist der Pfad für den anderen Mandanten server/rv), musste ich feststellen, dass die Datei trotz FTP-Upload da nicht drin steht. Das Problem ist, dass das Verzeichnis durch Contenido scheinbar für das Beschreiben per FTP geschützt ist.

Wie kann ich das ganze trotzdem an's Laufen bekommen?

Vielen Dank für eure Tipps!

Jojoweb
Beiträge: 29
Registriert: Do 21. Apr 2005, 14:59
Kontaktdaten:

Beitrag von Jojoweb » Sa 21. Apr 2007, 02:28

Kleiner Nachtrag - wenn ich unter dem zweiten Mandanten einen Termin eintragen will, bekomme ich den Hinweis, dass die URL /thw/contenido/external/backendedit/front_content.php auf dem Server nicht gefunden wurde. Das Eintragen geht also auch nicht...

andreasb
Beiträge: 212
Registriert: Fr 10. Dez 2004, 02:48
Wohnort: Fernwald
Kontaktdaten:

Beitrag von andreasb » Mo 23. Apr 2007, 01:08

Hello again!

Ein kurze Frage: Ich habe die 15er mit integriertem mod_rewrite installiert, die Funktion aber noch nicht aktiviert.
Funktioniert das Modul damit? Was mus ich beachten?

Danke!

Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

Beitrag von Andreas » Mo 23. Apr 2007, 09:07

Hallo Schlaucher,
Da müsste noch ein <form> for das <select>. Vielleicht stört sich da der Firefox?
Leider funktioniert es noch immer nicht...
Der Firefox springt noch immer auf die Fehlerseite.
Im IE wird auch der entsprechende Link (bzw. die Endung): "?client=5&parent=&subid=&idcat=117&MOD_TL_kat_select=c" richtig gesetzt. Im Firefox nicht.


Gruß
Andreas

Gesperrt