*/
public function getDateFields() {
return [
- 'start_date' => ts('Event Start Date'),
- 'end_date' => ts('Event End Date'),
- 'registration_start_date' => ts('Registration Start Date'),
- 'registration_end_date' => ts('Registration End Date'),
+ 'start_date' => ts('Event Start'),
+ 'end_date' => ts('Event End'),
+ 'registration_start_date' => ts('Registration Start'),
+ 'registration_end_date' => ts('Registration End'),
];
}
$query['casContactIdField'] = 'e.contact_id';
$query['casEntityIdField'] = 'e.id';
$query['casContactTableAlias'] = NULL;
- $query['casDateField'] = str_replace('event_', 'r.', $schedule->start_action_date);
+ $query['casDateField'] = str_replace('event_', 'r.', ($schedule->start_action_date ?? ''));
if (empty($query['casDateField']) && $schedule->absolute_date) {
$query['casDateField'] = "'" . CRM_Utils_Type::escape($schedule->absolute_date, 'String') . "'";
}
if ($schedule->recipient_listing && $schedule->limit_to) {
switch ($schedule->recipient) {
case 'participant_role':
- $query->where("e.role_id IN (#recipList)")
- ->param('recipList', \CRM_Utils_Array::explodePadded($schedule->recipient_listing));
+ $regex = "([[:cntrl:]]|^)" . implode('([[:cntrl:]]|$)|([[:cntrl:]]|^)', \CRM_Utils_Array::explodePadded($schedule->recipient_listing)) . "([[:cntrl:]]|$)";
+ $query->where("e.role_id REGEXP (@regex)")
+ ->param('regex', $regex);
break;
default: