Exemple #1
0
 public function action_calendar()
 {
     $view = View::factory('calendar/calendar')->bind('calendar', $calendar_markup);
     $month = Arr::get($_GET, 'month', date('m'));
     $year = Arr::get($_GET, 'year', date('Y'));
     $event_type = Arr::get($_GET, 'event_type');
     $calendar = new Calendar($month, $year);
     $calendar->standard('prev-next');
     $event = Model_Event::monthly_events($month, $year, $event_type);
     $day_events = array();
     // loop though events and group events by day and event types
     foreach ($event as $e) {
         $day = date('j-m', $e->eventstart);
         if (!isset($day_events[$day][$e->eventtype])) {
             $day_events[$day][$e->eventtype] = array();
         }
         $day_events[$day][$e->eventtype][] = array('id' => $e->id);
     }
     if ($day_events) {
         foreach ($day_events as $daymonth => $types) {
             list($day, $month) = explode("-", $daymonth);
             $timestamp = mktime(0, 0, 0, $month, (int) $day, $year);
             foreach ($types as $type => $events) {
                 $count = count($events);
                 $type = $count > 1 ? Inflector::plural($type) : $type;
                 $calendar->attach($calendar->event()->condition('timestamp', (int) $timestamp)->output($count . ' ' . $type));
             }
         }
     }
     $calendar->attach($calendar->event()->condition('timestamp', time())->add_class('today'));
     $calendar_markup = $calendar->render();
     $this->content = $view;
 }