2namespace Bitrix\Mail\ImapCommands;
6use Bitrix\Main\Entity\ReferenceField;
7use \Bitrix\Mail\Helper\MessageFolder;
16 $this->mailboxId = $mailboxId;
17 $this->messagesIds = $messagesIds;
30 ' WHERE MAILBOX_ID = ' . intval($this->mailboxId) .
31 " AND DIR_MD5 = '" . $sqlHelper->forSql(md5($folderCurrentName)) .
"'" .
51 foreach ($this->messagesIds as $index =>
$messageId)
56 if (empty($messagesIds) || empty(
$messages) || empty($mailbox))
66 'HEADER_MD5' => $messageData[
'HEADER_MD5'],
67 'MAILBOX_USER_ID' => $mailbox[
'USER_ID'],
72 $mailboxId = intval($this->mailboxId);
76 '=MAILBOX_ID' => $mailboxId,
77 '@ID' => $messagesIds,
96 \Bitrix\Mail\Helper::updateMailboxUnseenCounter($mailboxId);
106 if (empty($messagesIds))
115 'HEADER_MD5' => $messageData[
'HEADER_MD5'],
116 'MAILBOX_USER_ID' => $mailbox[
'USER_ID'],
117 'OLD_DIR_MD5' => $messageData[
'DIR_MD5'],
118 'INTERNALDATE' => $messageData[
'INTERNALDATE'],
119 'IS_OLD' => $messageData[
'IS_OLD'],
125 '=MAILBOX_ID' => intval($this->mailboxId),
126 '@ID' => $messagesIds,
130 'DIR_MD5' => md5($folderNewName),
164 return intval($mail[
'MESSAGE_ID']);
172 $mailFieldsForEvent = [];
174 foreach ($messagesToDelete as $index => $item)
176 $mailFieldsForEvent[] = [
177 'HEADER_MD5' => $item[
'HEADER_MD5'],
178 'MESSAGE_ID' => $item[
'MESSAGE_ID'],
179 'MAILBOX_USER_ID' => $mailboxUserId,
184 '=MAILBOX_ID' => $this->mailboxId,
186 '@MESSAGE_ID' => $ids,
195 ' WHERE ID IN (' . implode(
',', $ids) .
');'
201 if (empty($this->messagesIds))
206 $messagesSelected = Mail\MailMessageUidTable::query()
207 ->addSelect(
'MESSAGE_ID')
208 ->where(
'MAILBOX_ID', $this->mailboxId)
209 ->whereIn(
'ID', $this->messagesIds)
210 ->whereNot(
'MSG_UID', 0)
211 ->where(
'MESSAGE_ID',
'>', 0)
212 ->addFilter(
'==DELETE_TIME', 0)
215 if ($messagesSelected)
217 $messagesSelectedIds = array_map(
220 return $item[
'MESSAGE_ID'];
224 if (empty($messagesSelectedIds))
228 $messages = Mail\MailMessageUidTable::query()
229 ->registerRuntimeField(
233 Mail\MailMessageTable::class,
234 [
'=this.MESSAGE_ID' =>
'ref.ID']
238 ->addSelect(
'MAILBOX_ID')
239 ->addSelect(
'DIR_MD5')
240 ->addSelect(
'DIR_UIDV')
241 ->addSelect(
'MSG_UID')
242 ->addSelect(
'HEADER_MD5')
243 ->addSelect(
'IS_SEEN')
244 ->addSelect(
'SESSION_ID')
245 ->addSelect(
'MESSAGE_ID')
246 ->addSelect(
'INTERNALDATE')
247 ->addSelect(
'IS_OLD')
248 ->addSelect(
'ref.FIELD_FROM',
'FIELD_FROM')
249 ->whereIn(
'MESSAGE_ID', $messagesSelectedIds)
250 ->where(
'MAILBOX_ID', $this->mailboxId)
251 ->whereNot(
'MSG_UID', 0)
if(! $messageFields||!isset($messageFields['message_id'])||!isset($messageFields['status'])||!CModule::IncludeModule("messageservice")) $messageId
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static addMailsBatch(array $list, $userId=null)
static decreaseDirCounter($mailboxId, $dirWithMessagesId, $idsUnseenCount)
static getDirIdForMessages($mailboxId, $messagesIds)
static increaseDirCounter($mailboxId, ?MailboxDirectory $dirForMoveMessages, $dirForMoveMessagesId, $idsUnseenCount)
setMessagesSeen($isSeen, $messages, $mailbox)
updateMessageFieldsAfterMove($messages, $folderNewName, $mailbox)
markMessagesUnseen($messages, $mailbox)
addMailsToBlacklist($blacklistMails, $userId)
deleteOldMessages($folderCurrentName)
getMailbox($mailboxUserId=null)
deleteMailsCompletely($messagesToDelete, $mailboxUserId)
__construct($mailboxId, $messagesIds)
markMessagesSeen($messages, $mailbox)
static deleteList(array $filter, array $messages=[], $limit=false, bool $sendEvent=true)
static updateList(array $filter, array $fields, array $eventData=[], bool $sendEvent=true)
static getUserMailbox($mailboxId, $userId=null)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"