Exemplo n.º 1
0
if($_SERVER["REQUEST_METHOD"]=="POST" && $_REQUEST["save_form"]=="Y" && $MOD_RIGHT>="W" && check_bitrix_sessid())
{
	$dbr = CMailMessage::GetByID($ID);
	if($dbr_arr = $dbr->Fetch())
	{
		if($_REQUEST["MARK_AS_SPAM"]=="Y")
		{
			CMailMessage::MarkAsSpam($ID, true, $dbr_arr);
		}
		elseif($_REQUEST["MARK_AS_NOT_SPAM"]=="Y")
		{
			CMailMessage::MarkAsSpam($ID, false, $dbr_arr);
		}
		elseif(($_REQUEST["MARK_SPAM"]=="Y" || $_REQUEST["MARK_SPAM"]=="N"))
		{
			CMailMessage::MarkAsSpam($ID, $_REQUEST["MARK_SPAM"]=="Y", $dbr_arr);
		}

		if(strlen($_REQUEST["MANUAL_FILTER"])>0)
		{
			CMailFilter::FilterMessage($ID, "M", ($_REQUEST["MANUAL_FILTER"]>0?$_REQUEST["MANUAL_FILTER"]:false));
		}

		if($_REQUEST["DELETE_MESSAGE"]=="Y")
		{
			CMailMessage::Delete($ID);
			$_REQUEST["save"] == "Y";
		}
	}

	if(strlen($_REQUEST["apply"])>0)
Exemplo n.º 2
0
 $filter_id = false;
 if (substr($_REQUEST['action'], 0, strlen("refilter_num_")) == "refilter_num_") {
     $filter_id = substr($_REQUEST['action'], strlen("refilter_num_"));
     $_REQUEST['action'] = "refilter";
 }
 foreach ($arID as $ID) {
     if (strlen($ID) <= 0) {
         continue;
     }
     $ID = intval($ID);
     switch ($_REQUEST['action']) {
         case "mark_as_spam":
             CMailMessage::MarkAsSpam($ID, true);
             break;
         case "mark_as_notspam":
             CMailMessage::MarkAsSpam($ID, false);
             break;
         case "mark_as_read":
             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;
     }
 }
Exemplo n.º 3
0
 function UnMarkMessageAsSpam($messageID, $checkRights = "Y")
 {
     $err_mess = CAllTicket::err_mess() . "<br>Function: UnMarkMessageAsSpam<br>Line: ";
     global $DB, $USER;
     $messageID = intval($messageID);
     if ($messageID <= 0) {
         return;
     }
     $bAdmin = "N";
     $bSupportTeam = "N";
     if ($checkRights == "Y") {
         $bAdmin = CTicket::IsAdmin() ? "Y" : "N";
         $bSupportTeam = CTicket::IsSupportTeam() ? "Y" : "N";
     } else {
         $bAdmin = "Y";
         $bSupportTeam = "Y";
     }
     if (($bAdmin == "Y" || $bSupportTeam == "Y") && CModule::IncludeModule("mail")) {
         $rsMessage = CTicket::GetMessageByID($messageID, $checkRights);
         if ($arMessage = $rsMessage->Fetch()) {
             $arFields = array("IS_SPAM" => "null");
             $DB->Update("b_ticket_message", $arFields, "WHERE ID=" . $messageID, $err_mess . __LINE__);
             $email_id = intval($arMessage["EXTERNAL_ID"]);
             $header = $arMessage["EXTERNAL_FIELD_1"];
             $rsEmail = CMailMessage::GetByID($email_id);
             if ($rsEmail->Fetch()) {
                 CMailMessage::MarkAsSpam($email_id, false);
             } else {
                 CmailFilter::DeleteFromSpamBase($header . " \n\r " . $arMessage["MESSAGE"], true);
                 CmailFilter::MarkAsSpam($header . " \n\r " . $arMessage["MESSAGE"], false);
             }
         }
     }
 }
Exemplo n.º 4
0
function ForumSpamMessage($message, &$strErrorMessage, &$strOKMessage, $arAddParams = array())
{
    global $USER;
    $arError = array();
    $arOK = array();
    $arAddParams = !is_array($arAddParams) ? array($arAddParams) : $arAddParams;
    $arAddParams["PERMISSION"] = !empty($arAddParams["PERMISSION"]) ? $arAddParams["PERMISSION"] : false;
    $message = ForumDataToArray($message);
    if (empty($message)) {
        $arError[] = GetMessage("SPAM_NO_MESS");
    } else {
        foreach ($message as $MID) {
            if (!CForumMessage::CanUserDeleteMessage($MID, $USER->GetUserGroupArray(), $USER->GetID(), $arAddParams["PERMISSION"])) {
                $arError[] = GetMessage("SPAM_NO_PERMS") . "(MID=" . $MID . ")";
            } else {
                $arMessage = CForumMessage::GetByID($MID, array("FILTER" => "N"));
                if (CModule::IncludeModule("mail")) {
                    CMailMessage::MarkAsSpam($arMessage["XML_ID"], "Y");
                }
                if (CForumMessage::Delete($MID)) {
                    $arOK[] = GetMessage("SPAM_OK") . "(MID=" . $MID . ")";
                    CForumEventLog::Log("message", "spam", $MID, print_r($arMessage, true));
                } else {
                    $arError[] = GetMessage("SPAM_NO") . "(MID=" . $MID . ")";
                }
            }
        }
    }
    if (!empty($arError)) {
        $strErrorMessage .= implode(".\n", $arError) . ".\n";
    }
    if (!empty($arOK)) {
        $strOKMessage .= implode(".\n", $arOK) . ".\n";
    }
    return empty($arError) ? true : false;
}