3 include_once
'./Services/Mail/classes/class.ilMailCronOrphanedMailsNotificationCollectionObj.php';
4 include_once
'./Services/Mail/classes/class.ilMailCronOrphanedMailsFolderObject.php';
5 include_once
'./Services/Mail/classes/class.ilMailCronOrphanedMailsFolderMailObject.php';
34 $this->db = $DIC->database();
35 $this->setting = $DIC->settings();
47 $mail_notify_orphaned = (int) $this->setting->get(
'mail_notify_orphaned');
48 $mail_threshold = (int) $this->setting->get(
'mail_threshold');
50 if ($mail_threshold > $mail_notify_orphaned) {
51 $notify_days_before = $mail_threshold - $mail_notify_orphaned;
53 $notify_days_before = 1;
56 $ts_notify = strtotime(
"- " . $notify_days_before .
" days");
57 $ts_for_notification = date(
'Y-m-d', $ts_notify) .
' 23:59:59';
59 $types = array(
'timestamp');
60 $data = array($ts_for_notification);
62 $notification_query =
" 63 SELECT m.mail_id, m.user_id, m.folder_id, m.send_time, m.m_subject, mdata.title 65 LEFT JOIN mail_obj_data mdata ON mdata.obj_id = m.folder_id 66 LEFT JOIN mail_cron_orphaned mco ON mco.mail_id = m.mail_id 67 WHERE mco.mail_id IS NULL AND m.send_time <= %s 70 if ((
int) $this->setting->get(
'mail_only_inbox_trash') > 0) {
71 $notification_query .=
" AND ((mdata.m_type = %s OR mdata.m_type = %s) OR mdata.obj_id IS NULL)";
72 $types = array(
'timestamp',
'text',
'text');
73 $data = array($ts_for_notification,
'inbox',
'trash');
76 $notification_query .=
" ORDER BY m.user_id, m.folder_id, m.mail_id";
78 $collection_obj = null;
80 $res = $this->db->queryF($notification_query, $types,
$data);
82 while ($row = $this->db->fetchAssoc(
$res)) {
83 if (
$i > 0 &&
$i % self::PING_THRESHOLD === 0) {
89 $collection_obj = null;
92 if ($collection_obj === null) {
98 $folder_obj = $collection_obj->getFolderObjectById($row[
'folder_id']);
101 $folder_obj->setFolderTitle($row[
'title']);
102 $collection_obj->addFolderObject($folder_obj);
106 $folder_obj->addMailObject($orphaned_mail_obj);
116 $this->collection[$collection_obj->
getUserId()] = $collection_obj;
125 if (isset($this->collection[$user_id])) {
ilMailCronOrphanedMailsFolderObject
ilMailCronOrphanedMailsNotificationCollectionObj
ilMailCronOrphanedMailsFolderMailObject
addCollectionObject(ilMailCronOrphanedMailsNotificationCollectionObj $collection_obj)
foreach($_POST as $key=> $value) $res
existsCollectionObjForUserId($user_id)
ilMailCronOrphanedMailsNotificationCollector
__construct(ilMailCronOrphanedMails $job)