Пример #1
0
 function build($events = array())
 {
     require_once CALENDAR_ROOT . 'Day.php';
     require_once CALENDAR_ROOT . 'Table/Helper.php';
     $this->tableHelper =& new Calendar_Table_Helper($this, $this->firstDay);
     $this->cE =& $this->getEngine();
     $this->year = $this->thisYear();
     $this->month = $this->thisMonth();
     $daysInMonth = $this->cE->getDaysInMonth($this->year, $this->month);
     for ($i = 1; $i <= $daysInMonth; $i++) {
         $Day = new Calendar_Day(2000, 1, 1);
         // Create Day with dummy values
         $Day->setTimeStamp($this->cE->dateToStamp($this->year, $this->month, $i));
         $this->children[$i] = new DiaryEvent($Day);
     }
     if (count($events) > 0) {
         $this->setSelection($events);
     }
     Calendar_Month_Weekdays::buildEmptyDaysBefore();
     Calendar_Month_Weekdays::shiftDays();
     Calendar_Month_Weekdays::buildEmptyDaysAfter();
     Calendar_Month_Weekdays::setWeekMarkers();
     return true;
 }
Пример #2
0
 /**
  * setSelection 
  * 
  * @access public
  * @return void
  */
 public function setSelection()
 {
     $daysInMonth = $this->cE->getDaysInMonth($this->year, $this->month);
     for ($i = 1; $i <= $daysInMonth; $i++) {
         $day = new Calendar_Day(2000, 1, 1);
         // Create Day with dummy values
         $day->setTimeStamp($this->cE->dateToStamp($this->year, $this->month, $i));
         $this->children[$i] = new TimetableEvent($day);
         $stamp1 = $this->cE->dateToStamp($this->year, $this->month, $i);
         $stamp2 = $this->cE->dateToStamp($this->year, $this->month, $i + 1);
         foreach ($this->timetable->events as $event) {
             if ($stamp1 >= $event['start'] && $stamp1 < $event['end'] || $stamp2 > $event['start'] && $stamp2 <= $event['end'] || $stamp1 <= $event['start'] && $stamp2 >= $event['end']) {
                 $this->children[$i]->addEntry($event);
                 $this->children[$i]->setSelected();
             }
         }
     }
     Calendar_Month_Weekdays::buildEmptyDaysBefore();
     Calendar_Month_Weekdays::shiftDays();
     Calendar_Month_Weekdays::buildEmptyDaysAfter();
     Calendar_Month_Weekdays::setWeekMarkers();
 }