ILIAS
release_5-3 Revision v5.3.23-19-g915713cf615
◀ ilDoc Overview
class.ilCronDeleteInactiveUserReminderMail.php
Go to the documentation of this file.
1
<?php
2
/* Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4
include_once
'Services/Mail/classes/class.ilMailNotification.php'
;
5
12
class
ilCronDeleteInactiveUserReminderMail
13
{
14
const
TABLE_NAME
=
"usr_cron_mail_reminder"
;
15
16
private
static
function
mailSent
($usr_id)
17
{
18
global
$ilDB
;
19
$ilDB->manipulateF(
20
"INSERT INTO "
. self::TABLE_NAME .
" (usr_id, ts) VALUES (%s, %s)"
,
21
array
(
22
"integer"
,
23
"integer"
24
),
25
array
(
26
$usr_id,
27
time
()
28
)
29
);
30
}
31
32
private
static
function
sendReminder
(
ilObjUser
$user, $reminderTime, $time_frame_for_deletion)
33
{
34
include_once
'Services/User/classes/class.ilCronDeleteInactiveUserReminderMailNotification.php'
;
35
$mail =
new
ilCronDeleteInactiveUserReminderMailNotification
();
36
$mail->setRecipients(
array
($user));
37
$mail->setAdditionalInformation(
38
array
(
39
"www"
=>
ilUtil::_getHttpPath
(),
40
"days"
=> $reminderTime,
41
"date"
=> $time_frame_for_deletion
42
)
43
);
44
$mail->send();
45
self::mailSent($user->
getId
());
46
}
47
48
public
static
function
removeEntriesFromTableIfLastLoginIsNewer
()
49
{
50
global
$ilDB
;
51
$query
=
"SELECT usr_id,ts FROM "
. self::TABLE_NAME;
52
$res
= $ilDB->queryF(
$query
,
array
(
53
'integer'
,
54
'integer'
55
),
array
(
56
'usr_id'
,
57
'ts'
58
));
59
while
(
$row
=
$res
->fetchRow(
ilDBConstants::FETCHMODE_OBJECT
)) {
60
$lastLoginUnixtime = strtotime(
ilObjUser::_lookupLastLogin
(
$row
->usr_id));
61
$lastReminderSent = (int)
$row
->ts;
62
if
($lastLoginUnixtime >= $lastReminderSent) {
63
self::removeSingleUserFromTable(
$row
->usr_id);
64
}
65
}
66
}
67
68
public
static
function
checkIfReminderMailShouldBeSend
(
ilObjUser
$user, $reminderTime, $time_frame_for_deletion)
69
{
70
global
$ilDB
;
71
$query
=
"SELECT ts FROM "
. self::TABLE_NAME .
" WHERE usr_id = %s"
;
72
$res
= $ilDB->queryF(
$query
,
array
(
'integer'
),
array
($user->
getId
()));
73
$row
=
$res
->fetchRow(
ilDBConstants::FETCHMODE_OBJECT
);
74
if
(
$row
->ts == null) {
75
self::sendReminder($user, $reminderTime, $time_frame_for_deletion);
76
return
true
;
77
}
78
return
false
;
79
}
80
81
public
static
function
flushDataTable
()
82
{
83
global
$ilDB
;
84
$ilDB->manipulate(
"DELETE FROM "
. self::TABLE_NAME);
85
}
86
87
public
static
function
removeSingleUserFromTable
($usr_id)
88
{
89
global
$ilDB
;
90
$query
=
"DELETE FROM "
. self::TABLE_NAME .
" WHERE usr_id = %s"
;
91
$ilDB->manipulateF(
$query
,
array
(
'integer'
),
array
($usr_id));
92
}
93
}
ilCronDeleteInactiveUserReminderMail\flushDataTable
static flushDataTable()
Definition:
class.ilCronDeleteInactiveUserReminderMail.php:81
ilCronDeleteInactiveUserReminderMail\removeEntriesFromTableIfLastLoginIsNewer
static removeEntriesFromTableIfLastLoginIsNewer()
Definition:
class.ilCronDeleteInactiveUserReminderMail.php:48
ilCronDeleteInactiveUserReminderMail\TABLE_NAME
const TABLE_NAME
Definition:
class.ilCronDeleteInactiveUserReminderMail.php:14
ilCronDeleteInactiveUserReminderMail\sendReminder
static sendReminder(ilObjUser $user, $reminderTime, $time_frame_for_deletion)
Definition:
class.ilCronDeleteInactiveUserReminderMail.php:32
ilCronDeleteInactiveUserReminderMail\checkIfReminderMailShouldBeSend
static checkIfReminderMailShouldBeSend(ilObjUser $user, $reminderTime, $time_frame_for_deletion)
Definition:
class.ilCronDeleteInactiveUserReminderMail.php:68
$res
foreach($_POST as $key=> $value) $res
Definition:
save_question_post_data.php:15
ilObject\getId
getId()
get object id public
Definition:
class.ilObject.php:308
$query
$query
Definition:
proxy_ylocal.php:13
array
Create styles array
The data for the language used.
Definition:
40duplicateStyle.php:19
ilUtil\_getHttpPath
static _getHttpPath()
Definition:
class.ilUtil.php:4706
$ilDB
global $ilDB
Definition:
storeScorm2004.php:16
ilCronDeleteInactiveUserReminderMail\removeSingleUserFromTable
static removeSingleUserFromTable($usr_id)
Definition:
class.ilCronDeleteInactiveUserReminderMail.php:87
ilCronDeleteInactiveUserReminderMail
Definition:
class.ilCronDeleteInactiveUserReminderMail.php:12
time
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
Definition:
40duplicateStyle.php:39
ilDBConstants\FETCHMODE_OBJECT
const FETCHMODE_OBJECT
Definition:
class.ilDBConstants.php:13
ilObjUser
Definition:
class.ilObjUser.php:25
$row
$row
Definition:
10autofilter-selection-1.php:74
ilCronDeleteInactiveUserReminderMail\mailSent
static mailSent($usr_id)
Definition:
class.ilCronDeleteInactiveUserReminderMail.php:16
ilCronDeleteInactiveUserReminderMailNotification
Definition:
class.ilCronDeleteInactiveUserReminderMailNotification.php:13
ilObjUser\_lookupLastLogin
static _lookupLastLogin($a_user_id)
lookup last login
Definition:
class.ilObjUser.php:812
if
PHPExcel root directory.
Definition:
Database.php:30
Services
User
classes
class.ilCronDeleteInactiveUserReminderMail.php
Generated on Sat Mar 1 2025 19:01:41 for ILIAS by
1.8.13 (using
Doxyfile
)