5declare(strict_types=1);
10 const ID =
'prg_user_not_restarted';
32 $this->log =
$DIC[
'ilLog'];
33 $this->lng =
$DIC[
'lng'];
43 return $this->lng->txt(
'prg_user_not_restarted_title');
53 return $this->lng->txt(
'prg_user_not_restarted_desc');
116 foreach ($this->user_assignments_db->getDueToRestartAndMail() as $assignment) {
118 $prg = $assignment->getStudyProgramme();
119 $validity_of_qualification = $prg->getValidityOfQualificationSettings();
120 $auto_re_assign = $validity_of_qualification->getRestartPeriod();
121 if ($auto_re_assign == -1) {
125 $auto_mail_settings = $prg->getAutoMailSettings();
126 $inform_by_days = $auto_mail_settings->getReminderNotRestartedByUserDays();
127 if (is_null($inform_by_days)) {
130 $restart_date = $assignment->getRestartDate();
131 $restart_date->sub(
new DateInterval((
'P' . $inform_by_days .
'D')));
133 $assignment->informUserByMailToRestart();
135 $this->log->write(
'an error occured: ' .
$e->getMessage());
An exception for terminatinating execution or to throw for unit testing.
Cron job result data container.
Cron job application base class.
const SCHEDULE_TYPE_IN_DAYS
Base class for ILIAS Exception handling.
getDescription()
Get description.
getDefaultScheduleType()
Get schedule type.
hasAutoActivation()
Is to be activated on "installation".
getDefaultScheduleValue()
Get schedule value.
hasFlexibleSchedule()
Can the schedule be configured?