Beispiel #1
0
//
// Link to forum
$arResult["read"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_READ"], array("FID" => $arParams["FORUM_ID"], "TID" => $arResult["FORUM_TOPIC_ID"], "TITLE_SEO" => $arResult["TOPIC"]["TITLE_SEO"], "MID" => "s", "PARAM1" => $arParams['ENTITY_TYPE'], "PARAM2" => $arParams["ENTITY_ID"]));
/********************************************************************
				/Input params
********************************************************************/
/********************************************************************
				Data
********************************************************************/
/************** 4. Get message list *******"*************************/
$pageNo = 0;
$bShowAll = false;
$arResult["UNREAD_MID"] = 0;
if ($arResult["FORUM_TOPIC_ID"] > 0) {
    $pager_number = $GLOBALS["NavNum"] + 1;
    $arResult["UNREAD_MID"] = intVal(ForumGetFirstUnreadMessage($arParams["FORUM_ID"], $arResult["FORUM_TOPIC_ID"]));
    $MID = intVal($_REQUEST["MID"]);
    unset($_GET["MID"]);
    unset($GLOBALS["MID"]);
    if (isset($arResult['RESULT']) && intval($arResult['RESULT']) > 0) {
        $MID = $arResult['RESULT'];
        if ($arResult["UNREAD_MID"] == $MID) {
            $arResult["UNREAD_MID"]++;
        }
    } elseif ($arResult["UNREAD_MID"] > 0 && ($MID > 0 && $MID > $arResult["UNREAD_MID"] || $MID <= 0)) {
        $MID = $arResult["UNREAD_MID"];
    }
    ForumSetReadTopic($arParams["FORUM_ID"], $arResult["FORUM_TOPIC_ID"]);
    if (intVal($MID) > 0) {
        $pageNo = CForumMessage::GetMessagePage($MID, $arParams["MESSAGES_PER_PAGE"], $GLOBALS["USER"]->GetUserGroupArray(), $arResult["FORUM_TOPIC_ID"], array("ORDER_DIRECTION" => $arParams["PREORDER"] == "N" ? "DESC" : "ASC", "PERMISSION_EXTERNAL" => $arResult["USER"]["PERMISSION"], "FILTER" => array("!PARAM1" => $arParams['ENTITY_TYPE'])));
        $bShowAll = $pageNo > 1;
    ShowError(GetMessage("SONET_MODULE_NOT_INSTALL"));
    return false;
} elseif (intVal($arParams["FID"]) <= 0) {
    ShowError(GetMessage("F_FID_IS_EMPTY"));
    return false;
}
/********************************************************************
				Input params
********************************************************************/
/***************** BASE ********************************************/
$GLOBALS["FID"] = $arParams["FID"] = intVal($arParams["FID"]);
$arParams["TID"] = intVal(intVal($arParams["TID"]) <= 0 ? $_REQUEST["TID"] : $arParams["TID"]);
$arParams["MID_UNREAD"] = strLen(trim($arParams["MID"])) <= 0 ? $_REQUEST["MID"] : $arParams["MID"];
$arParams["MID"] = is_array($arParams["MID"]) ? 0 : intVal($arParams["MID"]);
if (strtolower($arParams["MID_UNREAD"]) == "unread_mid") {
    $arParams["MID"] = intVal(ForumGetFirstUnreadMessage($arParams["FID"], $arParams["TID"]));
}
$arParams['AJAX_POST'] = $arParams["AJAX_POST"] == "Y" ? "Y" : "N";
$arParams["ACTION"] = !empty($arParams["ACTION"]) ? $arParams["ACTION"] : $_REQUEST["ACTION"];
$arParams["ACTION"] = !empty($arParams["ACTION"]) ? $arParams["ACTION"] : ($_POST["MESSAGE_TYPE"] == "REPLY" ? "REPLY" : false);
$arParams["SOCNET_GROUP_ID"] = intVal($arParams["SOCNET_GROUP_ID"]);
$arParams["MODE"] = $arParams["SOCNET_GROUP_ID"] > 0 ? "GROUP" : "USER";
$arParams["USER_ID"] = intVal(intVal($arParams["USER_ID"]) > 0 ? $arParams["USER_ID"] : $USER->GetID());
/***************** URL *********************************************/
$URL_NAME_DEFAULT = array("topic_list" => "PAGE_NAME=topic_list", "topic" => "PAGE_NAME=topic&TID=#TID#", "topic_edit" => "PAGE_NAME=topic_edit&TID=#TID#&MID=#MID#", "message" => "PAGE_NAME=topic&TID=#TID#&MID=#MID#", "profile_view" => "PAGE_NAME=profile_view&UID=#UID#");
foreach ($URL_NAME_DEFAULT as $URL => $URL_VALUE) {
    if (strLen(trim($arParams["URL_TEMPLATES_" . strToUpper($URL)])) <= 0) {
        $arParams["URL_TEMPLATES_" . strToUpper($URL)] = $APPLICATION->GetCurPageParam($URL_VALUE, array("PAGE_NAME", "FID", "TID", "UID", "GID", "MID", "ACTION", "sessid", "SEF_APPLICATION_CUR_PAGE_URL", "AJAX_TYPE", "AJAX_CALL", BX_AJAX_PARAM_ID, "result", "order"));
    }
    $arParams["~URL_TEMPLATES_" . strToUpper($URL)] = $arParams["URL_TEMPLATES_" . strToUpper($URL)];
    $arParams["URL_TEMPLATES_" . strToUpper($URL)] = htmlspecialcharsbx($arParams["~URL_TEMPLATES_" . strToUpper($URL)]);
Beispiel #3
0
//*****************************************************************************************************************
//	Read topic. Public part.
//*****************************************************************************************************************
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
IncludeTemplateLangFile(__FILE__);
if (CModule::IncludeModule("forum")) {
    //*************************!Let's init $FID (forum id), $TID (topic id) and $MID (message id)**********************
    //*************************!with actual and coordinated values*****************************************************
    //*************************!***************************************************************************************
    $FID = IntVal($_REQUEST["FID"]);
    $TID = IntVal($_REQUEST["TID"]);
    $MID = IntVal($_REQUEST["MID"]);
    if (strToLower($_REQUEST["MID"]) == "unread_mid") {
        $MID = ForumGetFirstUnreadMessage($FID, $TID);
    }
    $MID = IntVal($MID);
    define("FORUM_MODULE_PAGE", "READ");
    if ($MID > 0) {
        $arMessage = CForumMessage::GetByID($MID);
        if ($arMessage) {
            $TID = IntVal($arMessage["TOPIC_ID"]);
            $FID = IntVal($arMessage["FORUM_ID"]);
        } else {
            $MID = 0;
        }
    }
    $arTopic = CForumTopic::GetByIDEx($TID);
    if (!$arTopic) {
        LocalRedirect("list.php?FID=" . $FID);