if ($_REQUEST['action_target'] == 'selected') {
        $rsData = CForumSubscribe::GetListEx(array($by => $order), $arFilter);
        while ($arRes = $rsData->Fetch()) {
            $arID[] = $arRes['ID'];
        }
    }
    if (check_bitrix_sessid()) {
        foreach ($arID as $ID) {
            if (strlen($ID) <= 0) {
                continue;
            }
            $ID = intval($ID);
            switch ($_REQUEST['action']) {
                case "delete":
                    if (CForumSubscribe::CanUserDeleteSubscribe($ID, $USER->GetUserGroupArray(), $USER->GetID())) {
                        CForumSubscribe::Delete($ID);
                    } else {
                        $arMsg[] = array("id" => "NO_PERMS", "text" => GetMessage("FSUBSC_NO_SPERMS"));
                    }
                    break;
            }
        }
    }
}
//************************************/Actions ********************************************************************
if (!empty($arMsg)) {
    $err = new CAdminException($arMsg);
    $lAdmin->AddFilterError($err->GetString());
}
$rsData = CForumSubscribe::GetListEx(array($by => $order), $arFilter);
$rsData = new CAdminResult($rsData, $sTableID);
Example #2
0
                    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"])) {
            LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_TOPIC_LIST"], array("FID" => $arParams["FID"], "UID" => $arParams["USER_ID"], "GID" => $arParams["SOCNET_GROUP_ID"])));
        }
    }
}
/********************************************************************
				/Actions
********************************************************************/
/********************************************************************
				Default params # 2
********************************************************************/
global $by, $order;
InitSorting();
if (!$by) {
    ForumGetTopicSort($by, $order, $arResult["FORUM"]);
}
Example #3
0
            $UID = IntVal($USER->GetParam("USER_ID"));
        }
        $bUserFound = False;
        $db_userX = CUser::GetByID($UID);
        if ($ar_userX = $db_userX->Fetch()) {
            $bUserFound = True;
            while (list($key, $val) = each($ar_userX)) {
                ${"f_" . $key} = htmlspecialchars($val);
            }
        }
        $strErrorMessage = "";
        $strOKMessage = "";
        $bVarsFromForm = false;
        $ID = IntVal($ID);
        if ($_SERVER["REQUEST_METHOD"] == "GET" && $_GET["ACTION"] == "DEL" && IntVal($_GET["ID"]) > 0) {
            CForumSubscribe::Delete(IntVal($_GET["ID"]));
        }
        $APPLICATION->AddChainItem("Профиль", "profile.php");
        $APPLICATION->SetTitle("Список подписки на сообщения форума");
        $APPLICATION->SetTemplateCSS("forum/forum_tmpl_2/forum.css");
        $APPLICATION->IncludeFile("forum/forum_tmpl_2/menu.php");
        if (!$bUserFound) {
            $strErrorMessage .= "Пользователь с кодом {$UID} не найден. \n";
        }
        ?>

<?php 
        echo ShowMessage(array("MESSAGE" => $strErrorMessage, "TYPE" => "ERROR"));
        echo ShowMessage(array("MESSAGE" => $strOKMessage, "TYPE" => "OK"));
        ?>
