$arNavigation = CDBResult::GetNavParams($arNavParams); if ($this->StartResultCache($arParams["CACHE_TIME"], array($arFilterForum, $arForumAddParams, $arNavigation))) { $arForumAddParams['nav_result'] = false; $dbForumNav = CForumNew::GetListEx($arForumOrder, $arFilterForum, false, false, $arForumAddParams); $arForumAddParams['nav_result'] = $dbForumNav; $dbForum = CForumNew::GetListEx($arForumOrder, $arFilterForum, false, false, $arForumAddParams); $arResult["NAV_RESULT"] = $dbForumNav; $arResult["NAV_STRING"] = $dbForumNav->GetPageNavStringEx($navComponentObject, GetMessage("F_FORUM"), $arParams["PAGE_NAVIGATION_TEMPLATE"]); $arResult["NAV_PAGE"] = $dbForumNav->NavNum . ':' . $dbForumNav->NavPageNomer; $arForums = array(); while ($res = $dbForum->GetNext()) { $res["MODERATE"] = array("TOPICS" => 0, "POSTS" => intVal($res["POSTS_UNAPPROVED"])); $res["mCnt"] = $res["MODERATE"]["POSTS"]; $res["TITLE"] = $parser->wrap_long_words($res["TITLE"]); $res["LAST_POSTER_NAME"] = $parser->wrap_long_words($res["LAST_POSTER_NAME"]); $res["LAST_POST_DATE"] = intval($res["LAST_MESSAGE_ID"]) > 0 ? CForumFormat::DateFormat($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($res["LAST_POST_DATE"], CSite::GetDateFormat())) : ""; $res["URL"] = array("MODERATE_MESSAGE" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_MESSAGE_APPR"], array("FID" => $res["ID"], "TID" => "s")), "TOPICS" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_LIST"], array("FID" => $res["ID"])), "MESSAGE" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_MESSAGE"], array("FID" => $res["ID"], "TID" => $res["TID"], "TITLE_SEO" => $res["TITLE_SEO"], "MID" => $res["LAST_MESSAGE_ID"])) . "#message" . $res["LAST_MESSAGE_ID"], "AUTHOR" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $res["LAST_POSTER_ID"]))); /************** For custom template ********************************/ $res["topic_list"] = $res["URL"]["TOPICS"]; $res["message_appr"] = $res["URL"]["MODERATE_MESSAGE"]; $res["message_list"] = $res["URL"]["MESSAGE"]; $res["profile_view"] = $res["URL"]["AUTHOR"]; /*******************************************************************/ $res["FORUM_GROUP_ID"] = intVal($res["FORUM_GROUP_ID"]); $arGroupForum[$res["FORUM_GROUP_ID"]]["FORUM"][] = $res; $arResult["FORUMS_LIST"][$res["ID"]] = $res["ID"]; CForumCacheManager::SetTag($this->GetCachePath(), "forum_msg_count" . $res["ID"]); } $arGroups = array(); if (!function_exists("__array_merge")) { function __array_merge($arr1, $arr2)
$arResult["order"]["~topic"] = $APPLICATION->GetCurPageParam("q=" . urlencode($q) . (!empty($arParams["FID"]) ? "&FORUM_ID=" . $arParams["FID"] : "") . "&order=topic", array("FORUM_ID", "q", "order", "s", BX_AJAX_PARAM_ID)); $arResult["order"]["~date"] = $APPLICATION->GetCurPageParam("q=" . urlencode($q) . (!empty($arParams["FID"]) ? "&FORUM_ID=" . $arParams["FID"] : "") . "&order=date", array("FORUM_ID", "q", "order", "s", BX_AJAX_PARAM_ID)); $arResult["order"]["relevance"] = htmlspecialcharsbx($arResult["order"]["~relevance"]); $arResult["order"]["topic"] = htmlspecialcharsbx($arResult["order"]["~topic"]); $arResult["order"]["date"] = htmlspecialcharsbx($arResult["order"]["~date"]); $arResult["EMPTY"] = "N"; do { if (intVal($res["ITEM_ID"]) > 0) { $res["URL"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_MESSAGE"], array("FID" => $res["PARAM1"], "TID" => $res["PARAM2"], "TITLE_SEO" => $res["PARAM2"], "MID" => $res["ITEM_ID"])); $res["~URL"] = CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_MESSAGE"], array("FID" => $res["PARAM1"], "TID" => $res["PARAM2"], "TITLE_SEO" => $res["PARAM2"], "MID" => $res["ITEM_ID"])); } else { $res["URL"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_READ"], array("FID" => $res["PARAM1"], "TID" => $res["PARAM2"], "TITLE_SEO" => $res["PARAM2"], "MID" => "s")); $res["~URL"] = CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_READ"], array("FID" => $res["PARAM1"], "TID" => $res["PARAM2"], "TITLE_SEO" => $res["PARAM2"], "MID" => "s")); } $res["BODY_FORMATED"] = preg_replace("#\\[/?(quote|b|i|u|code|url).*?\\]#i", "", $res["BODY_FORMATED"]); $res["DATE_CHANGE"] = CForumFormat::DateFormat($arParams["DATE_FORMAT"], MakeTimeStamp($res["DATE_CHANGE"], CSite::GetDateFormat())); if (strpos($res["SITE_URL"], "#message") !== false) { $res["SITE_URL"] = substr($res["SITE_URL"], 0, strpos($res["SITE_URL"], "#message")); } $res["TAGS"] = array(); if (!empty($res["~TAGS_FORMATED"])) { foreach ($res["~TAGS_FORMATED"] as $name => $tag) { $tags = $tag; $res["TAGS"][] = array("URL" => $APPLICATION->GetCurPageParam("tags=" . urlencode($tags), array("tags")), "TAG_NAME" => htmlspecialcharsbx($name)); } } $topics[$res["PARAM2"]] = !!$topics[$res["PARAM2"]] ? $topics[$res["PARAM2"]] : array(); $topics[$res["PARAM2"]][] = count($arResult["TOPICS"]); $arResult["TOPICS"][] = $res; } while ($res = $obSearch->GetNext()); }
$arUserGroup = CUser::GetUserGroup($res["USER_ID"]); sort($arUserGroup); foreach ($arForums as $forum) { $UserPerm[] = CForumNew::GetUserPermission($forum["ID"], $arUserGroup); } rsort($UserPerm); list($res["AUTHOR_STATUS_CODE"], $res["AUTHOR_STATUS"]) = ForumGetUserForumStatus($res["USER_ID"], $UserPerm[0]); } $res["UserStatus"] = $res["AUTHOR_STATUS"]; $res["URL"] = array("AUTHOR" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $res["USER_ID"])), "~AUTHOR" => CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $res["USER_ID"])), "POSTS" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_USER_POST"], array("UID" => $res["USER_ID"], "mode" => "all")), "~POSTS" => CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_USER_POST"], array("UID" => $res["USER_ID"], "mode" => "all"))); $res["profile_view"] = $res["URL"]["AUTHOR"]; $res["user_post"] = $res["URL"]["POSTS"]; $res["pm_edit"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PM_EDIT"], array("FID" => 0, "MID" => 0, "mode" => "new", "UID" => $res["USER_ID"])); $res["mail"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_MESSAGE_SEND"], array("TYPE" => "mail", "UID" => $res["USER_ID"])); $res["DATE_REG"] = !empty($res["DATE_REGISTER_SHORT"]) ? CForumFormat::DateFormat($arParams["DATE_FORMAT"], MakeTimeStamp($res["DATE_REGISTER_SHORT"], CSite::GetDateFormat())) : ""; $res["LAST_VISIT"] = !empty($res["LAST_VISIT"]) ? CForumFormat::DateFormat($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($res["LAST_VISIT"], CSite::GetDateFormat())) : ""; $res["icq"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_MESSAGE_SEND"], array("TYPE" => "icq", "UID" => $res["USER_ID"])); if (strLen($res["AVATAR"]) > 0) { $res["~AVATAR"] = array("ID" => $res["AVATAR"], "FILE" => CFile::GetFileArray($res["AVATAR"])); $res["~AVATAR"]["HTML"] = CFile::ShowImage($res["~AVATAR"]["FILE"], COption::GetOptionString("forum", "avatar_max_width", 100), COption::GetOptionString("forum", "avatar_max_height", 100), "border=\"0\"", "", true); $res["~AVATAR"]["HTML_SMALL"] = CFile::ShowImage($res["~AVATAR"]["FILE"], 20, 20, "border=0 alt=\"\"", "", true); $res["AVATAR_ARRAY"] = $res["~AVATAR"]; $res["AVATAR"] = $res["~AVATAR"]["HTML_SMALL"]; } $res["SHOW_ABC"] = $parser->wrap_long_words($res["SHOW_ABC"]); $arResult["USERS"][] = $res; } while ($res = $db_res->GetNext()); } } /******************************************************************** /Data
} if (!empty($arForums)) { // it need for custom components foreach (array("TITLE", "USER_START_NAME", "POSTS", "VIEWS", "LAST_POST_DATE") as $res) { $arResult["SortingEx"][$res] = SortingEx($res, false, "by" . $orderIndex, "order" . $orderIndex); } // /it need for custom components $db_res = CForumTopic::GetListEx($arSort, array("@FORUM_ID" => array_keys($arForums), "APPROVED" => "Y"), false, false, $arNavParams); if ($db_res) { $db_res->NavStart($arParams["TOPICS_PER_PAGE"], false); $arResult["NAV_STRING"] = $db_res->GetPageNavStringEx($navComponentObject, $arParams["PAGER_TITLE"], $arParams["PAGER_TEMPLATE"], $arParams["PAGER_SHOW_ALWAYS"]); //$arResult["NAV_CACHED_DATA"] = $navComponentObject->GetTemplateCachedData(); $arResult["NAV_RESULT"] = $db_res; while ($res = $db_res->GetNext()) { if (strLen(trim($res["LAST_POST_DATE"])) > 0) { $res["LAST_POST_DATE"] = CForumFormat::DateFormat($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($res["LAST_POST_DATE"], CSite::GetDateFormat())); } $res["URL"] = array("AUTHOR" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $res["USER_START_ID"])), "~AUTHOR" => CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $res["USER_START_ID"])), "READ" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_MESSAGE"], array("FID" => $res["FORUM_ID"], "TID" => $res["ID"], "MID" => intVal($res["LAST_MESSAGE_ID"]))) . "#message" . intVal($res["LAST_MESSAGE_ID"]), "~READ" => CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_MESSAGE"], array("FID" => $res["FORUM_ID"], "TID" => $res["ID"], "MID" => intVal($res["LAST_MESSAGE_ID"]))) . "#message" . intVal($res["LAST_MESSAGE_ID"])); $res["user_start_id_profile"] = $res["URL"]["AUTHOR"]; // For custom $res["read"] = $res["URL"]["READ"]; // For custom $arTopics[] = $res; } } } $arResult['TOPICS'] = CForumCacheManager::Compress($arTopics); $arResult['FORUMS'] = CForumCacheManager::Compress($arForums); $this->EndResultCache(); $arResult['TOPICS'] = $arTopics; $arResult['FORUMS'] = $arForums;
$res["POST_LINK"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_MESSAGE"], array("FID" => $res["FORUM_ID"], "TID" => $res["TOPIC_ID"], "TITLE_SEO" => $res["TITLE_SEO"], "MID" => $res["ID"])); $res["~AUTHOR_URL"] = "http://" . $arResult["SERVER_NAME"] . $res["~AUTHOR_LINK"]; $res["AUTHOR_URL"] = "http://" . htmlspecialcharsEx($arResult["SERVER_NAME"]) . $res["AUTHOR_LINK"]; $res["~URL"] = "http://" . $arResult["SERVER_NAME"] . $res["~POST_LINK"]; $res["URL"] = "http://" . htmlspecialcharsEx($arResult["SERVER_NAME"]) . $res["POST_LINK"]; $res["~URL_RSS"] = "http://" . $arResult["SERVER_NAME"] . CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_RSS"], array("TYPE" => strToLower($arParams["TYPE"]), "MODE" => "topic", "IID" => $res["TOPIC_ID"])); $res["URL_RSS"] = "http://" . htmlspecialcharsEx($arResult["SERVER_NAME"]) . CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_RSS"], array("TYPE" => strToLower($arParams["TYPE"]), "MODE" => "topic", "IID" => $res["TOPIC_ID"])); $res["UUID"] = __create_uuid($res["~URL"]); // TOPIC DATA $arDate = ParseDateTime($res["START_DATE"], false); $date = date("r", mktime($arDate["HH"], $arDate["MI"], $arDate["SS"], $arDate["MM"], $arDate["DD"], $arDate["YYYY"])); if ($arParams["TYPE"] == "ATOM") { $timeISO = mktime($arDate["HH"], $arDate["MI"], $arDate["SS"], $arDate["MM"], $arDate["DD"], $arDate["YYYY"]); $date = date("Y-m-d\\TH:i:s", $timeISO) . substr(date("O", $timeISO), 0, 3) . ":" . substr(date("O", $timeISO), -2, 2); } $topic = array("ID" => $res["TOPIC_ID"], "TITLE" => $res["TITLE"], "~TITLE" => $res["~TITLE"], "DESCRIPTION" => $res["TOPIC_DESCRIPTION"], "~DESCRIPTION" => $res["~TOPIC_DESCRIPTION"], "TOPIC_DESCRIPTION" => $res["TOPIC_DESCRIPTION"], "~TOPIC_DESCRIPTION" => $res["~TOPIC_DESCRIPTION"], "START_DATE" => $date, "~START_DATE" => $res["~START_DATE"], "START_DATE_FORMATED" => CForumFormat::DateFormat($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($res["~START_DATE"], CSite::GetDateFormat())), "AUTHOR_NAME" => $res["USER_START_NAME"], "~AUTHOR_NAME" => $res["~USER_START_NAME"], "AUTHOR_ID" => $res["USER_START_ID"], "~AUTHOR_ID" => $res["~USER_START_ID"], "~AUTHOR_LINK" => CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_PROFILE_VIEW"], array("UID" => intVal($res["~USER_START_ID"]))), "AUTHOR_LINK" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => intVal($res["~USER_START_ID"]))), "~TOPIC_LINK" => CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_READ"], array("FID" => $res["FORUM_ID"], "TID" => $res["TOPIC_ID"], "TITLE_SEO" => $res["TITLE_SEO"], "MID" => "s")), "TOPIC_LINK" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_READ"], array("FID" => $res["FORUM_ID"], "TID" => $res["TOPIC_ID"], "TITLE_SEO" => $res["TITLE_SEO"], "MID" => "s")), "MESSAGES" => array()); $topic["~AUTHOR_URL"] = "http://" . $arResult["SERVER_NAME"] . $topic["~AUTHOR_LINK"]; $topic["AUTHOR_URL"] = "http://" . htmlspecialcharsEx($arResult["SERVER_NAME"]) . $topic["AUTHOR_LINK"]; $topic["~URL"] = "http://" . $arResult["SERVER_NAME"] . $topic["~TOPIC_LINK"]; $topic["URL"] = "http://" . htmlspecialcharsEx($arResult["SERVER_NAME"]) . $topic["TOPIC_LINK"]; if (empty($arItems[$res["FORUM_ID"]]["TOPICS"][$res["TOPIC_ID"]])) { $arItems[$res["FORUM_ID"]]["TOPICS"][$res["TOPIC_ID"]] = $topic; } unset($res["TITLE"]); unset($res["DESCRIPTION"]); if (!empty($arParams["TEMPLATE"])) { $text = $arParams["TEMPLATE"]; foreach ($arParams["TEMPLATE_ELEMENTS"] as $element) { $replace = array($arItems[$res["FORUM_ID"]]["TOPICS"][$res["TOPIC_ID"]][$element], $arItems[$res["FORUM_ID"]]["TOPICS"][$res["TOPIC_ID"]]["~" . $element]); if (strLen($res[$element]) > 0) { $replace = array($res[$element], $res["~" . $element]);
function GetDateFormat($name = "", $parent = "") { $timestamp = mktime(7, 30, 45, 2, 22, 2007); return array("PARENT" => $parent, "NAME" => $name, "TYPE" => "LIST", "VALUES" => array("d-m-Y" => CForumFormat::DateFormat("d-m-Y", $timestamp), "m-d-Y" => CForumFormat::DateFormat("m-d-Y", $timestamp), "Y-m-d" => CForumFormat::DateFormat("Y-m-d", $timestamp), "d.m.Y" => CForumFormat::DateFormat("d.m.Y", $timestamp), "m.d.Y" => CForumFormat::DateFormat("m.d.Y", $timestamp), "j M Y" => CForumFormat::DateFormat("j M Y", $timestamp), "M j, Y" => CForumFormat::DateFormat("M j, Y", $timestamp), "j F Y" => CForumFormat::DateFormat("j F Y", $timestamp), "F j, Y" => CForumFormat::DateFormat("F j, Y", $timestamp), "d.m.y" => CForumFormat::DateFormat("d.m.y", $timestamp)), "DEFAULT" => $GLOBALS["DB"]->DateFormatToPHP(CSite::GetDateFormat("SHORT")), "ADDITIONAL_VALUES" => "Y"); }
return 0; } $arResult["TOPIC"] = $arMessage["TOPIC_INFO"]; $arResult["TOPIC_FILTER"] = CForumTopic::GetByID($arMessage["TOPIC_ID"]); $arResult["MESSAGE"] = $arMessage; $arResult["MESSAGE"]["FILES"] = array(); $db_res = CForumFiles::GetList(array(), array("MESSAGE_ID" => $arParams["MID"])); if ($db_res && ($res = $db_res->Fetch())) { do { $arResult["MESSAGE"]["FILES"][$res["FILE_ID"]] = $res; } while ($res = $db_res->Fetch()); } if ($arParams["SHOW_VOTE"] == "Y" && $arMessage["PARAM1"] == "VT" && intVal($arMessage["PARAM2"]) > 0) { $db_vote = CVote::GetByID(intVal($arMessage["PARAM2"])); if ($db_vote && ($arVote = $db_vote->GetNext())) { $arResult['DATE_END'] = CForumFormat::DateFormat($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arVote['DATE_END'], CSite::GetDateFormat())); } $db_res = CVoteQuestion::GetListEx(array("ID" => "ASC"), array("CHANNEL_ID" => $arParams["VOTE_CHANNEL_ID"], "VOTE_ID" => $arMessage["PARAM2"])); if ($db_res && ($res = $db_res->Fetch())) { do { $arResult["~QUESTIONS"][$res["ID"]] = $res; $arResult["~QUESTIONS"][$res["ID"]]["ANSWERS"] = array(); } while ($res = $db_res->Fetch()); } if (!empty($arResult["~QUESTIONS"])) { $db_res = CVoteAnswer::GetListEx(array("ID" => "ASC"), array("VOTE_ID" => $arMessage["PARAM2"])); if ($db_res && ($res = $db_res->Fetch())) { do { if (is_set($arResult["~QUESTIONS"], $res["QUESTION_ID"])) { $arResult["~QUESTIONS"][$res["QUESTION_ID"]]["ANSWERS"][$res["ID"]] = $res; if (intVal($res["FIELD_TYPE"]) == 1) {
case 'message is not added 2': $errTitle = GetMessage('F_ERR_ADD_MESSAGE'); break; default: $errTitle = ''; break; } } $arError[] = array('code' => $v['code'], 'title' => $errTitle); } if (empty($arError)) { LocalRedirect($strURL); } } else { $parser->allow["SMILES"] = $_POST["REVIEW_USE_SMILES"] != "Y" ? "N" : $arResult["FORUM"]["ALLOW_SMILES"]; $arResult["MESSAGE_VIEW"] = array("POST_MESSAGE_TEXT" => $parser->convertText($_POST["REVIEW_TEXT"]), "AUTHOR_NAME" => htmlspecialcharsEx($arResult["USER"]["SHOWED_NAME"]), "AUTHOR_ID" => intVal($USER->GetID()), "AUTHOR_URL" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $USER->GetID())), "POST_DATE" => CForumFormat::DateFormat($arParams["DATE_TIME_FORMAT"], time() + CTimeZone::GetOffset()), "FILES" => array()); $arFields = array("FORUM_ID" => intVal($arParams["FORUM_ID"]), "TOPIC_ID" => 0, "MESSAGE_ID" => 0, "USER_ID" => intVal($GLOBALS["USER"]->GetID())); $arFiles = array(); $arFilesExists = array(); $res = array(); foreach ($_FILES as $key => $val) { if (substr($key, 0, strLen("FILE_NEW")) == "FILE_NEW" && !empty($val["name"])) { $arFiles[] = $_FILES[$key]; } } foreach ($_REQUEST["FILES"] as $key => $val) { if (!in_array($val, $_REQUEST["FILES_TO_UPLOAD"])) { $arFiles[$val] = array("FILE_ID" => $val, "del" => "Y"); unset($_REQUEST["FILES"][$key]); unset($_REQUEST["FILES_TO_UPLOAD"][$key]); } else {
$e = new CAdminException(array_reverse($arError)); $GLOBALS["APPLICATION"]->ThrowException($e); $err = $GLOBALS['APPLICATION']->GetException(); $arResult["OK_MESSAGE"] .= $err->GetString(); } } /******************************************************************** /Action ********************************************************************/ /******************************************************************** Data ********************************************************************/ $arResult["MESSAGE"]["POST_MESSAGE"] = $parser->convert($arResult["MESSAGE"]["~POST_MESSAGE"], array("HTML" => "N", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "VIDEO" => "Y", "LIST" => "Y", "QUOTE" => "Y", "CODE" => "Y", "FONT" => "Y", "SMILES" => $arResult["MESSAGE"]["USE_SMILES"], "UPLOAD" => "N", "NL2BR" => "N", "TABLE" => "Y", "ALIGN" => "Y")); $arResult["MESSAGE"]["RECIPIENT_LINK"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $arResult["MESSAGE"]["RECIPIENT_ID"])); $arResult["MESSAGE"]["AUTHOR_LINK"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $arResult["MESSAGE"]["AUTHOR_ID"])); $arResult["MESSAGE"]["POST_DATE"] = CForumFormat::DateFormat($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arResult["MESSAGE"]["POST_DATE"], CSite::GetDateFormat())); // ************************* Pagen ********************************************************************* $arFilter = array("USER_ID" => $arParams["UID"], "FOLDER_ID" => $arParams["FID"]); if ($arParams["FID"] == 2) { //If this is outbox folder $arFilter = array("OWNER_ID" => $arParams["UID"]); } $db_res = CForumPrivateMessage::GetListEx(array($by => $order), $arFilter, false, 0, array("sNameTemplate" => $arParams["NAME_TEMPLATE"])); $prev = array(); $next = array(); $bFound = false; if ($db_res && ($res = $db_res->Fetch())) { do { if ($bFound) { $next = $res; break;
$ids[] = $res["ID"]; $res["~POST_MESSAGE_TEXT"] = COption::GetOptionString("forum", "FILTER", "Y") == "Y" ? $res["~POST_MESSAGE_FILTER"] : $res["~POST_MESSAGE"]; if (!empty($arParams["NAME_TEMPLATE"]) && $res["SHOW_NAME"] != "Y") { $name = CUser::FormatName($arParams["NAME_TEMPLATE"], array("NAME" => $res["NAME"], "LAST_NAME" => $res["LAST_NAME"], "SECOND_NAME" => $res["SECOND_NAME"], "LOGIN" => $res["LOGIN"]), true, false); if (!!$name) { $res["~AUTHOR_NAME"] = $name; $res["AUTHOR_NAME"] = htmlspecialcharsbx($name); } } $res["AUTHOR_ID"] = intval($res["AUTHOR_ID"]); $res["AUTHOR_URL"] = ""; if (!empty($arParams["URL_TEMPLATES_PROFILE_VIEW"])) { $res["AUTHOR_URL"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("user_id" => $res["AUTHOR_ID"])); } $res["POST_TIMESTAMP"] = MakeTimeStamp($res["POST_DATE"], CSite::GetDateFormat()); $arTopics[$res['TOPIC_ID']]['MESSAGE'] = array('ID' => $res["ID"], '~POST_MESSAGE_TEXT' => $res["~POST_MESSAGE_TEXT"], 'POST_MESSAGE_TEXT' => $res["~POST_MESSAGE_TEXT"], 'NEW_TOPIC' => $res["NEW_TOPIC"], 'POST_DATE' => CForumFormat::DateFormat($arParams["DATE_TIME_FORMAT"], $res["POST_TIMESTAMP"]), 'USE_SMILES' => $res["USE_SMILES"], 'POST_TIMESTAMP' => $res["POST_TIMESTAMP"], 'AUTHOR_NAME' => $res["AUTHOR_NAME"], 'AUTHOR_ID' => $res["AUTHOR_ID"], 'AUTHOR_URL' => str_replace('#UID#', $res["AUTHOR_ID"], $res["AUTHOR_URL"]), 'AUTHOR_AVATAR_ID' => $res["AVATAR"] > 0 ? $res["AVATAR"] : $res["PERSONAL_PHOTO"]); if ($arParams["CACHE_TAG"] == "Y" && $arParams["CACHE_TIME"] > 0 && defined("BX_COMP_MANAGED_CACHE")) { $CACHE_MANAGER->RegisterTag('forum_topic_' . $res['TOPIC_ID']); } } if (!empty($ids)) { $parser = new forumTextParser(LANGUAGE_ID); $parser->imageWidth = $parser->imageHeight = array_key_exists("IMAGE_SIZE", $arParams) ? $arParams["IMAGE_SIZE"] : 200; $parser->userPath = $arParams["URL_TEMPLATES_PROFILE_VIEW"]; $parser->userNameTemplate = $arParams["NAME_TEMPLATE"]; $files = array(); $props = array(); $db_files = CForumFiles::GetList(array("MESSAGE_ID" => "ASC"), array("@MESSAGE_ID" => $ids)); while ($res = $db_files->Fetch()) { $files[$res["MESSAGE_ID"]] = $files[$res["MESSAGE_ID"]] ?: array(); $files[$res["MESSAGE_ID"]][$res["FILE_ID"]] = $res;
if ($arParams["NO_REDIRECT_AFTER_SUBMIT"] != "Y") LocalRedirect($strURL); else $arResult['RESULT'] = $MID; endif; } elseif ($_REQUEST["save_product_review"] == "Y") // preview { $arParams['SHOW_MINIMIZED'] = 'N'; $arAllow["SMILES"] = ($_POST["REVIEW_USE_SMILES"] !="Y" ? "N" : $arResult["FORUM"]["ALLOW_SMILES"]); $arResult["MESSAGE_VIEW"] = array( "POST_MESSAGE_TEXT" => $_POST["REVIEW_TEXT"], "AUTHOR_NAME" => htmlspecialcharsEx($arResult["USER"]["SHOWED_NAME"]), "AUTHOR_ID" => intVal($USER->GetID()), "AUTHOR_URL" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $USER->GetID())), "POST_DATE" => CForumFormat::DateFormat($arParams["DATE_TIME_FORMAT"], time()+CTimeZone::GetOffset()), "FILES" => array()); $arFields = array( "FORUM_ID" => intVal($arParams["FORUM_ID"]), "TOPIC_ID" => 0, "MESSAGE_ID" => 0, "USER_ID" => intVal($GLOBALS["USER"]->GetID())); $arFiles = array(); $arFilesExists = array(); $res = array(); foreach ($_FILES as $key => $val): if ((substr($key, 0, strLen("FILE_NEW")) == "FILE_NEW") && !empty($val["name"])): $arFiles[] = $_FILES[$key]; endif;