Exemple #1
0
                 $dbrMailF = CMailBox::GetById($MAILBOX_ID);
                 if (($arMailF = $dbrMailF->GetNext()) && $arMailF['SERVER_TYPE'] == 'smtp') {
                     $arFields["EMAIL_GROUP"] = '';
                     $domains = preg_split("/[\r\n]+/", $arMailF['DOMAINS'], -1, PREG_SPLIT_NO_EMPTY);
                     if (count($domains) > 0) {
                         $arFields["EMAIL"] = $arFields["EMAIL"] . "@" . $_POST['EMAIL_DOMAIN'];
                     }
                 } else {
                     $MAILBOX_ID = 0;
                 }
             }
             if ($MAILBOX_ID > 0) {
                 $arMailFilterFields = array("MAILBOX_ID" => $MAILBOX_ID, "NAME" => GetMessage("SOCNET_FORUM_TL_EMAIL_RULE"), "ACTION_TYPE" => "forumsocnet", "ACTION_VARS" => "", "WHEN_MAIL_RECEIVED" => "Y", "WHEN_MANUALLY_RUN" => "Y");
                 $MAIL_FILTER_ID = CMailFilter::Add($arMailFilterFields);
                 $arFields["MAIL_FILTER_ID"] = $MAIL_FILTER_ID;
                 if (CForumEMail::Set($arFields) > 0) {
                     LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_TOPIC_LIST"], array("FID" => $arParams["FID"], "UID" => $arParams["USER_ID"], "GID" => $arParams["SOCNET_GROUP_ID"])));
                 }
             }
         }
     }
 } elseif ($ACTION == "FORUM_SUBSCRIBE") {
     if (ForumSubscribeNewMessagesEx($arParams["FID"], 0, "N", $strErrorMessage, $strOkMessage, false, $arParams["SOCNET_GROUP_ID"])) {
         LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_TOPIC_LIST"], array("FID" => $arParams["FID"], "UID" => $arParams["USER_ID"], "GID" => $arParams["SOCNET_GROUP_ID"])));
     } else {
         $arResult["ERROR_MESSAGE"] = $strErrorMessage;
     }
 } elseif ($ACTION == "FORUM_UNSUBSCRIBE") {
     $arFields = array("USER_ID" => $USER->GetID(), "FORUM_ID" => $arParams["FID"], "SITE_ID" => SITE_ID, "TOPIC_ID" => false, "SOCNET_GROUP_ID" => $arParams["SOCNET_GROUP_ID"]);
     $db_res = CForumSubscribe::GetListEx(array(), $arFields);
     if ($db_res && ($res = $db_res->Fetch()) && CForumSubscribe::Delete($res["ID"])) {