ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilCronDeleteInactiveUserAccounts Class Reference
+ Inheritance diagram for ilCronDeleteInactiveUserAccounts:
+ Collaboration diagram for ilCronDeleteInactiveUserAccounts:

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)
 
- 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.

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 }
This class represents a multi selection list property in a property form.
This class represents a number property in a property form.
getItemByPostVar(string $a_post_var)
const ANONYMOUS_ROLE_ID
Definition: constants.php:28

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

+ 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.

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 }
getTimeDifferenceBySchedule(JobScheduleType $schedule_time, int $multiplier)

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

Referenced by deleteUserOrSendReminderMail().

+ 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.

251 : int
252 {
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();
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 ) {
273 }
274 }
275
277 }
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id

References ACTION_USER_DELETED, ACTION_USER_NONE, ACTION_USER_REMINDER_MAIL_SENT, calculateDeletionData(), and ilObjectFactory\getInstanceByObjId().

Referenced by run().

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

◆ getDefaultScheduleType()

ilCronDeleteInactiveUserAccounts::getDefaultScheduleType ( )

Reimplemented from ILIAS\Cron\CronJob.

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

185 {
186 return JobScheduleType::DAILY;
187 }

◆ getDefaultScheduleValue()

ilCronDeleteInactiveUserAccounts::getDefaultScheduleValue ( )

Reimplemented from ILIAS\Cron\CronJob.

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

189 : ?int
190 {
191 return null;
192 }

◆ getDescription()

ilCronDeleteInactiveUserAccounts::getDescription ( )

Reimplemented from ILIAS\Cron\CronJob.

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

179 : string
180 {
181 return $this->lng->txt("delete_inactive_user_accounts_desc");
182 }

References ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ getId()

ilCronDeleteInactiveUserAccounts::getId ( )

Reimplemented from ILIAS\Cron\CronJob.

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

169 : string
170 {
171 return "user_inactive";
172 }

Referenced by calculateDeletionData().

+ 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.

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 }

References ILIAS\Cron\Job\Schedule\YEARLY.

Referenced by calculateDeletionData().

+ Here is the caller graph for this function:

◆ getTitle()

ilCronDeleteInactiveUserAccounts::getTitle ( )

Reimplemented from ILIAS\Cron\CronJob.

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

174 : string
175 {
176 return $this->lng->txt("delete_inactive_user_accounts");
177 }

References ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ hasAutoActivation()

ilCronDeleteInactiveUserAccounts::hasAutoActivation ( )

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

Reimplemented from ILIAS\Cron\CronJob.

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

194 : bool
195 {
196 return false;
197 }

◆ hasCustomSettings()

ilCronDeleteInactiveUserAccounts::hasCustomSettings ( )

Reimplemented from ILIAS\Cron\CronJob.

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

204 : bool
205 {
206 return true;
207 }

◆ hasFlexibleSchedule()

ilCronDeleteInactiveUserAccounts::hasFlexibleSchedule ( )

Reimplemented from ILIAS\Cron\CronJob.

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.

128 : bool
129 {
130 $number_as_string = (string) $number;
131
132 return strpos($number_as_string, ',') || strpos($number_as_string, '.');
133 }

Referenced by saveCustomSettings().

+ Here is the caller graph for this function:

◆ loadSettings()

ilCronDeleteInactiveUserAccounts::loadSettings ( )
private

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

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',
118 );
119 $this->reminder_period = (int) $this->settings->get(
120 'cron_inactive_user_reminder_period',
122 );
123 }

References $include_roles, DEFAULT_INACTIVITY_PERIOD, DEFAULT_REMINDER_PERIOD, ILIAS\Repository\int(), and ILIAS\Repository\settings().

+ Here is the call graph for this function:

◆ run()

ilCronDeleteInactiveUserAccounts::run ( )

Reimplemented from ILIAS\Cron\CronJob.

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

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 }
static getUserIdsByInactivityPeriod(int $periodInDays)
const SYSTEM_USER_ID
This file contains constants for PHPStan analyis, see: https://phpstan.org/config-reference#constants...
Definition: constants.php:26
const ANONYMOUS_USER_ID
Definition: constants.php:27

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

+ Here is the call graph for this function:

◆ saveCustomSettings()

ilCronDeleteInactiveUserAccounts::saveCustomSettings ( ilPropertyFormGUI  $a_form)

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

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

References $delete_period, $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.

+ 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.

Referenced by saveCustomSettings().

◆ $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.

Referenced by loadSettings().

◆ $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

◆ ACTION_USER_NONE

const ilCronDeleteInactiveUserAccounts::ACTION_USER_NONE = 0
private

◆ ACTION_USER_REMINDER_MAIL_SENT

const ilCronDeleteInactiveUserAccounts::ACTION_USER_REMINDER_MAIL_SENT = 1
private

◆ DEFAULT_INACTIVITY_PERIOD

const ilCronDeleteInactiveUserAccounts::DEFAULT_INACTIVITY_PERIOD = 365
private

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

Referenced by loadSettings().

◆ DEFAULT_REMINDER_PERIOD

const ilCronDeleteInactiveUserAccounts::DEFAULT_REMINDER_PERIOD = 0
private

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

Referenced by loadSettings().


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