ILIAS  release_8 Revision v8.19-1-g4e8f2f9140c
All Data Structures Namespaces Files Functions Variables Modules Pages
ilMailCronNotification Class Reference

Mail notifications. More...

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

Public Member Functions

 getId ()
 
 getTitle ()
 
 getDescription ()
 
 getDefaultScheduleType ()
 
 getDefaultScheduleValue ()
 
 hasAutoActivation ()
 
 hasFlexibleSchedule ()
 
 hasCustomSettings ()
 
 run ()
 
 addCustomSettingsToForm (ilPropertyFormGUI $a_form)
 
 saveCustomSettings (ilPropertyFormGUI $a_form)
 
 activationWasToggled (ilDBInterface $db, ilSetting $setting, bool $a_currently_active)
 
- 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
 This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_IN_MINUTES = 2
 This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_IN_HOURS = 3
 This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_IN_DAYS = 4
 This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_WEEKLY = 5
 This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_MONTHLY = 6
 This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_QUARTERLY = 7
 This will be replaced with an ENUM in ILIAS 9 More...
 
const SCHEDULE_TYPE_YEARLY = 8
 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 
)

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

References ilSetting\set().

128  : void
129  {
130  $setting->set('mail_notification', (string) ((int) $a_currently_active));
131  }
set(string $a_key, string $a_val)
+ Here is the call graph for this function:

◆ addCustomSettingsToForm()

ilMailCronNotification::addCustomSettingsToForm ( ilPropertyFormGUI  $a_form)

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

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

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.
+ Here is the call graph for this function:

◆ getDefaultScheduleType()

ilMailCronNotification::getDefaultScheduleType ( )

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

71  : int
72  {
73  return self::SCHEDULE_TYPE_DAILY;
74  }

◆ getDefaultScheduleValue()

ilMailCronNotification::getDefaultScheduleValue ( )

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

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

◆ getDescription()

ilMailCronNotification::getDescription ( )

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

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

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  }
+ Here is the call graph for this function:

◆ getId()

ilMailCronNotification::getId ( )

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

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

◆ getTitle()

ilMailCronNotification::getTitle ( )

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

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

52  : string
53  {
54  $this->init();
55 
56  return $this->lng->txt('cron_mail_notification');
57  }
+ Here is the call graph for this function:

◆ hasAutoActivation()

ilMailCronNotification::hasAutoActivation ( )

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

81  : bool
82  {
83  return false;
84  }

◆ hasCustomSettings()

ilMailCronNotification::hasCustomSettings ( )

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

91  : bool
92  {
93  return true;
94  }

◆ hasFlexibleSchedule()

ilMailCronNotification::hasFlexibleSchedule ( )

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.

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

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

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.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ run()

ilMailCronNotification::run ( )

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

References ilCronJobResult\STATUS_OK.

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

◆ saveCustomSettings()

ilMailCronNotification::saveCustomSettings ( ilPropertyFormGUI  $a_form)

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

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

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  }
static http()
Fetches the global http state from ILIAS.
+ 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: