ILIAS  release_8 Revision v8.24
ilUserCronCheckAccounts Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Inheritance diagram for ilUserCronCheckAccounts:
+ Collaboration diagram for ilUserCronCheckAccounts:

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

 txt (string $language, string $key, string $module='common')
 
 checkNotConfirmedUserAccounts ()
 

Protected Attributes

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

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

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning This cron send notifications about expiring user accounts

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om

Definition at line 23 of file class.ilUserCronCheckAccounts.php.

Member Function Documentation

◆ checkNotConfirmedUserAccounts()

ilUserCronCheckAccounts::checkNotConfirmedUserAccounts ( )
protected

Definition at line 158 of file class.ilUserCronCheckAccounts.php.

158 : void
159 {
160 global $DIC;
161
162 $ilDB = $DIC['ilDB'];
163 $ilLog = $DIC['ilLog'];
164
165 $oRegSettigs = new ilRegistrationSettings();
166
167 $query = 'SELECT usr_id FROM usr_data '
168 . 'WHERE (reg_hash IS NOT NULL AND reg_hash != %s)'
169 . 'AND active = %s '
170 . 'AND create_date < %s';
171 $res = $ilDB->queryF(
172 $query,
173 array('text', 'integer', 'timestamp'),
174 array('', 0, date('Y-m-d H:i:s', time() - $oRegSettigs->getRegistrationHashLifetime()))
175 );
176 while ($row = $ilDB->fetchAssoc($res)) {
177 $oUser = ilObjectFactory::getInstanceByObjId((int) $row['usr_id']);
178 $oUser->delete();
179 $ilLog->write('Cron: Deleted ' . $oUser->getLogin() . ' [' . $oUser->getId() . '] ' . __METHOD__);
180
181 $this->counter++;
182 }
183 }
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id
Class ilObjAuthSettingsGUI.
global $DIC
Definition: feed.php:28
$res
Definition: ltiservices.php:69
$query

References $DIC, $ilDB, $query, $res, and ilObjectFactory\getInstanceByObjId().

+ Here is the call graph for this function:

◆ getDefaultScheduleType()

ilUserCronCheckAccounts::getDefaultScheduleType ( )

Reimplemented from ilCronJob.

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

50 : int
51 {
53 }
const SCHEDULE_TYPE_DAILY
@depracated This will be replaced with an ENUM in ILIAS 9

References ilCronJob\SCHEDULE_TYPE_DAILY.

◆ getDefaultScheduleValue()

ilUserCronCheckAccounts::getDefaultScheduleValue ( )

Reimplemented from ilCronJob.

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

55 : ?int
56 {
57 return null;
58 }

◆ getDescription()

ilUserCronCheckAccounts::getDescription ( )

Reimplemented from ilCronJob.

Definition at line 41 of file class.ilUserCronCheckAccounts.php.

41 : string
42 {
43 global $DIC;
44
45 $lng = $DIC['lng'];
46
47 return $lng->txt("check_user_accounts_desc");
48 }
$lng

References $DIC, and $lng.

◆ getId()

ilUserCronCheckAccounts::getId ( )

Reimplemented from ilCronJob.

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

27 : string
28 {
29 return "user_check_accounts";
30 }

◆ getTitle()

ilUserCronCheckAccounts::getTitle ( )

Reimplemented from ilCronJob.

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

32 : string
33 {
34 global $DIC;
35
36 $lng = $DIC['lng'];
37
38 return $lng->txt("check_user_accounts");
39 }

References $DIC, and $lng.

◆ hasAutoActivation()

ilUserCronCheckAccounts::hasAutoActivation ( )

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

Reimplemented from ilCronJob.

Definition at line 60 of file class.ilUserCronCheckAccounts.php.

60 : bool
61 {
62 return false;
63 }

◆ hasFlexibleSchedule()

ilUserCronCheckAccounts::hasFlexibleSchedule ( )

Reimplemented from ilCronJob.

Definition at line 65 of file class.ilUserCronCheckAccounts.php.

65 : bool
66 {
67 return false;
68 }

◆ txt()

ilUserCronCheckAccounts::txt ( string  $language,
string  $key,
string  $module = 'common' 
)
protected

Definition at line 150 of file class.ilUserCronCheckAccounts.php.

154 : string {
155 return ilLanguage::_lookupEntry($language, $module, $key);
156 }
static _lookupEntry(string $a_lang_key, string $a_mod, string $a_id)
string $key
Consumer key/client ID value.
Definition: System.php:193

Field Documentation

◆ $counter

int ilUserCronCheckAccounts::$counter = 0
protected

Definition at line 25 of file class.ilUserCronCheckAccounts.php.


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