コード例 #1
0
ファイル: component.php プロジェクト: rasuldev/torino
 switch ($ACTION) {
     case "FORUM_SUBSCRIBE":
     case "FORUM_SUBSCRIBE_TOPICS":
         if (ForumSubscribeNewMessagesEx($arParams["FID"], 0, $ACTION == "FORUM_SUBSCRIBE_TOPICS" ? "Y" : "N", $strErrorMessage, $strOkMessage)) {
             LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_SUBSCR_LIST"], array("FID" => $arParams["FID"])));
             return true;
         }
         break;
     case "SET_BE_READ":
         ForumSetReadForum($arParams["FID"]);
         LocalRedirect($APPLICATION->GetCurPageParam('', array('sessid', 'ACTION')));
         break;
     case "SET_ORDINARY":
     case "SET_TOP":
         $ACTION = $ACTION == "SET_ORDINARY" ? "ORDINARY" : "TOP";
         if (ForumTopOrdinaryTopic($arResult["TID"], $ACTION, $strErrorMessage, $strOkMessage)) {
             LocalRedirect(ForumAddPageParams($arResult["URL"]["~TOPIC_LIST"], array("result" => $ACTION == "ORDINARY" ? "unstick" : "stick")));
             return true;
         }
         break;
     case "MOVE_TOPIC":
         $topic_id = is_array($arResult["TID"]) ? implode(",", $arResult["TID"]) : $arResult["TID"];
         if (!empty($topic_id)) {
             LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_TOPIC_MOVE"], array("FID" => $arParams["FID"], "TID" => $topic_id)));
             return true;
         }
         break;
     case "DEL_TOPIC":
         if (ForumDeleteTopic($arResult["TID"], $strErrorMessage, $strOkMessage)) {
             if (isset($_REQUEST['NAV_PAGE']) && strpos($_REQUEST['NAV_PAGE'], ':') !== false) {
                 list($NavNum, $NavPageNomer) = explode(":", $_REQUEST['NAV_PAGE']);
コード例 #2
0
ファイル: component.php プロジェクト: Satariall/izurit
 } else {
     $arFilter["OWNER_ID"] = $arParams["USER_ID"];
 }
 $db_res = CForumTopic::GetListEx(array("SORT" => "ASC"), $arFilter);
 if ($db_res && ($res = $db_res->Fetch())) {
     do {
         $arTopic[] = intVal($res["ID"]);
     } while ($res = $db_res->Fetch());
     switch ($ACTION) {
         case "SET_TOP":
         case "SET_ORDINARY":
         case "TOP":
         case "ORDINARY":
             $ACTION = $ACTION == "SET_ORDINARY" ? "ORDINARY" : ($ACTION == "SET_TOP" ? "TOP" : $ACTION);
             $sort = $ACTION == "TOP" ? "150" : "100";
             $result = ForumTopOrdinaryTopic($arTopic, $ACTION, $strErrorMessage, $strOkMessage, array("PERMISSION" => $arParams["PERMISSION"]));
             break;
         case "DEL_TOPIC":
         case "DELETE":
             $arLogID = array();
             foreach ($arTopic as $topic_id_tmp) {
                 // delete message log records
                 $dbForumMessage = CForumMessage::GetList(array("ID" => "ASC"), array("TOPIC_ID" => $topic_id_tmp));
                 while ($arForumMessage = $dbForumMessage->Fetch()) {
                     $dbRes = CSocNetLog::GetList(array("ID" => "DESC"), array("EVENT_ID" => "forum", "SOURCE_ID" => $arForumMessage["ID"]), false, false, array("ID", "PARAMS"));
                     while ($arRes = $dbRes->Fetch()) {
                         $arLogID[] = $arRes["ID"];
                     }
                 }
             }
             $result = ForumDeleteTopic($arTopic, $strErrorMessage, $strOkMessage, array("PERMISSION" => $arParams["PERMISSION"]));
コード例 #3
0
     break;
 case "HIDE":
 case "SHOW":
     ForumModerateMessage($MID, $action, $strErrorMessage, $strOKMessage);
     LocalRedirect("read.php?FID=" . $FID . "&TID=" . $TID);
     break;
 case "SET_ORDINARY":
 case "SET_TOP":
     if ($action == "SET_ORDINARY") {
         $action = "ORDINARY";
         $sort = "150";
     } else {
         $action = "TOP";
         $sort = "100";
     }
     if (ForumTopOrdinaryTopic($TID, $action, $strErrorMessage, $strOKMessage)) {
         $arTopic["SORT"] = $sort;
     }
     LocalRedirect("read.php?FID=" . $FID . "&TID=" . $TID);
     break;
 case "DEL_TOPIC":
     if ($TID > 0) {
         if (ForumDeleteTopic($TID, $strErrorMessage, $strOKMessage)) {
             LocalRedirect("list.php?FID=" . $FID);
         }
     }
     break;
 case "STATE_Y":
 case "STATE_N":
     if ($action == "STATE_Y") {
         $action = "OPEN";
コード例 #4
0
ファイル: include.php プロジェクト: DarneoStudio/bitrix
function ForumActions($action, $arFields, &$strErrorMessage, &$strOKMessage)
{
    $result = false;
    $sError = "";
    $sNote = "";
    if (empty($action)) {
        $sError = GetMessage("FORUM_NO_ACTION");
    } else {
        switch ($action) {
            case "REPLY":
                $result = ForumAddMessage("REPLY", $arFields["FID"], $arFields["TID"], 0, $arFields, $sError, $sNote, false, $arFields["captcha_word"], 0, $arFields["captcha_code"], $arFields["NAME_TEMPLATE"]);
                break;
            case "DEL":
                $result = ForumDeleteMessage($arFields["MID"], $sError, $sNote, $arFields);
                break;
            case "SHOW":
            case "HIDE":
                $result = ForumModerateMessage($arFields["MID"], $action, $sError, $sNote, $arFields);
                break;
            case "VOTE4USER":
                $result = ForumVote4User($arFields["UID"], $arFields["VOTES"], $arFields["VOTE"], $sError, $sNote, $arFields);
                break;
            case "FORUM_MESSAGE2SUPPORT":
                $result = ForumMoveMessage2Support($arFields["MID"], $sError, $sNote, $arFields);
                break;
            case "FORUM_SUBSCRIBE":
            case "TOPIC_SUBSCRIBE":
            case "FORUM_SUBSCRIBE_TOPICS":
                $result = ForumSubscribeNewMessagesEx($arFields["FID"], $arFields["TID"], $arFields["NEW_TOPIC_ONLY"], $sError, $sNote);
                break;
            case "SET_ORDINARY":
            case "SET_TOP":
            case "ORDINARY":
            case "TOP":
                if ($action == "SET_ORDINARY") {
                    $action = "ORDINARY";
                } elseif ($action == "SET_TOP") {
                    $action = "TOP";
                }
                $result = ForumTopOrdinaryTopic($arFields["TID"], $action, $sError, $sNote, $arFields);
                break;
            case "DEL_TOPIC":
                $result = ForumDeleteTopic($arFields["TID"], $sError, $sNote, $arFields);
                break;
            case "OPEN":
            case "CLOSE":
            case "STATE_Y":
            case "STATE_N":
                if ($action == "STATE_Y") {
                    $action = "OPEN";
                } elseif ($action == "STATE_N") {
                    $action = "CLOSE";
                }
                $result = ForumOpenCloseTopic($arFields["TID"], $action, $sError, $sNote, $arFields);
                break;
            case "SHOW_TOPIC":
            case "HIDE_TOPIC":
                $db_res = CForumMessage::GetList(array(), array("TOPIC_ID" => $arFields["TID"], "APPROVED" => $action == "HIDE_TOPIC" ? "Y" : "N"));
                $message = array();
                if ($db_res && ($res = $db_res->Fetch())) {
                    do {
                        $message[] = $res["ID"];
                    } while ($res = $db_res->Fetch());
                }
                if (!empty($message)) {
                    $s = "";
                    $result = ForumModerateMessage($message, $action == "HIDE_TOPIC" ? "HIDE" : "SHOW", $sError, $s, $arFields);
                } else {
                    $result = true;
                }
                CForumEventLog::Log("topic", $action == "HIDE_TOPIC" ? "unapprove" : "approve", $arFields["TID"], serialize(CForumTopic::GetByID($arFields["TID"])));
                break;
            case "SPAM_TOPIC":
                $result = ForumSpamTopic($arFields["TID"], $sError, $sNote, $arFields);
                break;
            case "SPAM":
                $result = ForumSpamMessage($arFields["MID"], $sError, $sNote, $arFields);
                break;
            default:
                $sError = GetMessage("FORUM_NO_ACTION") . " (" . htmlspecialcharsbx($action) . ")";
                break;
        }
    }
    $strErrorMessage = $sError;
    $strOKMessage = $sNote;
    return $result;
}
コード例 #5
0
         LocalRedirect("/bitrix/admin/ticket_list.php?lang=" . LANGUAGE_ID . "&strNote=" . urlencode("Сообщение форума было успешно перенесено в техподдержку в качестве обращения."));
     }
 } elseif ($_SERVER["REQUEST_METHOD"] == "GET" && ($_GET["ACTION"] == "FORUM_SUBSCRIBE" || $_GET["ACTION"] == "TOPIC_SUBSCRIBE")) {
     if (ForumSubscribeNewMessages($FID, $_GET["ACTION"] == "FORUM_SUBSCRIBE" ? 0 : $TID, $strErrorMessage, $strOKMessage)) {
         LocalRedirect("subscr_list.php?FID=" . $FID . "&TID=" . $TID);
     }
 } elseif ($_SERVER["REQUEST_METHOD"] == "GET" && $_GET["ACTION"] == "HIDE") {
     ForumModerateMessage($MID, "HIDE", $strErrorMessage, $strOKMessage);
 } elseif ($_SERVER["REQUEST_METHOD"] == "GET" && $_GET["ACTION"] == "SHOW") {
     ForumModerateMessage($MID, "SHOW", $strErrorMessage, $strOKMessage);
 } elseif ($_SERVER["REQUEST_METHOD"] == "GET" && $_GET["ACTION"] == "SET_ORDINARY") {
     if (ForumTopOrdinaryTopic($TID, "ORDINARY", $strErrorMessage, $strOKMessage)) {
         $arTopic["SORT"] = "150";
     }
 } elseif ($_SERVER["REQUEST_METHOD"] == "GET" && $_GET["ACTION"] == "SET_TOP") {
     if (ForumTopOrdinaryTopic($TID, "TOP", $strErrorMessage, $strOKMessage)) {
         $arTopic["SORT"] = "100";
     }
 } elseif ($_SERVER["REQUEST_METHOD"] == "GET" && $_GET["ACTION"] == "DEL_TOPIC" && $TID > 0) {
     if (ForumDeleteTopic($TID, $strErrorMessage, $strOKMessage)) {
         LocalRedirect("list.php?FID=" . $FID);
     }
 } elseif ($_SERVER["REQUEST_METHOD"] == "GET" && $_GET["ACTION"] == "STATE_Y") {
     if (ForumOpenCloseTopic($TID, "OPEN", $strErrorMessage, $strOKMessage)) {
         $arTopic["STATE"] = "Y";
     }
 } elseif ($_SERVER["REQUEST_METHOD"] == "GET" && $_GET["ACTION"] == "STATE_N") {
     if (ForumOpenCloseTopic($TID, "CLOSE", $strErrorMessage, $strOKMessage)) {
         $arTopic["STATE"] = "N";
     }
 } elseif ($_SERVER["REQUEST_METHOD"] == "GET" && $_GET["ACTION"] == "DEL") {