4 include_once
"Services/Cron/classes/class.ilCronJob.php";
20 return "user_check_accounts";
29 return $lng->txt(
"check_user_accounts");
38 return $lng->txt(
"check_user_accounts_desc");
43 return self::SCHEDULE_TYPE_DAILY;
66 $ilLog = $DIC[
'ilLog'];
72 $two_weeks_in_seconds = $now + (60 * 60 * 24 * 14);
75 $query =
"SELECT * FROM usr_data,usr_pref " .
76 "WHERE time_limit_message = '0' " .
77 "AND time_limit_unlimited = '0' " .
78 "AND time_limit_from < " .
$ilDB->quote($now,
"integer") .
" " .
79 "AND time_limit_until > " .
$ilDB->quote($now,
"integer") .
" " .
80 "AND time_limit_until < " .
$ilDB->quote($two_weeks_in_seconds,
"integer") .
" " .
81 "AND usr_data.usr_id = usr_pref.usr_id " .
82 "AND keyword = " .
$ilDB->quote(
"language",
"text");
87 $senderFactory =
$GLOBALS[
'DIC'][
"mail.mime.sender.factory"];
88 $sender = $senderFactory->system();
91 include_once
'Services/Mail/classes/class.ilMimeMail.php';
93 $data[
'expires'] = $row->time_limit_until;
94 $data[
'email'] = $row->email;
95 $data[
'login'] = $row->login;
96 $data[
'usr_id'] = $row->usr_id;
97 $data[
'language'] = $row->value;
98 $data[
'owner'] = $row->time_limit_owner;
103 $mail->From($sender);
104 $mail->To(
$data[
'email']);
105 $mail->Subject($this->
txt(
$data[
'language'],
'account_expires_subject'),
true);
107 $this->
txt(
$data[
'language'],
'account_expires_body') .
" " . strftime(
'%Y-%m-%d %R',
$data[
'expires']) .
"\n" 108 .
"{$this->txt($data['language'], 'login')}: {$data['login']}" 113 $query =
"UPDATE usr_data SET time_limit_message = '1' WHERE usr_id = '" .
$data[
'usr_id'] .
"'";
114 $ilDB->query($query);
117 $ilLog->write(
'Cron: (checkUserAccounts()) sent message to ' .
$data[
'login'] .
'.');
124 if ($this->counter) {
133 protected function txt($language, $key, $module =
'common')
135 include_once
'Services/Language/classes/class.ilLanguage.php';
143 $ilDB = $DIC[
'ilDB'];
144 $ilLog = $DIC[
'ilLog'];
146 require_once
'Services/Registration/classes/class.ilRegistrationSettings.php';
149 $query =
'SELECT usr_id FROM usr_data ' 150 .
'WHERE (reg_hash IS NOT NULL AND reg_hash != %s)' 152 .
'AND create_date < %s';
155 array(
'text',
'integer',
'timestamp'),
156 array(
'', 0, date(
'Y-m-d H:i:s', time() - (
int) $oRegSettigs->getRegistrationHashLifetime()))
161 $ilLog->write(
'Cron: Deleted ' . $oUser->getLogin() .
' [' . $oUser->getId() .
'] ' . __METHOD__);
txt($language, $key, $module='common')
Cron job application base class.
static _lookupEntry($a_lang_key, $a_mod, $a_id)
checkNotConfirmedUserAccounts()
foreach($_POST as $key=> $value) $res
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
Class ilObjAuthSettingsGUI.
Cron job result data container.
getDefaultScheduleValue()