ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilPrgUserRiskyToFailCronJob Class Reference
+ Inheritance diagram for ilPrgUserRiskyToFailCronJob:
+ Collaboration diagram for ilPrgUserRiskyToFailCronJob:

Public Member Functions

 __construct ()
 
 getTitle ()
 Get title. More...
 
 getDescription ()
 Get description. More...
 
 getId ()
 Get id. More...
 
 hasAutoActivation ()
 Is to be activated on "installation". More...
 
 hasFlexibleSchedule ()
 Can the schedule be configured? More...
 
 getDefaultScheduleType ()
 Get schedule type. More...
 
 getDefaultScheduleValue ()
 Get schedule value. More...
 
 run ()
 Run job. More...
 
- Public Member Functions inherited from ilCronJob
 isActive ($a_ts_last_run, $a_schedule_type, $a_schedule_value, $a_manual=false)
 Is job currently active? More...
 
 getScheduleType ()
 Get current schedule type (if flexible) More...
 
 getScheduleValue ()
 Get current schedule value (if flexible) More...
 
 setSchedule ($a_type, $a_value)
 Update current schedule (if flexible) More...
 
 getAllScheduleTypes ()
 Get all available schedule types. More...
 
 getScheduleTypesWithValues ()
 
 getValidScheduleTypes ()
 Returns a collection of all valid schedule types for a specific job. More...
 
 getTitle ()
 Get title. More...
 
 getDescription ()
 Get description. More...
 
 isManuallyExecutable ()
 Defines whether or not a cron job can be started manually. More...
 
 hasCustomSettings ()
 Has cron job any custom setting which can be edited? More...
 
 addCustomSettingsToForm (ilPropertyFormGUI $a_form)
 Add custom settings to form. More...
 
 saveCustomSettings (ilPropertyFormGUI $a_form)
 Save custom settings. More...
 
 addToExternalSettingsForm ($a_form_id, array &$a_fields, $a_is_active)
 Add external settings to form. More...
 
 activationWasToggled ($a_currently_active)
 Cron job status was changed. More...
 
 getId ()
 Get id. More...
 
 hasAutoActivation ()
 Is to be activated on "installation". More...
 
 hasFlexibleSchedule ()
 Can the schedule be configured? More...
 
 getDefaultScheduleType ()
 Get schedule type. More...
 
 getDefaultScheduleValue ()
 Get schedule value. More...
 
 run ()
 Run job. More...
 

Data Fields

const ID = 'prg_user_risky_to_fail'
 
- Data Fields inherited from ilCronJob
const SCHEDULE_TYPE_DAILY = 1
 
const SCHEDULE_TYPE_IN_MINUTES = 2
 
const SCHEDULE_TYPE_IN_HOURS = 3
 
const SCHEDULE_TYPE_IN_DAYS = 4
 
const SCHEDULE_TYPE_WEEKLY = 5
 
const SCHEDULE_TYPE_MONTHLY = 6
 
const SCHEDULE_TYPE_QUARTERLY = 7
 
const SCHEDULE_TYPE_YEARLY = 8
 

Protected Attributes

 $user_progress_db
 
 $log
 
 $lng
 

Additional Inherited Members

- Protected Member Functions inherited from ilCronJob
 checkSchedule ($a_ts_last_run, $a_schedule_type, $a_schedule_value)
 

Detailed Description

Definition at line 9 of file class.ilPrgUserRiskyToFailCronJob.php.

Constructor & Destructor Documentation

◆ __construct()

ilPrgUserRiskyToFailCronJob::__construct ( )

Definition at line 28 of file class.ilPrgUserRiskyToFailCronJob.php.

29 {
30 global $DIC;
31
32 $this->user_progress_db = ilStudyProgrammeDIC::dic()['ilStudyProgrammeUserProgressDB'];
33 $this->log = $DIC['ilLog'];
34 $this->lng = $DIC['lng'];
35 $this->lng->loadLanguageModule('prg');
36 }
$DIC
Definition: xapitoken.php:46

References $DIC, and ilStudyProgrammeDIC\dic().

+ Here is the call graph for this function:

Member Function Documentation

◆ getDefaultScheduleType()

ilPrgUserRiskyToFailCronJob::getDefaultScheduleType ( )

Get schedule type.

