ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
ilCronDeleteInactiveUserAccounts Class Reference
+ Inheritance diagram for ilCronDeleteInactiveUserAccounts:
+ Collaboration diagram for ilCronDeleteInactiveUserAccounts:

Public Member Functions

 getId ()
 
 getTitle ()
 
 getDescription ()
 
 getDefaultScheduleType ()
 
 getDefaultScheduleValue ()
 
 hasAutoActivation ()
 
 hasFlexibleSchedule ()
 
 hasCustomSettings ()
 
 run ()
 
 addCustomSettingsToForm (ilPropertyFormGUI $a_form)
 
 saveCustomSettings (ilPropertyFormGUI $a_form)
 
- Public Member Functions inherited from ilCronJob
 setDateTimeProvider (?Closure $date_time_provider)
 
 isDue (?DateTimeImmutable $last_run, ?CronJobScheduleType $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 (?CronJobScheduleType $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

 isDecimal ($number)
 
 getTimeDifferenceBySchedule (CronJobScheduleType $schedule_time, int $multiplier)
 
 calculateDeletionData (int $date_for_deletion)
 

Private Member Functions

 loadSettings ()
 
 deleteUserOrSendReminderMail ($usr_id)
 

Private Attributes

const DEFAULT_INACTIVITY_PERIOD = 365
 
const DEFAULT_REMINDER_PERIOD = 0
 
const ACTION_USER_NONE = 0
 
const ACTION_USER_REMINDER_MAIL_SENT = 1
 
const ACTION_USER_DELETED = 2
 
int $delete_period
 
int $reminder_period
 
array $include_roles
 
ilCronDeleteInactiveUserReminderMail $cron_delete_reminder_mail
 
ilSetting $settings
 
Language $lng
 
ilComponentLogger $log
 
ilRbacReview $rbac_review
 
ilObjectDataCache $objectDataCache
 
ILIAS HTTP GlobalHttpState $http
 
ILIAS Refinery Factory $refinery
 
ilCronJobRepository $cronRepository
 
ilGlobalTemplateInterface $main_tpl
 

Additional Inherited Members

- Protected Attributes inherited from ilCronJob
CronJobScheduleType $schedule_type = null
 
int $schedule_value = null
 
Closure $date_time_provider = null
 

Detailed Description

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

Member Function Documentation

◆ addCustomSettingsToForm()

ilCronDeleteInactiveUserAccounts::addCustomSettingsToForm ( ilPropertyFormGUI  $a_form)

Definition at line 298 of file class.ilCronDeleteInactiveUserAccounts.php.

References ilPropertyFormGUI\addItem(), ANONYMOUS_ROLE_ID, ilPropertyFormGUI\getItemByPostVar(), ILIAS\Repository\lng(), ILIAS\Repository\objectDataCache(), ilFormPropertyGUI\setInfo(), and ILIAS\Repository\settings().

298  : void
299  {
300  $this->lng->loadLanguageModule("user");
301 
302  $schedule = $a_form->getItemByPostVar('type');
303  $schedule->setTitle($this->lng->txt('delete_inactive_user_accounts_frequency'));
304  $schedule->setInfo($this->lng->txt('delete_inactive_user_accounts_frequency_desc'));
305 
306  $sub_mlist = new ilMultiSelectInputGUI(
307  $this->lng->txt('delete_inactive_user_accounts_include_roles'),
308  'cron_inactive_user_delete_include_roles'
309  );
310  $sub_mlist->setInfo($this->lng->txt('delete_inactive_user_accounts_include_roles_desc'));
311  $roles = [];
312  foreach ($this->rbac_review->getGlobalRoles() as $role_id) {
313  if ($role_id !== ANONYMOUS_ROLE_ID) {
314  $roles[$role_id] = $this->objectDataCache->lookupTitle($role_id);
315  }
316  }
317  $sub_mlist->setOptions($roles);
318  $setting = $this->settings->get('cron_inactive_user_delete_include_roles', null);
319  if ($setting === null) {
320  $setting = [];
321  } else {
322  $setting = explode(',', $setting);
323  }
324  $sub_mlist->setValue($setting);
325  $sub_mlist->setWidth(300);
326  $a_form->addItem($sub_mlist);
327 
328  $default_setting = (string) self::DEFAULT_INACTIVITY_PERIOD;
329 
330  $sub_text = new ilNumberInputGUI(
331  $this->lng->txt('delete_inactive_user_accounts_period'),
332  'cron_inactive_user_delete_period'
333  );
334  $sub_text->allowDecimals(false);
335  $sub_text->setInfo($this->lng->txt('delete_inactive_user_accounts_period_desc'));
336  $sub_text->setValue($this->settings->get("cron_inactive_user_delete_period", $default_setting));
337  $sub_text->setSize(4);
338  $sub_text->setMaxLength(4);
339  $sub_text->setRequired(true);
340  $a_form->addItem($sub_text);
341 
342  $sub_period = new ilNumberInputGUI(
343  $this->lng->txt('send_mail_to_inactive_users'),
344  'cron_inactive_user_reminder_period'
345  );
346  $sub_period->allowDecimals(false);
347  $sub_period->setInfo($this->lng->txt("send_mail_to_inactive_users_desc"));
348  $sub_period->setValue($this->settings->get("cron_inactive_user_reminder_period", $default_setting));
349  $sub_period->setSuffix($this->lng->txt("send_mail_to_inactive_users_suffix"));
350  $sub_period->setSize(4);
351  $sub_period->setMaxLength(4);
352  $sub_period->setRequired(false);
353  $sub_period->setMinValue(0);
354  $a_form->addItem($sub_period);
355  }
getItemByPostVar(string $a_post_var)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const ANONYMOUS_ROLE_ID
Definition: constants.php:28
+ Here is the call graph for this function:

◆ calculateDeletionData()

ilCronDeleteInactiveUserAccounts::calculateDeletionData ( int  $date_for_deletion)
protected

Definition at line 276 of file class.ilCronDeleteInactiveUserAccounts.php.

References ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines\from(), getId(), getTimeDifferenceBySchedule(), and ILIAS\Repository\int().

Referenced by deleteUserOrSendReminderMail().

276  : int
277  {
278  $cron_timing = $this->cronRepository->getCronJobData($this->getId());
279  $time_difference = 0;
280  $multiplier = 1;
281 
282  if (!is_array($cron_timing) || !isset($cron_timing[0]) || !is_array($cron_timing[0])) {
283  return time() + $date_for_deletion + $time_difference;
284  }
285 
286  if (array_key_exists('schedule_type', $cron_timing[0])) {
287  if ($cron_timing[0]['schedule_value'] !== null) {
288  $multiplier = (int) $cron_timing[0]['schedule_value'];
289  }
290  $time_difference = $this->getTimeDifferenceBySchedule(
291  CronJobScheduleType::from((int) $cron_timing[0]['schedule_type']),
292  $multiplier
293  );
294  }
295  return time() + $date_for_deletion + $time_difference;
296  }
getTimeDifferenceBySchedule(CronJobScheduleType $schedule_time, int $multiplier)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteUserOrSendReminderMail()

ilCronDeleteInactiveUserAccounts::deleteUserOrSendReminderMail (   $usr_id)
private

Definition at line 248 of file class.ilCronDeleteInactiveUserAccounts.php.

References calculateDeletionData(), and ilObjectFactory\getInstanceByObjId().

Referenced by run().

248  : int
249  {
250  $user = ilObjectFactory::getInstanceByObjId($usr_id);
251  $timestamp_last_login = strtotime($user->getLastLogin());
252  $grace_period_over = time() - ($this->delete_period * 24 * 60 * 60);
253 
254  if ($timestamp_last_login < $grace_period_over) {
255  $user->delete();
256  return self::ACTION_USER_DELETED;
257  }
258 
259  if ($this->reminder_period > 0) {
260  $timestamp_for_deletion = $timestamp_last_login - $grace_period_over;
261  $account_will_be_deleted_on = $this->calculateDeletionData($timestamp_for_deletion);
262  if(
263  $this->cron_delete_reminder_mail->sendReminderMailIfNeeded(
264  $user,
265  $this->reminder_period,
266  $account_will_be_deleted_on
267  )
268  ) {
269  return self::ACTION_USER_REMINDER_MAIL_SENT;
270  }
271  }
272 
273  return self::ACTION_USER_NONE;
274  }
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDefaultScheduleType()

ilCronDeleteInactiveUserAccounts::getDefaultScheduleType ( )

Definition at line 181 of file class.ilCronDeleteInactiveUserAccounts.php.

182  {
183  return CronJobScheduleType::SCHEDULE_TYPE_DAILY;
184  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ getDefaultScheduleValue()

ilCronDeleteInactiveUserAccounts::getDefaultScheduleValue ( )

Definition at line 186 of file class.ilCronDeleteInactiveUserAccounts.php.

186  : ?int
187  {
188  return null;
189  }

◆ getDescription()

ilCronDeleteInactiveUserAccounts::getDescription ( )

Definition at line 176 of file class.ilCronDeleteInactiveUserAccounts.php.

References ILIAS\Repository\lng().

176  : string
177  {
178  return $this->lng->txt("delete_inactive_user_accounts_desc");
179  }
+ Here is the call graph for this function:

◆ getId()

ilCronDeleteInactiveUserAccounts::getId ( )

Definition at line 166 of file class.ilCronDeleteInactiveUserAccounts.php.

Referenced by calculateDeletionData().

166  : string
167  {
168  return "user_inactive";
169  }
+ Here is the caller graph for this function:

◆ getTimeDifferenceBySchedule()

ilCronDeleteInactiveUserAccounts::getTimeDifferenceBySchedule ( CronJobScheduleType  $schedule_time,
int  $multiplier 
)
protected

Definition at line 132 of file class.ilCronDeleteInactiveUserAccounts.php.

References ILIAS\Cron\Schedule\SCHEDULE_TYPE_YEARLY.

Referenced by calculateDeletionData().

132  : int
133  {
134  $time_difference = 0;
135 
136  switch ($schedule_time) {
137  case CronJobScheduleType::SCHEDULE_TYPE_DAILY:
138  $time_difference = 86400;
139  break;
140  case CronJobScheduleType::SCHEDULE_TYPE_IN_MINUTES:
141  $time_difference = 60 * $multiplier;
142  break;
143  case CronJobScheduleType::SCHEDULE_TYPE_IN_HOURS:
144  $time_difference = 3600 * $multiplier;
145  break;
146  case CronJobScheduleType::SCHEDULE_TYPE_IN_DAYS:
147  $time_difference = 86400 * $multiplier;
148  break;
149  case CronJobScheduleType::SCHEDULE_TYPE_WEEKLY:
150  $time_difference = 604800;
151  break;
152  case CronJobScheduleType::SCHEDULE_TYPE_MONTHLY:
153  $time_difference = 2629743;
154  break;
155  case CronJobScheduleType::SCHEDULE_TYPE_QUARTERLY:
156  $time_difference = 7889229;
157  break;
159  $time_difference = 31556926;
160  break;
161  }
162 
163  return $time_difference;
164  }
+ Here is the caller graph for this function:

◆ getTitle()

ilCronDeleteInactiveUserAccounts::getTitle ( )

Definition at line 171 of file class.ilCronDeleteInactiveUserAccounts.php.

References ILIAS\Repository\lng().

171  : string
172  {
173  return $this->lng->txt("delete_inactive_user_accounts");
174  }
+ Here is the call graph for this function:

◆ hasAutoActivation()

ilCronDeleteInactiveUserAccounts::hasAutoActivation ( )

Definition at line 191 of file class.ilCronDeleteInactiveUserAccounts.php.

191  : bool
192  {
193  return false;
194  }

◆ hasCustomSettings()

ilCronDeleteInactiveUserAccounts::hasCustomSettings ( )

Definition at line 201 of file class.ilCronDeleteInactiveUserAccounts.php.

201  : bool
202  {
203  return true;
204  }

◆ hasFlexibleSchedule()

ilCronDeleteInactiveUserAccounts::hasFlexibleSchedule ( )

Definition at line 196 of file class.ilCronDeleteInactiveUserAccounts.php.

196  : bool
197  {
198  return true;
199  }

◆ isDecimal()

ilCronDeleteInactiveUserAccounts::isDecimal (   $number)
protected
Parameters
string | int$number

Definition at line 125 of file class.ilCronDeleteInactiveUserAccounts.php.

Referenced by saveCustomSettings().

125  : bool
126  {
127  $number_as_string = (string) $number;
128 
129  return strpos($number_as_string, ',') || strpos($number_as_string, '.');
130  }
+ Here is the caller graph for this function:

◆ loadSettings()

ilCronDeleteInactiveUserAccounts::loadSettings ( )
private

Definition at line 100 of file class.ilCronDeleteInactiveUserAccounts.php.

References ILIAS\Repository\int(), and ILIAS\Repository\settings().

100  : void
101  {
102  $include_roles = $this->settings->get(
103  'cron_inactive_user_delete_include_roles',
104  null
105  );
106  if ($include_roles === null) {
107  $this->include_roles = [];
108  } else {
109  $this->include_roles = array_filter(array_map('intval', explode(',', $include_roles)));
110  }
111 
112  $this->delete_period = (int) $this->settings->get(
113  'cron_inactive_user_delete_period',
114  (string) self::DEFAULT_INACTIVITY_PERIOD
115  );
116  $this->reminder_period = (int) $this->settings->get(
117  'cron_inactive_user_reminder_period',
118  (string) self::DEFAULT_REMINDER_PERIOD
119  );
120  }
+ Here is the call graph for this function:

◆ run()

ilCronDeleteInactiveUserAccounts::run ( )

Definition at line 206 of file class.ilCronDeleteInactiveUserAccounts.php.

References $reminder_period, ANONYMOUS_USER_ID, deleteUserOrSendReminderMail(), ilObjUser\getUserIdsByInactivityPeriod(), ilCronJobResult\STATUS_NO_ACTION, ilCronJobResult\STATUS_OK, and SYSTEM_USER_ID.

207  {
209  $check_mail = $this->delete_period - $this->reminder_period;
210  $usr_ids = ilObjUser::getUserIdsByInactivityPeriod($check_mail);
211  $counters = [
212  self::ACTION_USER_NONE => 0,
213  self::ACTION_USER_REMINDER_MAIL_SENT => 0,
214  self::ACTION_USER_DELETED => 0
215  ];
216  foreach ($usr_ids as $usr_id) {
217  if ($usr_id === ANONYMOUS_USER_ID || $usr_id === SYSTEM_USER_ID) {
218  continue;
219  }
220 
221  foreach ($this->include_roles as $role_id) {
222  if ($this->rbac_review->isAssigned($usr_id, $role_id)) {
223  $action_taken = $this->deleteUserOrSendReminderMail($usr_id);
224  $counters[$action_taken]++;
225  break;
226  }
227  }
228  }
229 
230  if ($counters[self::ACTION_USER_REMINDER_MAIL_SENT] > 0
231  || $counters[self::ACTION_USER_DELETED] > 0) {
232  $status = ilCronJobResult::STATUS_OK;
233  }
234 
235  $this->cron_delete_reminder_mail->removeEntriesFromTableIfLastLoginIsNewer();
236  $this->log->write(
237  'CRON - ilCronDeleteInactiveUserAccounts::run(), deleted '
238  . "=> {$counters[self::ACTION_USER_DELETED]} User(s), sent reminder "
239  . "mail to {$counters[self::ACTION_USER_REMINDER_MAIL_SENT]} User(s)"
240  );
241 
242  $result = new ilCronJobResult();
243  $result->setStatus($status);
244 
245  return $result;
246  }
const ANONYMOUS_USER_ID
Definition: constants.php:27
static getUserIdsByInactivityPeriod(int $periodInDays)
Get ids of all users that have been inactive for at least the given period.
const SYSTEM_USER_ID
This file contains constants for PHPStan analyis, see: https://phpstan.org/config-reference#constants...
Definition: constants.php:26
final const STATUS_NO_ACTION
+ Here is the call graph for this function:

◆ saveCustomSettings()

ilCronDeleteInactiveUserAccounts::saveCustomSettings ( ilPropertyFormGUI  $a_form)

Definition at line 357 of file class.ilCronDeleteInactiveUserAccounts.php.

References $reminder_period, $valid, ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines\from(), ilPropertyFormGUI\getItemByPostVar(), ILIAS\FileDelivery\http(), isDecimal(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), ILIAS\Cron\Schedule\SCHEDULE_TYPE_YEARLY, and ILIAS\Repository\settings().

357  : bool
358  {
359  $this->lng->loadLanguageModule("user");
360 
361  $valid = true;
362 
363  $cron_period = CronJobScheduleType::from($this->http->wrapper()->post()->retrieve(
364  'type',
365  $this->refinery->kindlyTo()->int()
366  ));
367 
368  $cron_period_custom = 0;
369  $delete_period = 0;
370  $reminder_period = '';
371 
372  $empty_string_trafo = $this->refinery->custom()->transformation(static function ($value): string {
373  if ($value === '') {
374  return '';
375  }
376 
377  throw new Exception('The value to be transformed is not an empty string');
378  });
379 
380  if ($this->http->wrapper()->post()->has('sdyi')) {
381  $cron_period_custom = $this->http->wrapper()->post()->retrieve(
382  'sdyi',
383  $this->refinery->byTrying([
384  $this->refinery->kindlyTo()->int(),
385  $empty_string_trafo
386  ])
387  );
388  }
389 
390  if ($this->http->wrapper()->post()->has('cron_inactive_user_delete_period')) {
391  $delete_period = $this->http->wrapper()->post()->retrieve(
392  'cron_inactive_user_delete_period',
393  $this->refinery->byTrying([
394  $this->refinery->kindlyTo()->int(),
395  $this->refinery->in()->series([
396  $this->refinery->kindlyTo()->float(),
397  $this->refinery->kindlyTo()->int()
398  ])
399  ])
400  );
401  }
402 
403  if ($this->http->wrapper()->post()->has('cron_inactive_user_reminder_period')) {
404  $reminder_period = $this->http->wrapper()->post()->retrieve(
405  'cron_inactive_user_reminder_period',
406  $this->refinery->byTrying([
407  $empty_string_trafo,
408  $this->refinery->byTrying([
409  $this->refinery->kindlyTo()->int(),
410  $this->refinery->in()->series([
411  $this->refinery->kindlyTo()->float(),
412  $this->refinery->kindlyTo()->int()
413  ])
414  ])
415  ])
416  );
417  }
418 
419  if ($this->isDecimal($delete_period)) {
420  $valid = false;
421  $a_form->getItemByPostVar('cron_inactive_user_delete_period')->setAlert(
422  $this->lng->txt('send_mail_to_inactive_users_numbers_only')
423  );
424  }
425 
426  if ($this->isDecimal($reminder_period)) {
427  $valid = false;
428  $a_form->getItemByPostVar('cron_inactive_user_reminder_period')->setAlert(
429  $this->lng->txt('send_mail_to_inactive_users_numbers_only')
430  );
431  }
432 
434  $valid = false;
435  $a_form->getItemByPostVar('cron_inactive_user_reminder_period')->setAlert(
436  $this->lng->txt('send_mail_to_inactive_users_must_be_smaller_than')
437  );
438  }
439 
440  if ($cron_period->value >= CronJobScheduleType::SCHEDULE_TYPE_IN_DAYS->value &&
441  $cron_period->value <= CronJobScheduleType::SCHEDULE_TYPE_YEARLY->value && $reminder_period > 0) {
442  $logic = true;
443  $check_window_logic = $delete_period - $reminder_period;
444  if ($cron_period === CronJobScheduleType::SCHEDULE_TYPE_IN_DAYS) {
445  if ($check_window_logic < $cron_period_custom) {
446  $logic = false;
447  }
448  } elseif ($cron_period === CronJobScheduleType::SCHEDULE_TYPE_WEEKLY) {
449  if ($check_window_logic <= 7) {
450  $logic = false;
451  }
452  } elseif ($cron_period === CronJobScheduleType::SCHEDULE_TYPE_MONTHLY) {
453  if ($check_window_logic <= 31) {
454  $logic = false;
455  }
456  } elseif ($cron_period === CronJobScheduleType::SCHEDULE_TYPE_QUARTERLY) {
457  if ($check_window_logic <= 92) {
458  $logic = false;
459  }
460  } elseif ($cron_period === CronJobScheduleType::SCHEDULE_TYPE_YEARLY) {
461  if ($check_window_logic <= 366) {
462  $logic = false;
463  }
464  }
465 
466  if (!$logic) {
467  $valid = false;
468  $a_form->getItemByPostVar('cron_inactive_user_reminder_period')->setAlert(
469  $this->lng->txt('send_mail_reminder_window_too_small')
470  );
471  }
472  }
473 
474  if ($delete_period > 0) {
475  $roles = implode(',', $this->http->wrapper()->post()->retrieve(
476  'cron_inactive_user_delete_include_roles',
477  $this->refinery->byTrying([
478  $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int()),
479  $this->refinery->always([])
480  ])
481  ));
482 
483  $this->settings->set('cron_inactive_user_delete_include_roles', $roles);
484  $this->settings->set('cron_inactive_user_delete_period', (string) $delete_period);
485  }
486 
487  if ($this->reminder_period > $reminder_period) {
488  $this->cron_delete_reminder_mail->flushDataTable();
489  }
490 
491  $this->settings->set('cron_inactive_user_reminder_period', (string) $reminder_period);
492 
493  if (!$valid) {
494  $this->main_tpl->setOnScreenMessage('failure', $this->lng->txt("form_input_not_valid"));
495  return false;
496  }
497 
498  return true;
499  }
getItemByPostVar(string $a_post_var)
$valid
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

Field Documentation

◆ $cron_delete_reminder_mail

ilCronDeleteInactiveUserReminderMail ilCronDeleteInactiveUserAccounts::$cron_delete_reminder_mail
private

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

◆ $cronRepository

ilCronJobRepository ilCronDeleteInactiveUserAccounts::$cronRepository
private

Definition at line 51 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ $delete_period

int ilCronDeleteInactiveUserAccounts::$delete_period
private

Definition at line 39 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ $http

ILIAS HTTP GlobalHttpState ilCronDeleteInactiveUserAccounts::$http
private

Definition at line 49 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ $include_roles

array ilCronDeleteInactiveUserAccounts::$include_roles
private

Definition at line 42 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ $lng

Language ilCronDeleteInactiveUserAccounts::$lng
private

Definition at line 45 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ $log

ilComponentLogger ilCronDeleteInactiveUserAccounts::$log
private

Definition at line 46 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ $main_tpl

ilGlobalTemplateInterface ilCronDeleteInactiveUserAccounts::$main_tpl
private

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

◆ $objectDataCache

ilObjectDataCache ilCronDeleteInactiveUserAccounts::$objectDataCache
private

Definition at line 48 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ $rbac_review

ilRbacReview ilCronDeleteInactiveUserAccounts::$rbac_review
private

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

◆ $refinery

ILIAS Refinery Factory ilCronDeleteInactiveUserAccounts::$refinery
private

Definition at line 50 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ $reminder_period

int ilCronDeleteInactiveUserAccounts::$reminder_period
private

Definition at line 40 of file class.ilCronDeleteInactiveUserAccounts.php.

Referenced by run(), and saveCustomSettings().

◆ $settings

ilSetting ilCronDeleteInactiveUserAccounts::$settings
private

Definition at line 44 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ ACTION_USER_DELETED

const ilCronDeleteInactiveUserAccounts::ACTION_USER_DELETED = 2
private

Definition at line 37 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ ACTION_USER_NONE

const ilCronDeleteInactiveUserAccounts::ACTION_USER_NONE = 0
private

Definition at line 35 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ ACTION_USER_REMINDER_MAIL_SENT

const ilCronDeleteInactiveUserAccounts::ACTION_USER_REMINDER_MAIL_SENT = 1
private

Definition at line 36 of file class.ilCronDeleteInactiveUserAccounts.php.

◆ DEFAULT_INACTIVITY_PERIOD

const ilCronDeleteInactiveUserAccounts::DEFAULT_INACTIVITY_PERIOD = 365
private

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

◆ DEFAULT_REMINDER_PERIOD

const ilCronDeleteInactiveUserAccounts::DEFAULT_REMINDER_PERIOD = 0
private

Definition at line 33 of file class.ilCronDeleteInactiveUserAccounts.php.


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