ILIAS
Release_4_0_x_branch Revision 61816
◀ ilDoc Overview
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Groups
Pages
class.ilCronCheckUserAccounts.php
Go to the documentation of this file.
1
<?php
2
/*
3
+-----------------------------------------------------------------------------+
4
| ILIAS open source |
5
+-----------------------------------------------------------------------------+
6
| Copyright (c) 1998-2009 ILIAS open source, University of Cologne |
7
| |
8
| This program is free software; you can redistribute it and/or |
9
| modify it under the terms of the GNU General Public License |
10
| as published by the Free Software Foundation; either version 2 |
11
| of the License, or (at your option) any later version. |
12
| |
13
| This program is distributed in the hope that it will be useful, |
14
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
15
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16
| GNU General Public License for more details. |
17
| |
18
| You should have received a copy of the GNU General Public License |
19
| along with this program; if not, write to the Free Software |
20
| Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21
+-----------------------------------------------------------------------------+
22
*/
23
24
34
class
ilCronCheckUserAccounts
35
{
36
function
ilCronCheckUserAccounts
()
37
{
38
global
$ilLog
,
$ilDB
;
39
40
$this->log =&
$ilLog
;
41
$this->db =&
$ilDB
;
42
}
43
44
function
check
()
45
{
46
global
$ilDB
;
47
48
$two_weeks_in_seconds = 60 * 60 * 24 * 14;
49
50
$this->log->write(
'Cron: Start ilCronCheckUserAccounts::check()'
);
51
52
$query
=
"SELECT * FROM usr_data,usr_pref "
.
53
"WHERE time_limit_message = '0' "
.
54
"AND time_limit_unlimited = '0' "
.
55
"AND time_limit_from < "
.$ilDB->quote(time(),
"integer"
).
" "
.
56
"AND time_limit_until > "
.$ilDB->quote($two_weeks_in_seconds,
"integer"
).
" "
.
57
"AND usr_data.usr_id = usr_pref.usr_id "
.
58
"AND keyword = "
.$ilDB->quote(
"language"
,
"text"
);
59
60
$res
= $ilDB->query(
$query
);
61
62
while
(
$row
= $ilDB->fetchObject(
$res
))
63
{
64
include_once
'Services/Mail/classes/class.ilMimeMail.php'
;
65
66
$data
[
'expires'
] =
$row
->time_limit_until;
67
$data
[
'email'
] =
$row
->email;
68
$data
[
'login'
] =
$row
->login;
69
$data
[
'usr_id'
] =
$row
->usr_id;
70
$data
[
'language'
] =
$row
->value;
71
$data
[
'owner'
] =
$row
->time_limit_owner;
72
73
// Send mail
74
$mail =&
new
ilMimeMail
();
75
76
$mail->From(
'noreply'
);
77
$mail->To(
$data
[
'email'
]);
78
$mail->Subject($this->
txt
(
$data
[
'language'
],
'account_expires_subject'
));
79
$mail->Body($this->
txt
(
$data
[
'language'
],
'account_expires_body'
).
" "
.strftime(
'%Y-%m-%d %R'
,
$data
[
'expires'
]));
80
$mail->send();
81
82
// set status 'mail sent'
83
$query
=
"UPDATE usr_data SET time_limit_message = '1' WHERE usr_id = '"
.$data[
'usr_id'
].
"'"
;
84
$this->db->query(
$query
);
85
86
// Send log message
87
$this->log->write(
'Cron: (checkUserAccounts()) sent message to '
.
$data
[
'login'
].
'.'
);
88
89
90
}
91
92
$this->log->write(
'Cron: End ilCronCheckUserAccounts::check()'
);
93
94
$this->
checkNotConfirmedUserAccounts
();
95
}
96
function
txt
($language,
$key
,$module =
'common'
)
97
{
98
include_once
'Services/Language/classes/class.ilLanguage.php'
;
99
return
ilLanguage::_lookupEntry
($language, $module,
$key
);
100
}
101
102
protected
function
checkNotConfirmedUserAccounts
()
103
{
104
global
$ilDB
;
105
106
$this->log->write(
'Cron: Start '
.__METHOD__);
107
108
require_once
'Services/Registration/classes/class.ilRegistrationSettings.php'
;
109
$oRegSettigs =
new
ilRegistrationSettings
();
110
111
$query
=
'SELECT usr_id FROM usr_data '
112
.
'WHERE reg_hash IS NOT NULL '
113
.
'AND active = %s '
114
.
'AND create_date < %s'
;
115
$res
= $ilDB->queryF(
116
$query
,
117
array(
'integer'
,
'timestamp'
),
118
array(0, date(
'Y-m-d H:i:s'
, time() - (
int
)$oRegSettigs->getRegistrationHashLifetime()))
119
);
120
while
(
$row
= $ilDB->fetchAssoc(
$res
))
121
{
122
$oUser =
ilObjectFactory::getInstanceByObjId
((
int
)
$row
[
'usr_id'
]);
123
$oUser->delete();
124
$this->log->write(
'Cron: Deleted '
.$oUser->getLogin().
' ['
.$oUser->getId().
'] '
.__METHOD__);
125
}
126
127
$this->log->write(
'Cron: End '
.__METHOD__);
128
}
129
}
130
131
132
133
134
?>
cron
classes
class.ilCronCheckUserAccounts.php
Generated on Wed Apr 27 2016 19:01:16 for ILIAS by
1.8.1.2 (using
Doxyfile
)