if ($db_res && $res = $db_res->Fetch()) { do { $arResult["USER"]["SUBSCRIBE"][] = $res; if (intval($res["TOPIC_ID"]) <= 0) $arResult["USER"]["FORUM_SUBSCRIBE"] = "Y"; elseif(intval($res["TOPIC_ID"]) == intval($arResult["FORUM_TOPIC_ID"])) $arResult["USER"]["TOPIC_SUBSCRIBE"] = "Y"; } while ($res = $db_res->Fetch()); } } /************** 4. Get message list ********************************/ if ($arResult["FORUM_TOPIC_ID"] > 0) { ForumSetReadTopic($arParams["FORUM_ID"], $arResult["FORUM_TOPIC_ID"]); $page_number = $GLOBALS["NavNum"] + 1; $arMessages = array(); $pageNo = $_GET["PAGEN_".$page_number]; if ($pageNo > 200) $pageNo = 0; if (isset($arResult['RESULT']) && intval($arResult['RESULT']) > 0) $pageNo = $arResult['RESULT']; $ar_cache_id = array( $arParams["FORUM_ID"], $arParams["ELEMENT_ID"], $arResult["FORUM_TOPIC_ID"], $arResult["USER"]["GROUPS"], $arResult["PANELS"], $arParams['SHOW_AVATAR'], $arParams['SHOW_RATING'], $arParams["MESSAGES_PER_PAGE"],
switch (strToLower($_REQUEST["result"])) { case "message_add": case "mid_add": case "reply": $arNote[] = array("id" => "message_add", "text" => GetMessage("F_MESS_SUCCESS_ADD")); break; } unset($_GET["result"]); DeleteParam(array("result")); } $arAllow = forumTextParser::GetFeatures($arResult["FORUM"]); /******************************************************************** /Default params # 2 ********************************************************************/ ForumSetLastVisit($arParams["FID"], $arParams["TID"]); ForumSetReadTopic($arParams["FID"], $arParams["TID"]); /******************************************************************** Action ********************************************************************/ $dir = dirname(__FILE__); include str_replace(array("\\", "//"), "/", $dir . "/") . "action.php"; /******************************************************************** /Action ********************************************************************/ if (!empty($arError)) { $e = new CAdminException($arError); $arResult["ERROR_MESSAGE"] = $e->GetString(); } if (!empty($arNote)) { if (isset($arNote['title'])) { $arResult['OK_MESSAGE'] = $arNote['title'];
} //*************************!Subscribe****************************************************************************** if ($_REQUEST["TOPIC_SUBSCRIBE"] == "Y" || $_REQUEST["FORUM_SUBSCRIBE"] == "Y") { if ($_REQUEST["TOPIC_SUBSCRIBE"] == "Y") { ForumSubscribeNewMessagesEx($FID, $TID, "N", $strErrorMessage, $strOKMessage); } if ($_REQUEST["FORUM_SUBSCRIBE"] == "Y") { ForumSubscribeNewMessagesEx($FID, 0, "N", $strErrorMessage, $strOKMessage); } } //*************************!Subscribe****************************************************************************** if (!CForumTopic::CanUserViewTopic($TID, $USER->GetUserGroupArray())) { LocalRedirect("list.php?FID=" . $FID . "&TID=Y"); } ForumSetLastVisit($FID, $TID); ForumSetReadTopic($FID, $TID); //*************************!Action********************************************************************************* if ($_POST["MESSAGE_MODE"] != "VIEW" && (strLen(trim($_REQUEST["ACTION"])) > 0 || $_REQUEST["VOTE4USER"] == "Y" || $_POST["MESSAGE_TYPE"] == "REPLY") && check_bitrix_sessid()) { if ($_SERVER["REQUEST_METHOD"] == "POST" && $_POST["MESSAGE_TYPE"] == "REPLY" && check_bitrix_sessid()) { $arFieldsG = array("POST_MESSAGE" => $_POST["POST_MESSAGE"], "AUTHOR_NAME" => trim($_POST["AUTHOR_NAME"]), "AUTHOR_EMAIL" => $_POST["AUTHOR_EMAIL"], "USE_SMILES" => $_POST["USE_SMILES"], "ATTACH_IMG" => $_FILES["ATTACH_IMG"]); $MID = ForumAddMessage("REPLY", $FID, $TID, 0, $arFieldsG, $strErrorMessage, $strOKMessage, false, $_POST["captcha_word"], 0, $_POST["captcha_code"]); $MID = IntVal($MID); if ($MID <= 0) { $bVarsFromForm = true; } else { LocalRedirect($APPLICATION->GetCurPage() . "?FID=" . $FID . "&TID=" . $TID . "&MID=" . $MID . "#message" . $MID); } } elseif ($_SERVER["REQUEST_METHOD"] == "GET" && ($_GET["ACTION"] == "FORUM_SUBSCRIBE" || $_GET["ACTION"] == "TOPIC_SUBSCRIBE" || $_GET["ACTION"] == "FORUM_SUBSCRIBE_TOPICS") && check_bitrix_sessid()) { if (ForumSubscribeNewMessagesEx($FID, $_GET["ACTION"] == "FORUM_SUBSCRIBE" ? 0 : $TID, $_GET["ACTION"] == "FORUM_SUBSCRIBE_TOPICS" ? "Y" : "N", $strErrorMessage, $strOKMessage)) { LocalRedirect("subscr_list.php?FID=" . $FID . "&TID=" . $TID); }