Ejemplo n.º 1
0
 /**
  * Set title.
  *
  * @param string $title
  *
  * @return CalendarEvent
  */
 public function setCalendarReoccurance(CalendarReoccuranceInterface $reoccurance)
 {
     $reoccurance->setStartDate($this->startDatetime)->setStartTime($this->startDatetime)->setEndTime($this->endDatetime)->addCalendarEvent($this);
     $this->calendarReoccurance = $reoccurance;
     return $this;
 }
 public function getArrayOfStartDates(CalendarReoccuranceInterface $reoccurance)
 {
     $dateArray = array();
     switch ($reoccurance->getPeriod()) {
         case CalendarReoccuranceInterface::FREQUENCY_DAY:
             $period = 'D';
             break;
         case CalendarReoccuranceInterface::FREQUENCY_WEEK:
             $period = 'W';
             break;
         case CalendarReoccuranceInterface::FREQUENCY_MONTH:
             $period = 'M';
             break;
         case CalendarReoccuranceInterface::FREQUENCY_YEAR:
             $period = 'Y';
             break;
     }
     $date = $reoccurance->getStartDate();
     if ($reoccurance->getStopMethod() === CalendarReoccuranceInterface::END_DATE) {
         while ($date <= $reoccurance->getEndDate()) {
             $interval = new \DateInterval("P" . $reoccurance->getIntervalBetween() . $period);
             $date = $date->add($interval);
             $cloneDate = clone $date;
             $dateArray[] = $cloneDate;
         }
     }
     if ($reoccurance->getStopMethod() === CalendarReoccuranceInterface::END_ITERATIONS) {
         for ($x = 0; $x <= $reoccurance->getIterations(); $x++) {
             $interval = new \DateInterval("P" . $reoccurance->getIntervalBetween() . $period);
             $date = $date->add($interval);
             $cloneDate = clone $date;
             $dateArray[] = $cloneDate;
         }
     }
     return $dateArray;
 }