Returns
int

Reimplemented from ilCronJob.

Definition at line 93 of file class.ilPrgUserRiskyToFailCronJob.php.

94 {
96 }
const SCHEDULE_TYPE_IN_DAYS

References ilCronJob\SCHEDULE_TYPE_IN_DAYS.

◆ getDefaultScheduleValue()

ilPrgUserRiskyToFailCronJob::getDefaultScheduleValue ( )

Get schedule value.

Returns
int|array

Reimplemented from ilCronJob.

Definition at line 103 of file class.ilPrgUserRiskyToFailCronJob.php.

104 {
105 return 1;
106 }

◆ getDescription()

ilPrgUserRiskyToFailCronJob::getDescription ( )

Get description.

Returns
string

Reimplemented from ilCronJob.

Definition at line 53 of file class.ilPrgUserRiskyToFailCronJob.php.

54 {
55 return $this->lng->txt('prg_user_risky_to_fail_desc');
56 }

◆ getId()

ilPrgUserRiskyToFailCronJob::getId ( )

Get id.

Returns
string

Reimplemented from ilCronJob.

Definition at line 63 of file class.ilPrgUserRiskyToFailCronJob.php.

References ID.

◆ getTitle()

ilPrgUserRiskyToFailCronJob::getTitle ( )

Get title.

Returns
string

Reimplemented from ilCronJob.

Definition at line 43 of file class.ilPrgUserRiskyToFailCronJob.php.

44 {
45 return $this->lng->txt('prg_user_risky_to_fail_title');
46 }

◆ hasAutoActivation()

ilPrgUserRiskyToFailCronJob::hasAutoActivation ( )

Is to be activated on "installation".

Returns
boolean

Reimplemented from ilCronJob.

Definition at line 73 of file class.ilPrgUserRiskyToFailCronJob.php.

74 {
75 return true;
76 }

◆ hasFlexibleSchedule()

ilPrgUserRiskyToFailCronJob::hasFlexibleSchedule ( )

Can the schedule be configured?

Returns
boolean

Reimplemented from ilCronJob.

Definition at line 83 of file class.ilPrgUserRiskyToFailCronJob.php.

84 {
85 return true;
86 }

◆ run()

ilPrgUserRiskyToFailCronJob::run ( )

Run job.

Returns
ilCronJobResult
Exceptions
Exception

Reimplemented from ilCronJob.

Definition at line 114 of file class.ilPrgUserRiskyToFailCronJob.php.

115 {
116 $result = new ilCronJobResult();
117 foreach ($this->user_progress_db->getRiskyToFailInstances() as $progress) {
118 try {
119 $auto_mail_settings = $progress->getStudyProgramme()->getAutoMailSettings();
120 $remind_days = $auto_mail_settings->getProcessingEndsNotSuccessfulDays();
121
122 if (is_null($remind_days)) {
123 continue;
124 }
125
126 $check_date = new DateTime();
127 $check_date->sub(new DateInterval('P' . $remind_days . 'D'));
128 if ($progress->getDeadline()->format('Y-m-d') < $check_date->format('Y-m-d')) {
129 continue;
130 }
131
132 $progress->informUserForRiskToFail();
133 } catch (ilException $e) {
134 $this->log->write('an error occured: ' . $e->getMessage());
135 }
136 }
138 return $result;
139 }
$result
Cron job result data container.
Base class for ILIAS Exception handling.

References Vendor\Package\$e, $result, and ilCronJobResult\STATUS_OK.

Field Documentation

◆ $lng

ilPrgUserRiskyToFailCronJob::$lng
protected

Definition at line 26 of file class.ilPrgUserRiskyToFailCronJob.php.

◆ $log

ilPrgUserRiskyToFailCronJob::$log
protected

Definition at line 21 of file class.ilPrgUserRiskyToFailCronJob.php.

◆ $user_progress_db

ilPrgUserRiskyToFailCronJob::$user_progress_db
protected

Definition at line 16 of file class.ilPrgUserRiskyToFailCronJob.php.

◆ ID

const ilPrgUserRiskyToFailCronJob::ID = 'prg_user_risky_to_fail'

Definition at line 11 of file class.ilPrgUserRiskyToFailCronJob.php.

Referenced by getId().


The documentation for this class was generated from the following file: