4 * To change this license header, choose License Headers in Project Properties.
5 * To change this template file, choose Tools | Templates
6 * and open the template in the editor.
10 * Description of EntityApplyChangesTo
15 class CRM_Core_Page_AJAX_RecurringEntity
{
17 public static function updateCascadeType(){
18 if(CRM_Utils_Array
::value('cascadeType', $_REQUEST) && CRM_Utils_Array
::value('entityId', $_REQUEST)){
19 $finalResult = array();
20 $cascadeType = CRM_Utils_Type
::escape($_REQUEST['cascadeType'], 'Integer');
21 $entityId = CRM_Utils_Type
::escape($_REQUEST['entityId'], 'Integer');
24 civicrm_recurring_entity
25 SET cascade_type = (%1)
26 WHERE entity_id = (%2) AND entity_table = 'civicrm_event'";
28 1 => array($cascadeType, 'Integer'),
29 2 => array($entityId, 'Integer')
31 CRM_Core_DAO
::executeQuery($sql, $params);
32 $finalResult['status'] = 'Done';
34 echo json_encode($finalResult);
35 CRM_Utils_System
::civiExit();
38 public static function generatePreview(){
39 $params = $formValues = $recurDates = array();
40 $formValues = $_REQUEST;
41 if(!empty($formValues)){
42 $dbParams = CRM_Core_BAO_RecurringEntity
::mapFormValuesToDB($formValues);
43 if(!empty($dbParams)){
44 $recursionObject = CRM_Core_BAO_RecurringEntity
::getRecursionFromReminderByDBParams($dbParams);
45 // Check if there were any errors
46 if($recursionObject->errors
){
47 $recurDates['errors'] = $recursionObject->errors
;
49 if(CRM_Utils_Array
::value('event_id', $formValues)){
50 $parent_event_id = CRM_Core_BAO_RecurringEntity
::getParentFor($formValues['event_id'], 'civicrm_event');
51 if(!$parent_event_id){
52 $parent_event_id = $formValues['event_id'];
54 $params['parent_event_id'] = $parent_event_id;
55 $params['parent_event_start_date'] = CRM_Core_DAO
::getFieldValue('CRM_Event_DAO_Event', $params['parent_event_id'], 'start_date');
56 $params['parent_event_end_date'] = CRM_Core_DAO
::getFieldValue('CRM_Event_DAO_Event', $params['parent_event_id'], 'end_date');
57 $params['start_action_offset'] = $formValues['start_action_offset'];
59 $recurResult = CRM_Core_BAO_RecurringEntity
::generateRecursions($recursionObject, $params, $formValues['exclude_date_list']);
61 foreach ($recurResult as $key => $value) {
62 $recurDates[$count]['start_date'] = date('M d, Y h:i:s A \o\n l', strtotime($value['start_date']));
63 if($value['end_date']){
64 $recurDates[$count]['end_date'] = date('M d, Y h:i:s A \o\n l', strtotime($value['end_date']));
71 echo json_encode($recurDates);
72 CRM_Utils_System
::civiExit();