Example #4
0
/********************************************************************
				Action
********************************************************************/
$arError = array();
$arNote = array();
if ($arParams["ACTION"] == "DEL") {
    $arParams["SID"] = is_array($_REQUEST["SID"]) ? $_REQUEST["SID"] : array($_REQUEST["SID"]);
    if (!check_bitrix_sessid()) {
        $arError[] = GetMessage("F_ERR_SESS_FINISH");
    } elseif (empty($arParams["SID"])) {
        $arError[] = GetMessage("F_EMPTY_SUBSCRIBES");
    } else {
        foreach ($arParams["SID"] as $res) {
            if (!CForumSubscribe::CanUserDeleteSubscribe($res, $USER->GetUserGroupArray(), $USER->GetID())) {
                $arError[] = str_replace("#SID#", $res, GetMessage("FSL_NO_SPERMS"));
            } elseif (!CForumSubscribe::Delete($res)) {
                $arError[] = str_replace("#SID#", $res, GetMessage("FSL_NO_DELETE"));
            } else {
                $arNote[] = str_replace("#SID#", $res, GetMessage("FSL_SUCC_DELETE"));
            }
        }
    }
}
/********************************************************************
				/Action
********************************************************************/
/********************************************************************
				Default values
********************************************************************/
$arResult["CURRENT_PAGE"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_SUBSCR_LIST"], array());
$arResult["~FORUMS"] = $arResult["FORUMS"] = array();
Example #5
0
function ForumDeleteSubscribe($ID, &$strErr, &$strOk)
{
    global $USER;
    $ID = IntVal($ID);
    if (CForumSubscribe::CanUserDeleteSubscribe($ID, $USER->GetUserGroupArray(), $USER->GetID())) {
        CForumSubscribe::Delete($ID);
        return true;
    } else {
        $strErr = GetMessage("FSUBSC_NO_SPERMS") . ". \n";
    }
    return false;
}
Example #6
0
/*************** Forum subscribe to document ***********************/
if ($arParams["USE_COMMENTS"] == "Y" && $GLOBALS['USER']->IsAuthorized()) {
    CModule::IncludeModule("forum");
    $cache_id = "/" . $arParams["IBLOCK_ID"] . "/forum_user_subscribe_" . intVal($GLOBALS["USER"]->GetID()) . "_" . $arParams["FORUM_ID"];
    $arParams["FORUM_CAN_VIEW"] = CForumNew::CanUserViewForum($arParams["FORUM_ID"], $GLOBALS['USER']->GetUserGroupArray()) ? "Y" : "N";
    if ($arParams["FORUM_CAN_VIEW"] == "Y" && $GLOBALS['USER']->IsAuthorized()) {
        if ((!empty($_REQUEST["SUBSCRIBE_FORUM"]) || !empty($_REQUEST["subscribe_forum"])) && check_bitrix_sessid()) {
            if ($_REQUEST["SUBSCRIBE_FORUM"] == "Y" || $_REQUEST["subscribe_forum"] == "Y") {
                ForumSubscribeNewMessagesEx($arParams["FORUM_ID"], 0, "N", $strErrorMessage = "", $strOKMessage = "");
            } elseif ($_REQUEST["SUBSCRIBE_FORUM"] == "N" || $_REQUEST["subscribe_forum"] == "N") {
                $arFilter = array("USER_ID" => $GLOBALS["USER"]->GetId(), "FORUM_ID" => $arParams["FORUM_ID"]);
                $db_res = CForumSubscribe::GetList(array(), $arFilter);
                if ($db_res && ($res = $db_res->Fetch())) {
                    do {
                        if (CForumSubscribe::CanUserDeleteSubscribe($res["ID"], $GLOBALS["USER"]->GetUserGroupArray(), $GLOBALS["USER"]->GetID())) {
                            CForumSubscribe::Delete($res["ID"]);
                        }
                    } while ($res = $db_res->Fetch());
                }
            }
            BXClearCache(true, $cache_path_main);
            $arNavChain = $arParams["CONVERT"] ? $arResult["NAV_CHAIN_UTF8"] : $arResult["NAV_CHAIN"];
            $url = CComponentEngine::MakePathFromTemplate($arParams["~SECTIONS_URL"], array("PATH" => implode("/", $arNavChain), "SECTION_ID" => $arParams["SECTION_ID"]));
        }
        $bShowSubscribe = true;
        $arUserSubscribe = array();
        if ($arParams["CACHE_TIME"] > 0 && $cache->InitCache($arParams["CACHE_TIME"], $cache_id, $cache_path_main)) {
            $res = $cache->GetVars();
            $arUserSubscribe = $res["arUserSubscribe"];
        } else {
            $arFields = array("USER_ID" => $GLOBALS["USER"]->GetID(), "FORUM_ID" => $arParams["FORUM_ID"]);