Example #1
0
function getTimetableHTML($RUNNING_IDS, $ADMIN = FALSE)
{
    global $sql;
    // Kinowochen der Running IDS ermitteln
    if (!is_array($RUNNING_IDS)) {
        $RUNNING_IDS = array($RUNNING_IDS);
        // Bei nur einer einzigen Running ID muss nicht extra ein Array übergeben werden
    }
    $kino_weeks = $sql->getData("running_weeks", "*", "WHERE `running_weeks_id` IN(" . implode(",", $RUNNING_IDS) . ") ORDER BY `running_week`");
    $kino_weeks = $kino_weeks == FALSE ? array() : $kino_weeks;
    // Fehler abfangen, wenn keine running week gefunden wird
    // Template laden
    $theTemplate = new Template("movie.tpl");
    // Für jede Woche durchgehen
    $all_show_weeks = "";
    foreach ($kino_weeks as $kino_week) {
        // Wochendaten laden
        $week_data = getWeekData($kino_week['running_week']);
        // Spielzeiten laden
        $showtimes = $sql->getData("running_table", "*", "WHERE `running_weeks_id` = '" . $kino_week['running_weeks_id'] . "' ORDER BY `running_day`, `running_time`");
        $showtimes = $showtimes == FALSE ? array() : $showtimes;
        // Alle Auführungen der Woche durchgehen
        $times = array(0 => array(), 1 => array(), 2 => array(), 3 => array(), 4 => array(), 5 => array(), 6 => array());
        // Times Array initialisieren
        foreach ($showtimes as $show) {
            // Timestamp der Auffühung
            $showtimestamp = strtotime(date("Y-m-d", $week_data[0][$show['running_day']]) . $show['running_time']);
            // Unterscheidung zw. normaler und Admin ausgabe
            if ($ADMIN) {
                $theTemplate->load("SHOW");
                $theTemplate->clearTags();
                $theTemplate->tag("url", "?go=admin&id=" . $show['show_id']);
            } else {
                // Showtime Template laden und Tags umsetzen
                if ($showtimestamp >= time() + 60 * 45) {
                    $theTemplate->load("SHOW");
                    $theTemplate->clearTags();
                    $theTemplate->tag("url", "?go=booking&id=" . $show['show_id']);
                } else {
                    $theTemplate->load("SHOW_OLD");
                    $theTemplate->clearTags();
                }
            }
            $theTemplate->tag("time", date("H:i", $showtimestamp));
            $times[$show['running_day']][] = (string) $theTemplate;
        }
        // Showtime Separator laden
        $theTemplate->load("SHOW_SEPARATOR");
        $theTemplate->clearTags();
        $theSeparator = (string) $theTemplate;
        // Timetable Template laden und Tags umsetzen
        $theTemplate->load("SHOW_WEEK");
        $theTemplate->clearTags();
        $theTemplate->tag("start", $week_data[1][4]);
        $theTemplate->tag("end", $week_data[1][3]);
        $theTemplate->tag("so_times", implode($theSeparator, $times[0]));
        $theTemplate->tag("mo_times", implode($theSeparator, $times[1]));
        $theTemplate->tag("di_times", implode($theSeparator, $times[2]));
        $theTemplate->tag("mi_times", implode($theSeparator, $times[3]));
        $theTemplate->tag("do_times", implode($theSeparator, $times[4]));
        $theTemplate->tag("fr_times", implode($theSeparator, $times[5]));
        $theTemplate->tag("sa_times", implode($theSeparator, $times[6]));
        $theTemplate->tag("so_date", $week_data[1][0]);
        $theTemplate->tag("mo_date", $week_data[1][1]);
        $theTemplate->tag("di_date", $week_data[1][2]);
        $theTemplate->tag("mi_date", $week_data[1][3]);
        $theTemplate->tag("do_date", $week_data[1][4]);
        $theTemplate->tag("fr_date", $week_data[1][5]);
        $theTemplate->tag("sa_date", $week_data[1][6]);
        // Show Week hinten dran hängen
        $all_show_weeks .= (string) $theTemplate;
    }
    // Timetable Template laden
    $theTemplate->load("TIMETABLE");
    $theTemplate->clearTags();
    $theTemplate->tag("show_weeks", $all_show_weeks);
    // HTML zurückgeben
    return (string) $theTemplate;
}
Example #2
0
     } else {
         $user_hash = $user_data['user_hash'];
         $user_id = $user_data['user_id'];
     }
     // In jedem Fall Cookie setzen
     setcookie("kino_user", $user_hash . $user_id, time() + 60 * 60 * 24 * 30);
     // MD5-Hash + eindeutige DB ID, Ablauf in 30 Tagen
 }
 // Show, Film und Kino Daten laden
 $show_data = mysql_fetch_assoc($sql->query("SELECT * FROM {..pref..}running_weeks W, {..pref..}running_table T WHERE T.`show_id` = '" . $_GET['id'] . "' AND T.`running_weeks_id` = W.`running_weeks_id`"));
 $screen_data = $sql->getData("screens", "*", "WHERE `screen_id` = '" . $show_data['screen_id'] . "'", 1);
 // Template laden
 $theTemplate = new Template("booking.tpl");
 // Booking Info erstellen
 $theTemplate->load("BOOKING_INFO");
 $theTemplate->clearTags();
 $booking_info = (string) $theTemplate;
 // Persönliche Begrüßung erstellen
 $theTemplate->load("PERSONAL");
 $theTemplate->clearTags();
 $theTemplate->tag("email", $_POST['email']);
 $theTemplate->tag("prename", $_POST['prename']);
 $theTemplate->tag("lastname", $_POST['lastname']);
 $theTemplate->tag("delete_url", "?go=booking&id=" . $_GET['id'] . "&delete");
 $personal = (string) $theTemplate;
 // Saal laden
 $screen = new ScreenRoom($screen_data['screen_seats']);
 $screen->setStates($_GET['id'], $user_id);
 // Legende laden
 $theTemplate->load("LEGEND");
 $theTemplate->clearTags();
Example #3
0
 public function __toString()
 {
     // Template laden
     $theTemplate = new Template("screen.tpl");
     // leeren String initialisieren
     $string_screen_room = "";
     // Die Zeilen und Zeichen/Elemente durchgehen
     foreach ($this->screen_data as $aLine) {
         // Zeilen-Template laden
         $theTemplate->load("SCREEN_LINE_CONTAINER");
         $theTemplate->clearTags();
         $string_line = "";
         // Die Zeichen/Elemente durchgehen
         foreach ($aLine as $aSeat) {
             $string_line .= (string) $aSeat;
             // jeweils einfach die String-Darstellung des Elements laden
         }
         $theTemplate->tag("seats", $string_line);
         // ins Zeilen Template einfügen
         $string_screen_room .= (string) $theTemplate;
     }
     // Container-Template für einen Vorführaum laden
     $theTemplate->load("SCREEN_CONTAINER");
     $theTemplate->clearTags();
     $theTemplate->tag("screen_room", $string_screen_room);
     // Die tatsächlichen Raum-Elemente einfügen
     // alles ausgeben
     return (string) $theTemplate;
 }