19 declare(strict_types=1);
39 $this->
lng = $DIC->language();
40 $this->
lng->loadLanguageModule(
'dateplaner');
41 $this->db = $DIC->database();
42 $this->setting = $DIC->settings();
47 return "cal_consultation";
52 return $this->
lng->txt(
"cal_ch_cron_reminder");
57 return $this->
lng->txt(
"cal_ch_cron_reminder_info");
62 return JobScheduleType::DAILY;
87 $status = JobResult::STATUS_NO_ACTION;
89 $days_before = (
int) $this->setting->get(
'ch_reminder_days');
95 $query =
'SELECT * FROM booking_user ' .
96 'JOIN cal_entries ON entry_id = cal_id ' .
97 'WHERE notification_sent = ' . $this->db->quote(0,
'integer') .
' ' .
100 $res = $this->db->query($query);
103 $mail->setAppointmentId((
int) $row->entry_id);
104 $mail->setRecipients(array((
int) $row->user_id));
109 $query =
'UPDATE booking_user ' .
110 'SET notification_sent = ' . $this->db->quote(1,
'integer') .
' ' .
111 'WHERE user_id = ' . $this->db->quote($row->user_id,
'integer') .
' ' .
112 'AND entry_id = ' . $this->db->quote($row->entry_id,
'integer');
113 $this->db->manipulate($query);
118 $status = JobResult::STATUS_OK;
121 $result->setStatus($status);
127 $consultation_days =
new ilNumberInputGUI($this->
lng->txt(
'cal_ch_cron_reminder_days'),
'ch_reminder_days');
129 $consultation_days->setMaxLength(2);
130 $consultation_days->setSize(2);
131 $consultation_days->setValue((
string) $this->setting->get(
'ch_reminder_days',
'2'));
132 $consultation_days->setRequired(
true);
133 $a_form->
addItem($consultation_days);
138 $this->setting->set(
'ch_reminder_days', (
string) $a_form->
getInput(
'ch_reminder_days'));
const TYPE_BOOKING_REMINDER
Distributes calendar mail notifications.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
addCustomSettingsToForm(ilPropertyFormGUI $a_form)
Reminders for consultation hours.
saveCustomSettings(ilPropertyFormGUI $a_form)
getDefaultScheduleValue()