예제 #1
0
 private function day_view()
 {
     $today = date("j-m-Y");
     $today_datetime_handler = new DatetimeHandler($today);
     if (!$_GET['page']) {
         $date = date("j-m-Y");
     } else {
         $date = $_GET['page'];
     }
     $datetime_handler = new DatetimeHandler($date);
     $datetime_handler->add_hour(6);
     $next_day_datetime_handler = clone $datetime_handler;
     $next_day_datetime_handler->add_day(1);
     $prev_day_datetime_handler = clone $datetime_handler;
     $prev_day_datetime_handler->sub_day(1);
     $mktime = $datetime_handler->get_mktime();
     $day = date("jS", $mktime);
     $month = date("m", $mktime);
     $month_name = date("F", $mktime);
     $year = date("Y", $mktime);
     $color_count = 1;
     $date_array = $this->mktime_has_date($mktime, $mktime + 86399);
     $rows = count($date_array);
     $column_array = array();
     $column_array_count = 0;
     if ($datetime_handler->get_formatted_string("Y-m-d") == $today_datetime_handler->get_formatted_string("Y-m-d")) {
         $display_date = "<span class='CalendarToday'>" . $datetime_handler->get_formatted_string("l jS F Y") . "</span>";
     } else {
         $display_date = $datetime_handler->get_formatted_string("l jS F Y");
     }
     for ($i = 0; $i <= 17; $i++) {
         $mktime = $datetime_handler->get_mktime();
         $date_array = $this->mktime_has_date($mktime, $mktime + 3599);
         if (is_array($date_array) and count($date_array >= 1)) {
             foreach ($date_array as $key => $value) {
                 if (!in_array($value, $column_array)) {
                     if ($this->calendar_array[$value]['link']) {
                         $content_array[$i][$column_array_count]['name'] = "<a href='index.php?" . $this->calendar_array[$value]['link'] . "'>" . $this->calendar_array[$value]['name'] . "</a>";
                     } else {
                         $content_array[$i][$column_array_count]['name'] = $this->calendar_array[$value]['name'];
                     }
                     $content_array[$i][$column_array_count]['value'] = $this->calendar_array[$value]['color'];
                     $content_array[$i][$column_array_count]['datebegin'] = true;
                     $start_datetime_handler = new DatetimeHandler($this->calendar_array[$value]['start_date'] . " " . $this->calendar_array[$value]['start_time']);
                     $end_datetime_handler = new DatetimeHandler($this->calendar_array[$value]['end_date'] . " " . $this->calendar_array[$value]['end_time']);
                     $content_array[$i][$column_array_count]['range'] = $start_datetime_handler->get_formatted_string("j-n-Y (H:i)") . " - " . $end_datetime_handler->get_formatted_string("j-n-Y (H:i)");
                     $column_array_count++;
                     array_push($column_array, $value);
                 }
             }
             for ($j = 0; $j <= $rows - 1; $j++) {
                 if (!$content_array[$i][$j]['content']) {
                     if (isset($column_array[$j]) and in_array($column_array[$j], $date_array)) {
                         $content_array[$i][$j]['value'] = $this->calendar_array[$column_array[$j]]['color'];
                         if ($content_array[$i][$j]['datebegin'] != true) {
                             $content_array[$i][$j]['datebegin'] = false;
                         }
                     } else {
                         $content_array[$i][$j]['value'] = "";
                         $content_array[$i][$j]['datebegin'] = false;
                     }
                 }
             }
         } else {
             $content_array[$i][0]['datebegin'] = false;
             $content_array[$i][0]['value'] = "";
         }
         $content_array[$i]['time'] = $datetime_handler->get_formatted_string("H:i");
         $datetime_handler->add_hour(1);
         if ($color_count % 2) {
             $tr_class = " class='CalendarTrGrey'";
         } else {
             $tr_class = "";
         }
         $content_array[$i]['tr_class'] = $tr_class;
         $color_count++;
     }
     $template = new HTMLTemplate("organiser/views/day.html");
     $paramquery_prev = $_GET;
     $paramquery_prev['page'] = date("j-m-Y", $prev_day_datetime_handler->get_mktime());
     $params_prev = http_build_query($paramquery_prev, '', '&#38;');
     $paramquery_next = $_GET;
     $paramquery_next['page'] = date("j-m-Y", $next_day_datetime_handler->get_mktime());
     $params_next = http_build_query($paramquery_next, '', '&#38;');
     $template->set_var("previous_params", $params_prev);
     $template->set_var("next_params", $params_next);
     $template->set_var("date", $display_date);
     $template->set_var("content_array", $content_array);
     return $template->get_string();
 }