ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
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 ILIAS\Cron\CronJob
 setDateTimeProvider (?\Closure $date_time_provider)
 
 isDue (?\DateTimeImmutable $last_run, ?JobScheduleType $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 (?JobScheduleType $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 ()
 
 usesLegacyForms ()
 
 getCustomConfigurationInput (\ILIAS\UI\Factory $ui_factory, \ILIAS\Refinery\Factory $factory, \ilLanguage $lng)
 
 addCustomSettingsToForm (\ilPropertyFormGUI $a_form)
 
 saveCustomConfiguration (mixed $form_data)
 
 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 (JobScheduleType $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
 
JobRepository $cronRepository
 
ilGlobalTemplateInterface $main_tpl
 

Additional Inherited Members

- Protected Attributes inherited from ILIAS\Cron\CronJob
JobScheduleType $schedule_type = null
 
int $schedule_value = null
 
Closure $date_time_provider = null
 

Detailed Description

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

Member Function Documentation

◆ addCustomSettingsToForm()

ilCronDeleteInactiveUserAccounts::addCustomSettingsToForm ( ilPropertyFormGUI  $a_form)

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

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

301  : void
302  {
303  $this->lng->loadLanguageModule("user");
304 
305  $schedule = $a_form->getItemByPostVar('type');
306  $schedule->setTitle($this->lng->txt('delete_inactive_user_accounts_frequency'));
307  $schedule->setInfo($this->lng->txt('delete_inactive_user_accounts_frequency_desc'));
308 
309  $sub_mlist = new ilMultiSelectInputGUI(
310  $this->lng->txt('delete_inactive_user_accounts_include_roles'),
311  'cron_inactive_user_delete_include_roles'
312  );
313  $sub_mlist->setInfo($this->lng->txt('delete_inactive_user_accounts_include_roles_desc'));
314  $roles = [];
315  foreach ($this->rbac_review->getGlobalRoles() as $role_id) {
316  if ($role_id !== ANONYMOUS_ROLE_ID) {
317  $roles[$role_id] = $this->objectDataCache->lookupTitle($role_id);
318  }
319  }
320  $sub_mlist->setOptions($roles);
321  $setting = $this->settings->get('cron_inactive_user_delete_include_roles', null);
322  if ($setting === null) {
323  $setting = [];
324  } else {
325  $setting = explode(',', $setting);
326  }
327  $sub_mlist->setValue($setting);
328  $sub_mlist->setWidth(300);
329  $a_form->addItem($sub_mlist);
330 
331  $default_setting = (string) self::DEFAULT_INACTIVITY_PERIOD;
332 
333  $sub_text = new ilNumberInputGUI(
334  $this->lng->txt('delete_inactive_user_accounts_period'),
335  'cron_inactive_user_delete_period'
336  );
337  $sub_text->allowDecimals(false);
338  $sub_text->setInfo($this->lng->txt('delete_inactive_user_accounts_period_desc'));
339  $sub_text->setValue($this->settings->get("cron_inactive_user_delete_period", $default_setting));
340  $sub_text->setSize(4);
341  $sub_text->setMaxLength(4);
342  $sub_text->setRequired(true);
343  $a_form->addItem($sub_text);
344 
345  $sub_period = new ilNumberInputGUI(
346  $this->lng->txt('send_mail_to_inactive_users'),
347  'cron_inactive_user_reminder_period'
348  );
349  $sub_period->allowDecimals(false);
350  $sub_period->setInfo($this->lng->txt("send_mail_to_inactive_users_desc"));
351  $sub_period->setValue($this->settings->get("cron_inactive_user_reminder_period", $default_setting));
352  $sub_period->setSuffix($this->lng->txt("send_mail_to_inactive_users_suffix"));
353  $sub_period->setSize(4);
354  $sub_period->setMaxLength(4);
355  $sub_period->setRequired(false);
356  $sub_period->setMinValue(0);
357  $a_form->addItem($sub_period);
358  }
getItemByPostVar(string $a_post_var)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
allowDecimals(bool $a_value)
This class represents a multi selection list property in a property form.
This class represents a number property in a property form.
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 279 of file class.ilCronDeleteInactiveUserAccounts.php.

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

Referenced by deleteUserOrSendReminderMail().

279  : int
280  {
281  $cron_timing = $this->cronRepository->getCronJobData($this->getId());
282  $time_difference = 0;
283  $multiplier = 1;
284 
285  if (!is_array($cron_timing) || !isset($cron_timing[0]) || !is_array($cron_timing[0])) {
286  return time() + $date_for_deletion + $time_difference;
287  }
288 
289  if (array_key_exists('schedule_type', $cron_timing[0])) {
290  if ($cron_timing[0]['schedule_value'] !== null) {
291  $multiplier = (int) $cron_timing[0]['schedule_value'];
292  }
293  $time_difference = $this->getTimeDifferenceBySchedule(
294  JobScheduleType::from((int) $cron_timing[0]['schedule_type']),
295  $multiplier
296  );
297  }
298  return time() + $date_for_deletion + $time_difference;
299  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
getTimeDifferenceBySchedule(JobScheduleType $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 251 of file class.ilCronDeleteInactiveUserAccounts.php.

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

Referenced by run().

251  : int
252  {
253  $user = ilObjectFactory::getInstanceByObjId($usr_id);
254  $timestamp_last_login = strtotime($user->getLastLogin());
255  $grace_period_over = time() - ($this->delete_period * 24 * 60 * 60);
256 
257  if ($timestamp_last_login < $grace_period_over) {
258  $user->delete();
259  return self::ACTION_USER_DELETED;
260  }
261 
262  if ($this->reminder_period > 0) {
263  $timestamp_for_deletion = $timestamp_last_login - $grace_period_over;
264  $account_will_be_deleted_on = $this->calculateDeletionData($timestamp_for_deletion);
265  if (
266  $this->cron_delete_reminder_mail->sendReminderMailIfNeeded(
267  $user,
268  $this->reminder_period,
269  $account_will_be_deleted_on
270  )
271  ) {
272  return self::ACTION_USER_REMINDER_MAIL_SENT;
273  }
274  }
275 
276  return self::ACTION_USER_NONE;
277  }
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 184 of file class.ilCronDeleteInactiveUserAccounts.php.

185  {
186  return JobScheduleType::DAILY;
187  }

◆ getDefaultScheduleValue()

ilCronDeleteInactiveUserAccounts::getDefaultScheduleValue ( )

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

References null.

189  : ?int
190  {
191  return null;
192  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null

◆ getDescription()

ilCronDeleteInactiveUserAccounts::getDescription ( )

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

References ILIAS\Repository\lng().

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

◆ getId()

ilCronDeleteInactiveUserAccounts::getId ( )

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

Referenced by calculateDeletionData().

169  : string
170  {
171  return "user_inactive";
172  }
+ Here is the caller graph for this function:

◆ getTimeDifferenceBySchedule()

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

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

References ILIAS\Cron\Job\Schedule\YEARLY.

Referenced by calculateDeletionData().

135  : int
136  {
137  $time_difference = 0;
138 
139  switch ($schedule_time) {
140  case JobScheduleType::DAILY:
141  $time_difference = 86400;
142  break;
143  case JobScheduleType::IN_MINUTES:
144  $time_difference = 60 * $multiplier;
145  break;
146  case JobScheduleType::IN_HOURS:
147  $time_difference = 3600 * $multiplier;
148  break;
149  case JobScheduleType::IN_DAYS:
150  $time_difference = 86400 * $multiplier;
151  break;
152  case JobScheduleType::WEEKLY:
153  $time_difference = 604800;
154  break;
155  case JobScheduleType::MONTHLY:
156  $time_difference = 2629743;
157  break;
158  case JobScheduleType::QUARTERLY:
159  $time_difference = 7889229;
160  break;
162  $time_difference = 31556926;
163  break;
164  }
165 
166  return $time_difference;
167  }
+ Here is the caller graph for this function:

◆ getTitle()

ilCronDeleteInactiveUserAccounts::getTitle ( )

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

References ILIAS\Repository\lng().

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

◆ hasAutoActivation()

ilCronDeleteInactiveUserAccounts::hasAutoActivation ( )

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

194  : bool
195  {
196  return false;
197  }

◆ hasCustomSettings()

ilCronDeleteInactiveUserAccounts::hasCustomSettings ( )

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

204  : bool
205  {
206  return true;
207  }

◆ hasFlexibleSchedule()

ilCronDeleteInactiveUserAccounts::hasFlexibleSchedule ( )

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

199  : bool
200  {
201  return true;
202  }

◆ isDecimal()

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

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

Referenced by saveCustomSettings().

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

◆ loadSettings()

ilCronDeleteInactiveUserAccounts::loadSettings ( )
private

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

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

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

◆ run()

ilCronDeleteInactiveUserAccounts::run ( )

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

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

209  : JobResult
210  {
211  $status = JobResult::STATUS_NO_ACTION;
212  $check_mail = $this->delete_period - $this->reminder_period;
213  $usr_ids = ilObjUser::getUserIdsByInactivityPeriod($check_mail);
214  $counters = [
215  self::ACTION_USER_NONE => 0,
216  self::ACTION_USER_REMINDER_MAIL_SENT => 0,
217  self::ACTION_USER_DELETED => 0
218  ];
219  foreach ($usr_ids as $usr_id) {
220  if ($usr_id === ANONYMOUS_USER_ID || $usr_id === SYSTEM_USER_ID) {
221  continue;
222  }
223 
224  foreach ($this->include_roles as $role_id) {
225  if ($this->rbac_review->isAssigned($usr_id, $role_id)) {
226  $action_taken = $this->deleteUserOrSendReminderMail($usr_id);
227  $counters[$action_taken]++;
228  break;
229  }
230  }
231  }
232 
233  if ($counters[self::ACTION_USER_REMINDER_MAIL_SENT] > 0
234  || $counters[self::ACTION_USER_DELETED] > 0) {
235  $status = JobResult::STATUS_OK;
236  }
237 
238  $this->cron_delete_reminder_mail->removeEntriesFromTableIfLastLoginIsNewer();
239  $this->log->write(
240  'CRON - ilCronDeleteInactiveUserAccounts::run(), deleted '
241  . "=> {$counters[self::ACTION_USER_DELETED]} User(s), sent reminder "
242  . "mail to {$counters[self::ACTION_USER_REMINDER_MAIL_SENT]} User(s)"
243  );
244 
245  $result = new JobResult();
246  $result->setStatus($status);
247 
248  return $result;
249  }
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
+ Here is the call graph for this function:

◆ saveCustomSettings()

ilCronDeleteInactiveUserAccounts::saveCustomSettings ( ilPropertyFormGUI  $a_form)

Definition at line 360 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\Repository\settings(), and ILIAS\Cron\Job\Schedule\YEARLY.

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

◆ $cronRepository

JobRepository ilCronDeleteInactiveUserAccounts::$cronRepository
private

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

◆ $delete_period

int ilCronDeleteInactiveUserAccounts::$delete_period
private

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

◆ $http

ILIAS HTTP GlobalHttpState ilCronDeleteInactiveUserAccounts::$http
private

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

◆ $include_roles

array ilCronDeleteInactiveUserAccounts::$include_roles
private

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

◆ $lng

Language ilCronDeleteInactiveUserAccounts::$lng
private

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

◆ $log

ilComponentLogger ilCronDeleteInactiveUserAccounts::$log
private

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

◆ $main_tpl

ilGlobalTemplateInterface ilCronDeleteInactiveUserAccounts::$main_tpl
private

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

◆ $objectDataCache

ilObjectDataCache ilCronDeleteInactiveUserAccounts::$objectDataCache
private

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

◆ $rbac_review

ilRbacReview ilCronDeleteInactiveUserAccounts::$rbac_review
private

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

◆ $refinery

ILIAS Refinery Factory ilCronDeleteInactiveUserAccounts::$refinery
private

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

◆ $reminder_period

int ilCronDeleteInactiveUserAccounts::$reminder_period
private

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

Referenced by run(), and saveCustomSettings().

◆ $settings

ilSetting ilCronDeleteInactiveUserAccounts::$settings
private

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

◆ ACTION_USER_DELETED

const ilCronDeleteInactiveUserAccounts::ACTION_USER_DELETED = 2
private

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

◆ ACTION_USER_NONE

const ilCronDeleteInactiveUserAccounts::ACTION_USER_NONE = 0
private

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

◆ ACTION_USER_REMINDER_MAIL_SENT

const ilCronDeleteInactiveUserAccounts::ACTION_USER_REMINDER_MAIL_SENT = 1
private

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

◆ DEFAULT_INACTIVITY_PERIOD

const ilCronDeleteInactiveUserAccounts::DEFAULT_INACTIVITY_PERIOD = 365
private

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

◆ DEFAULT_REMINDER_PERIOD

const ilCronDeleteInactiveUserAccounts::DEFAULT_REMINDER_PERIOD = 0
private

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


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