processDateToCheck($options); $fieldClass = new FieldClass(); $birthdayField = $fieldClass->getOneById((int)$options['field']); if (empty($birthdayField)) { // Prevent the campaign from being sent to everyone $query->where[] = '0 = 1'; return; } $query->join['birthday_field'.$num] = '#__acym_user_has_field AS uf'.$num.' ON uf'.$num.'.user_id = user.id'; $query->where[] = 'uf'.$num.'.field_id = '.intval($birthdayField->id); $query->where[] = 'uf'.$num.'.value LIKE '.acym_escapeDB('%'.date_format($dateToCheck, '-m-d')); } public function getBirthdayField(&$availableFields) { $fieldClass = new FieldClass(); $dateFields = $fieldClass->getFieldsByType(['date']); foreach ($dateFields as $oneField) { $availableFields[$oneField->id] = acym_translation($oneField->name); } } public function getJsonBirthdayField() { $availableFields = []; $this->getBirthdayField($availableFields); echo json_encode(['fields' => $availableFields]); exit; } }