19 declare(strict_types=1);
28 public function __construct(
bool $a_is_personal_workspace =
false)
31 $this->db = $DIC->database();
32 $this->
lng = $DIC->language();
34 $this->sender_factory = $DIC->mail()->mime()->senderFactory();
39 public function send(): void
41 $is_message_enabled = (bool) $this->
settings->get(
'mail_notification_message',
'0');
43 $res = $this->db->queryF(
44 'SELECT mail.* FROM mail_options 45 INNER JOIN mail ON mail.user_id = mail_options.user_id 46 INNER JOIN mail_obj_data ON mail_obj_data.obj_id = mail.folder_id 47 INNER JOIN usr_data ud ON ud.usr_id = mail.user_id 48 WHERE mail_options.cronjob_notification = %s 49 AND mail.send_time >= %s 50 AND mail.m_status = %s 52 [
'integer',
'timestamp',
'text',
'integer'],
53 [1, date(
'Y-m-d H:i:s', time() - 60 * 60 * 24),
'unread', 1]
59 while ($row = $this->db->fetchAssoc(
$res)) {
65 $sender = $this->sender_factory->system();
67 foreach ($users as
$user_id => $mail_data) {
78 if (count($mail_data) === 1) {
80 $user_lang->txt(
'mail_at_the_ilias_installation'),
86 $user_lang->txt(
'mails_at_the_ilias_installation'),
94 foreach ($mail_data as
$mail) {
96 '----------------------------------------------------------------------------------------------' 100 $this->
appendBody($user_lang->txt(
'date') .
': ' . $mail[
'send_time']);
107 $this->
appendBody($user_lang->txt(
'sender') .
': ' . $sender_name);
109 $this->
appendBody($user_lang->txt(
'subject') .
': ' . $mail[
'm_subject']);
112 if ($is_message_enabled) {
113 $this->
appendBody($user_lang->txt(
'message') .
': ' . $mail[
'm_message']);
119 '----------------------------------------------------------------------------------------------' 122 $this->
appendBody($user_lang->txt(
'follow_link_to_read_mails') .
' ');
125 $mailbox_link .=
'/goto.php?target=mail&client_id=' .
CLIENT_ID;
136 $mmail->To($mail_options->getExternalEmailAddresses());
139 $mmail->Body($this->
getBody());
appendBody(string $a_body)
static _getIliasMailerName()
static _getAutoGeneratedMessageString(?ilLanguage $lang=null)
__construct(bool $a_is_personal_workspace=false)
static getSalutation(int $a_usr_id, ?ilLanguage $a_language=null)
initLanguage(int $a_usr_id)
getLanguageText(string $a_keyword)
setRecipients(array $a_rcp)
__construct(Container $dic, ilPlugin $plugin)
setSubject(string $a_subject)
ilMailMimeSenderFactory $sender_factory
static _getInstallationSignature()
static _lookupLogin(int $a_user_id)