ILIAS  release_8 Revision v8.24
ilMailCronNotification Class Reference

Mail notifications. More...

+ Inheritance diagram for ilMailCronNotification:
+ Collaboration diagram for ilMailCronNotification:

Public Member Functions

 getId ()
 
 getTitle ()
 
 getDescription ()
 
 getDefaultScheduleType ()
 
 getDefaultScheduleValue ()
 
 hasAutoActivation ()
 Is to be activated on "installation", does only work for ILIAS core cron jobs. More...
 
 hasFlexibleSchedule ()
 
 hasCustomSettings ()
 
 run ()
 
 addCustomSettingsToForm (ilPropertyFormGUI $a_form)
 
 saveCustomSettings (ilPropertyFormGUI $a_form)
 
 activationWasToggled (ilDBInterface $db, ilSetting $setting, bool $a_currently_active)
 Important: This method is (also) called from the setup process, where the constructor of an ilCronJob ist NOT executed. More...
 
- Public Member Functions inherited from ilCronJob
 setDateTimeProvider (?Closure $date_time_provider)
 
 isDue (?DateTimeImmutable $last_run, ?int $schedule_type, ?int $schedule_value, bool $is_manually_executed=false)
 
 getScheduleType ()
 Get current schedule type (if flexible) More...
 
 getScheduleValue ()
 Get current schedule value (if flexible) More...
 
 setSchedule (?int $a_type, ?int $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...
 
 isManuallyExecutable ()
 
 hasCustomSettings ()
 
 addCustomSettingsToForm (ilPropertyFormGUI $a_form)
 
 saveCustomSettings (ilPropertyFormGUI $a_form)
 
 addToExternalSettingsForm (int $a_form_id, array &$a_fields, bool $a_is_active)
 
 activationWasToggled (ilDBInterface $db, ilSetting $setting, bool $a_currently_active)
 Important: This method is (also) called from the setup process, where the constructor of an ilCronJob ist NOT executed. More...
 
 getId ()
 
 getTitle ()
 
 getDescription ()
 
 hasAutoActivation ()
 Is to be activated on "installation", does only work for ILIAS core cron jobs. More...
 
 hasFlexibleSchedule ()
 
 getDefaultScheduleType ()
 
 getDefaultScheduleValue ()
 
 run ()
 

Protected Member Functions

 init ()
 

Protected Attributes

ilLanguage $lng
 
ilSetting $settings
 
bool $initDone = false
 
- Protected Attributes inherited from ilCronJob
int $schedule_type = null
 
int $schedule_value = null
 
Closure $date_time_provider = null
 

Private Attributes

GlobalHttpState $http
 

Additional Inherited Members

- Data Fields inherited from ilCronJob
const SCHEDULE_TYPE_DAILY = 1
 @depracated This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_IN_MINUTES = 2
 @depracated This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_IN_HOURS = 3
 @depracated This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_IN_DAYS = 4
 @depracated This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_WEEKLY = 5
 @depracated This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_MONTHLY = 6
 @depracated This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_QUARTERLY = 7
 @depracated This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_YEARLY = 8
 @depracated This will be replaced with an ENUM in ILIAS 9 More...
 

Detailed Description

Mail notifications.

Author
Nadia Ahmad nahma.nosp@m.d@da.nosp@m.tabay.nosp@m..de

Definition at line 27 of file class.ilMailCronNotification.php.

Member Function Documentation

◆ activationWasToggled()

ilMailCronNotification::activationWasToggled ( ilDBInterface  $db,
ilSetting  $setting,
bool  $a_currently_active 
)

Important: This method is (also) called from the setup process, where the constructor of an ilCronJob ist NOT executed.

Furthermore only few dependencies may be available in the $DIC.

Parameters
ilDBInterface$db
ilSetting$setting
bool$a_currently_active
Returns
void

Reimplemented from ilCronJob.

Definition at line 128 of file class.ilMailCronNotification.php.

128 : void
129 {
130 $setting->set('mail_notification', (string) ((int) $a_currently_active));
131 }
set(string $a_key, string $a_val)

References ilSetting\set().

+ Here is the call graph for this function:

◆ addCustomSettingsToForm()

ilMailCronNotification::addCustomSettingsToForm ( ilPropertyFormGUI  $a_form)

Reimplemented from ilCronJob.

Definition at line 106 of file class.ilMailCronNotification.php.

106 : void
107 {
108 $this->init();
109 $cb = new ilCheckboxInputGUI(
110 $this->lng->txt('cron_mail_notification_message'),
111 'mail_notification_message'
112 );
113 $cb->setInfo($this->lng->txt('cron_mail_notification_message_info'));
114 $cb->setChecked((bool) $this->settings->get('mail_notification_message', '0'));
115 $a_form->addItem($cb);
116 }
This class represents a checkbox property in a property form.

References ilPropertyFormGUI\addItem(), init(), ILIAS\Repository\lng(), and ILIAS\Repository\settings().

+ Here is the call graph for this function:

◆ getDefaultScheduleType()

ilMailCronNotification::getDefaultScheduleType ( )

Reimplemented from ilCronJob.

Definition at line 71 of file class.ilMailCronNotification.php.

71 : int
72 {
74 }
const SCHEDULE_TYPE_DAILY
@depracated This will be replaced with an ENUM in ILIAS 9

References ilCronJob\SCHEDULE_TYPE_DAILY.

◆ getDefaultScheduleValue()

ilMailCronNotification::getDefaultScheduleValue ( )

Reimplemented from ilCronJob.

Definition at line 76 of file class.ilMailCronNotification.php.

76 : ?int
77 {
78 return null;
79 }

◆ getDescription()

ilMailCronNotification::getDescription ( )

Reimplemented from ilCronJob.

Definition at line 59 of file class.ilMailCronNotification.php.

59 : string
60 {
61 $this->init();
62
63 $this->lng->loadLanguageModule('mail');
64
65 return sprintf(
66 $this->lng->txt('cron_mail_notification_desc'),
67 $this->lng->txt('mail_allow_external')
68 );
69 }

References init(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ getId()

ilMailCronNotification::getId ( )

Reimplemented from ilCronJob.

Definition at line 47 of file class.ilMailCronNotification.php.

47 : string
48 {
49 return 'mail_notification';
50 }

◆ getTitle()

ilMailCronNotification::getTitle ( )

Reimplemented from ilCronJob.

Definition at line 52 of file class.ilMailCronNotification.php.

52 : string
53 {
54 $this->init();
55
56 return $this->lng->txt('cron_mail_notification');
57 }

References init(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ hasAutoActivation()

ilMailCronNotification::hasAutoActivation ( )

Is to be activated on "installation", does only work for ILIAS core cron jobs.

Reimplemented from ilCronJob.

Definition at line 81 of file class.ilMailCronNotification.php.

81 : bool
82 {
83 return false;
84 }

◆ hasCustomSettings()

ilMailCronNotification::hasCustomSettings ( )

Reimplemented from ilCronJob.

Definition at line 91 of file class.ilMailCronNotification.php.

91 : bool
92 {
93 return true;
94 }

◆ hasFlexibleSchedule()

ilMailCronNotification::hasFlexibleSchedule ( )

Reimplemented from ilCronJob.

Definition at line 86 of file class.ilMailCronNotification.php.

86 : bool
87 {
88 return false;
89 }

◆ init()

ilMailCronNotification::init ( )
protected

Definition at line 34 of file class.ilMailCronNotification.php.

34 : void
35 {
36 global $DIC;
37
38 if (!$this->initDone) {
39 $this->settings = $DIC->settings();
40 $this->lng = $DIC->language();
41 $this->http = $DIC->http();
42
43 $this->initDone = true;
44 }
45 }
global $DIC
Definition: feed.php:28
static http()
Fetches the global http state from ILIAS.

References $DIC, ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), and ILIAS\Repository\settings().

Referenced by addCustomSettingsToForm(), getDescription(), getTitle(), and saveCustomSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ run()

ilMailCronNotification::run ( )

Reimplemented from ilCronJob.

Definition at line 96 of file class.ilMailCronNotification.php.

97 {
98 $msn = new ilMailSummaryNotification();
99 $msn->send();
100
101 $result = new ilCronJobResult();
102 $result->setStatus(ilCronJobResult::STATUS_OK);
103 return $result;
104 }

References ilCronJobResult\STATUS_OK.

◆ saveCustomSettings()

ilMailCronNotification::saveCustomSettings ( ilPropertyFormGUI  $a_form)

Reimplemented from ilCronJob.

Definition at line 118 of file class.ilMailCronNotification.php.

118 : bool
119 {
120 $this->init();
121 $this->settings->set(
122 'mail_notification_message',
123 (string) ($this->http->wrapper()->post()->has('mail_notification_message') ? 1 : 0)
124 );
125 return true;
126 }

References ILIAS\FileDelivery\http(), init(), and ILIAS\Repository\settings().

+ Here is the call graph for this function:

Field Documentation

◆ $http

GlobalHttpState ilMailCronNotification::$http
private

Definition at line 29 of file class.ilMailCronNotification.php.

◆ $initDone

bool ilMailCronNotification::$initDone = false
protected

Definition at line 32 of file class.ilMailCronNotification.php.

◆ $lng

ilLanguage ilMailCronNotification::$lng
protected

Definition at line 30 of file class.ilMailCronNotification.php.

◆ $settings

ilSetting ilMailCronNotification::$settings
protected

Definition at line 31 of file class.ilMailCronNotification.php.


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