protected function getWeeks()
 {
     $weeks = new DataObjectSet();
     $today = new sfDate();
     $today->clearTime();
     $this->date_counter->firstDayOfMonth()->firstDayOfWeek();
     $view_start = new sfDate($this->date_counter->get());
     $view_end = new sfDate($view_start->addDay($this->rows * 7)->subtractDay()->get());
     $view_start->reset();
     $this->start_date->reset();
     $event_map = $this->getEventsFor($view_start, $view_end);
     for ($i = 0; $i < $this->rows; $i++) {
         $days = new DataObjectSet();
         $week_range_start = $this->date_counter->format('Ymd');
         for ($j = 0; $j < 7; $j++) {
             $current_day = "";
             if (!$this->default_view) {
                 if ($this->date_counter->get() >= $this->anchor_start->get() && $this->date_counter->get() <= $this->anchor_end->get()) {
                     $current_day = "currentDay";
                 }
             }
             $days->push(new ArrayData(array('Today' => $this->date_counter->get() == $today->get() ? "calendarToday" : "", 'OutOfMonth' => $this->date_counter->format('m') != $this->start_date->format('m') ? "calendarOutOfMonth" : "", 'CurrentDay' => $current_day, 'HasEvent' => in_array($this->date_counter->date(), $event_map) ? "hasEvent" : "", 'ShowDayLink' => $this->calendar->Link('view') . "/" . $this->date_counter->format('Ymd'), 'Number' => $this->date_counter->format('d'))));
             $this->date_counter->addDay();
         }
         $week_range_end = $this->date_counter->subtractDay()->format('Ymd');
         $this->date_counter->addDay();
         $weeks->push(new ArrayData(array('Days' => $days, 'ShowWeekLink' => $this->calendar->Link('view') . "/" . $week_range_start . "/" . $week_range_end)));
     }
     return $weeks;
 }
Example #2
0
 public function getStatus()
 {
     $now = new sfDate();
     $dt = new sfDate($this->getFinish());
     if (parent::getStatus() == sfConfig::get('app_task_status_open') && $this->getFinish() < date('Y-m-d H:i:s')) {
         return sfConfig::get('app_task_status_overdue');
     }
     if (parent::getStatus() == sfConfig::get('app_task_status_open') && ($now <= $dt && $now->addDay(sfConfig::get('app_task_status_upcoming_days')) >= $dt)) {
         return sfConfig::get('app_task_status_upcoming');
     }
     if (parent::getStatus() == sfConfig::get('app_task_status_open')) {
         return sfConfig::get('app_task_status_open');
     }
     if (parent::getStatus() == sfConfig::get('app_task_status_completed')) {
         return sfConfig::get('app_task_status_completed');
     }
     return sfConfig::get('app_task_status_unknown');
 }