예제 #1
0
 /**
  * Prepare recurring sequence if needed.
  * @return bool true if recurring records need to be created
  */
 public function prepareRecurring()
 {
     require_once "modules/Calendar/CalendarUtils.php";
     if (empty($_REQUEST['edit_all_recurrences'])) {
         $repeatFields = array('type', 'interval', 'count', 'until', 'dow', 'parent_id');
         foreach ($repeatFields as $param) {
             unset($_POST['repeat_' . $param]);
         }
     } else {
         if (!empty($_REQUEST['repeat_type']) && !empty($_REQUEST['date_start'])) {
             $params = array('type' => $_REQUEST['repeat_type'], 'interval' => $_REQUEST['repeat_interval'], 'count' => $_REQUEST['repeat_count'], 'until' => $_REQUEST['repeat_until'], 'dow' => $_REQUEST['repeat_dow']);
             $this->repeatDataArray = CalendarUtils::buildRecurringSequence($_REQUEST['date_start'], $params);
             return true;
         }
     }
     return false;
 }
예제 #2
0
 /**
  * Generate the Start and End Dates for each event occurrence.
  * @param string Start Date
  * @param array  Repeat Occurrence Fields: 'type', 'interval', 'count' 'until' 'dow'
  * @return array Start DateTimes
  */
 protected function buildRecurringSequence($dateStart, array $params)
 {
     return CalendarUtils::buildRecurringSequence($dateStart, $params);
 }