/** * 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; }
/** * 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); }