dateColumns = CRM_Core_BAO_RecurringEntity::$_dateColumns[$formValues['entity_table']]['dateColumns']; } $recursion->scheduleFormValues = $formValues; if (!empty($formValues['exclude_date_list'])) { $recursion->excludeDates = explode(',', $formValues['exclude_date_list']); } if (CRM_Utils_Array::value('excludeDateRangeColumns', CRM_Core_BAO_RecurringEntity::$_dateColumns[$formValues['entity_table']])) { $recursion->excludeDateRangeColumns = CRM_Core_BAO_RecurringEntity::$_dateColumns[$formValues['entity_table']]['excludeDateRangeColumns']; } if (!empty($formValues['entity_id'])) { $parentEventId = CRM_Core_BAO_RecurringEntity::getParentFor($formValues['entity_id'], $formValues['entity_table']); } // Get original entity $original[$startDateColumnName] = CRM_Utils_Date::processDate($formValues['repetition_start_date']); $daoName = CRM_Core_BAO_RecurringEntity::$_tableDAOMapper[$formValues['entity_table']]; if ($parentEventId) { $startDate = $original[$startDateColumnName] = CRM_Core_DAO::getFieldValue($daoName, $parentEventId, $startDateColumnName); $endDate = $original[$startDateColumnName] = $endDateColumnName ? CRM_Core_DAO::getFieldValue($daoName, $parentEventId, $endDateColumnName) : NULL; } //Check if there is any enddate column defined to find out the interval between the two range if (CRM_Utils_Array::value('intervalDateColumns', CRM_Core_BAO_RecurringEntity::$_dateColumns[$formValues['entity_table']])) { if ($endDate) { $interval = $recursion->getInterval($startDate, $endDate); $recursion->intervalDateColumns = array($endDateColumnName => $interval); } } $dates = array_merge(array($original), $recursion->generateRecursiveDates()); foreach ($dates as $key => &$value) { if ($startDateColumnName) { $value['start_date'] = CRM_Utils_Date::customFormat($value[$startDateColumnName]); } if ($endDateColumnName && !empty($value[$endDateColumnName])) { $value['end_date'] = CRM_Utils_Date::customFormat($value[$endDateColumnName]); $endDates = TRUE; } } //Show the list of participants registered for the events if any if ($formValues['entity_table'] == "civicrm_event" && !empty($parentEventId)) { $getConnectedEntities = CRM_Core_BAO_RecurringEntity::getEntitiesForParent($parentEventId, 'civicrm_event', TRUE); if ($getConnectedEntities) { $participantDetails = CRM_Event_Form_ManageEvent_Repeat::getParticipantCountforEvent($getConnectedEntities); if (!empty($participantDetails['countByName'])) { $this->assign('participantData', $participantDetails['countByName']); } } } } $this->assign('dates', $dates); $this->assign('endDates', !empty($endDates)); return parent::run(); } }