CMailMessage::Update($ID, array("NEW_MESSAGE" => "N"));
                break;
            case "mark_as_unread":
                CMailMessage::Update($ID, array("NEW_MESSAGE" => "Y"));
                break;
            case "delete":
                CMailMessage::Delete($ID);
                break;
            case "refilter":
                CMailFilter::FilterMessage($ID, "M", $filter_id);
                break;
        }
    }
}
$nav = new Bitrix\Main\UI\AdminPageNavigation('nav-mail-message');
$messageList = Bitrix\Mail\MailMessageTable::getList(array('select' => array('ID', 'MAILBOX_ID', 'MAILBOX_NAME' => 'MAILBOX.NAME', 'NEW_MESSAGE', 'SUBJECT', 'MESSAGE_SIZE', 'SPAM', 'SPAM_RATING', 'FIELD_FROM', 'FIELD_REPLY_TO', 'FIELD_CC', 'FIELD_BCC', 'FIELD_DATE', 'DATE_INSERT', 'ATTACHMENTS', 'MSG_ID'), 'filter' => array_filter($arFilter), 'order' => array(strtoupper($by) => $order), 'offset' => $nav->getOffset(), 'limit' => $nav->getLimit(), 'count_total' => true));
$nav->setRecordCount($messageList->getCount());
$lAdmin->setNavigation($nav, Bitrix\Main\Localization\Loc::getMessage("MAIL_MSG_ADM_NAVIGATION"));
$arHeaders = array();
$arHeaders[] = array("id" => "SUBJECT", "content" => GetMessage("MAIL_MSG_ADM_SUBJECT"), "default" => true, "sort" => "subject");
$arHeaders[] = array("id" => "FIELD_FROM", "content" => GetMessage("MAIL_MSG_ADM_FROM"), "default" => true, "sort" => "field_from");
$arHeaders[] = array("id" => "FIELD_REPLY_TO", "content" => GetMessage("MAIL_MSG_ADM_REPLY_TO"), "sort" => "field_reply_to");
$arHeaders[] = array("id" => "FIELD_CC", "content" => GetMessage("MAIL_MSG_ADM_CC"), "sort" => "field_cc");
$arHeaders[] = array("id" => "FIELD_BCC", "content" => GetMessage("MAIL_MSG_ADM_BCC"), "sort" => "field_bcc");
$arHeaders[] = array("id" => "FIELD_DATE", "content" => GetMessage("MAIL_MSG_ADM_DATE"), "default" => true, "sort" => "field_date");
$arHeaders[] = array("id" => "DATE_INSERT", "content" => GetMessage("MAIL_MSG_ADM_RECEIVED"), "sort" => "date_insert");
$arHeaders[] = array("id" => "MAILBOX_NAME", "content" => GetMessage("MAIL_MSG_ADM_MBOX"), "default" => true, "sort" => "mailbox_name");
$arHeaders[] = array("id" => "MESSAGE_SIZE", "content" => GetMessage("MAIL_MSG_ADM_SIZE"), "default" => true, "sort" => "size", "align" => "right");
$arHeaders[] = array("id" => "SPAM_RATING", "content" => GetMessage("MAIL_MSG_ADM_SPAM") . "<br>" . GetMessage("MAIL_MSG_ADM_SPAM_R"), "default" => true, "sort" => "size");
$arHeaders[] = array("id" => "ATTACHMENTS", "content" => GetMessage("MAIL_MSG_ADM_SPAM_ATTCH"), "default" => true, "sort" => "attachments");
$arHeaders[] = array("id" => "ID", "content" => "ID", "sort" => "id");
示例#2
0
 function Delete($ID)
 {
     global $DB;
     $ID = IntVal($ID);
     Bitrix\Main\Loader::includeModule('mail');
     $db_msg = Bitrix\Mail\MailMessageTable::getList(array('select' => array('ID'), 'filter' => array('MAILBOX_ID' => $ID)));
     while ($msg = $db_msg->Fetch()) {
         if (!CMailMessage::Delete($msg["ID"])) {
             return false;
         }
     }
     $db_flt = CMailFilter::GetList(array(), array("MAILBOX_ID" => $ID));
     while ($flt = $db_flt->Fetch()) {
         if (!CMailFilter::Delete($flt["ID"])) {
             return false;
         }
     }
     $db_mbox = CMailbox::GetList(array('ID' => $ID, 'ACTIVE' => 'Y', '!USER_ID' => 0));
     if ($mbox = $db_mbox->fetch()) {
         CUserCounter::Clear($mbox['USER_ID'], 'mail_unseen', $mbox['LID']);
         CUserOptions::DeleteOption('global', 'last_mail_check_' . $mbox['LID'], false, $mbox['USER_ID']);
         CUserOptions::DeleteOption('global', 'last_mail_check_success_' . $mbox['LID'], false, $mbox['USER_ID']);
     }
     CAgent::RemoveAgent("CMailbox::CheckMailAgent(" . $ID . ");", "mail");
     $strSql = "DELETE FROM b_mail_log WHERE MAILBOX_ID=" . $ID;
     if (!$DB->Query($strSql, true)) {
         return false;
     }
     $strSql = "DELETE FROM b_mail_message_uid WHERE MAILBOX_ID=" . $ID;
     if (!$DB->Query($strSql, true)) {
         return false;
     }
     CMailbox::SMTPReload();
     $strSql = "DELETE FROM b_mail_mailbox WHERE ID=" . $ID;
     return $DB->Query($strSql, true);
 }