%PDF-
%PDF-
Mini Shell
Mini Shell
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
if (!CModule::IncludeModule("forum")):
ShowError(GetMessage("F_NO_MODULE"));
return false;
elseif (!CModule::IncludeModule("socialnetwork")):
ShowError(GetMessage("SONET_MODULE_NOT_INSTALL"));
return false;
elseif (intVal($arParams["FID"]) <= 0):
ShowError(GetMessage("F_FID_IS_EMPTY"));
return false;
endif;
/********************************************************************
Input params
********************************************************************/
/***************** BASE ********************************************/
$arParams["FID"] = intVal($arParams["FID"]);
$arParams["TID"] = intVal(empty($arParams["TID"]) ? $_REQUEST["TID"] : $arParams["TID"]);
$arParams["MID"] = intVal(empty($arParams["MID"]) ? $_REQUEST["MID"] : $arParams["MID"]);
$arParams["PAGE_NAME"] = htmlspecialcharsbx(empty($arParams["PAGE_NAME"]) ? $_REQUEST["PAGE_NAME"] : $arParams["PAGE_NAME"]);
$arParams["MESSAGE_TYPE"] = (in_array(strToUpper($arParams["MESSAGE_TYPE"]), array("REPLY", "EDIT", "NEW")) ? strToUpper($arParams["MESSAGE_TYPE"]):"NEW");
$arParams["MID"] = ($arParams["MESSAGE_TYPE"] == "EDIT" ? $arParams["MID"] : 0);
$arParams["bVarsFromForm"] = ($arParams["bVarsFromForm"] == "Y" || $arParams["bVarsFromForm"] === true ? "Y" : "N");
$arParams["SOCNET_GROUP_ID"] = intVal($arParams["SOCNET_GROUP_ID"]);
$arParams["MODE"] = ($arParams["SOCNET_GROUP_ID"] > 0 ? "GROUP" : "USER");
$arParams["USER_ID"] = intval(!empty($arParams["USER_ID"]) ? $arParams["USER_ID"] : $USER->GetID());
/***************** URL *********************************************/
if (empty($arParams["URL_TEMPLATES_MESSAGE"]) && !empty($arParams["URL_TEMPLATES_READ"]))
$arParams["URL_TEMPLATES_MESSAGE"] = $arParams["URL_TEMPLATES_READ"];
$URL_NAME_DEFAULT = array(
"topic_list" => "PAGE_NAME=topic_list&FID=#FID#",
"message" => "PAGE_NAME=message&FID=#FID#&TID=#TID#&MID=#MID#");
foreach ($URL_NAME_DEFAULT as $URL => $URL_VALUE)
{
if (strLen(trim($arParams["URL_TEMPLATES_".strToUpper($URL)])) <= 0)
$arParams["URL_TEMPLATES_".strToUpper($URL)] = $APPLICATION->GetCurPage()."?".$URL_VALUE;
$arParams["~URL_TEMPLATES_".strToUpper($URL)] = $arParams["URL_TEMPLATES_".strToUpper($URL)];
$arParams["URL_TEMPLATES_".strToUpper($URL)] = htmlspecialcharsbx($arParams["~URL_TEMPLATES_".strToUpper($URL)]);
}
/***************** ADDITIONAL **************************************/
$arParams["AJAX_TYPE"] = ($arParams["AJAX_TYPE"] == "Y" ? "Y" : "N");
$arParams["AJAX_CALL"] = (($_REQUEST["AJAX_CALL"] == "Y" && $arParams["AJAX_TYPE"] == "Y") ? "Y" : "N");
$arParams["EDITOR_CODE_DEFAULT"] = ($arParams["EDITOR_CODE_DEFAULT"] == "Y" ? "Y" : "N");
$arParams['AJAX_POST'] = ($arParams["AJAX_POST"] == "Y" ? "Y" : "N");
$arParams["VOTE_CHANNEL_ID"] = intVal($arParams["VOTE_CHANNEL_ID"]);
$arParams["SHOW_VOTE"] = ($arParams["SHOW_VOTE"] == "Y" && $arParams["VOTE_CHANNEL_ID"] > 0 && IsModuleInstalled("vote") ? "Y" : "N");
$arParams["AUTOSAVE"] = CForumAutosave::GetInstance();
/***************** STANDART ****************************************/
if ($arParams["CACHE_TYPE"] == "Y" || ($arParams["CACHE_TYPE"] == "A" && COption::GetOptionString("main", "component_cache_on", "Y") == "Y"))
$arParams["CACHE_TIME"] = intval($arParams["CACHE_TIME"]);
else
$arParams["CACHE_TIME"] = 0;
/********************************************************************
/Input params
********************************************************************/
/********************************************************************
Default params # 1
********************************************************************/
$arResult["TOPIC"] = array();
$arResult["TOPIC_FILTER"] = array();
$arResult["FORUM"] = CForumNew::GetByID($arParams["FID"]);
$arParams["PERMISSION_ORIGINAL"] = $arParams["PERMISSION"] = ForumCurrUserPermissions($arParams["FID"]);
$arResult["SHOW_SEARCH"] = (IsModuleInstalled("search") ? "Y" : "N");
$arResult["IS_AUTHORIZED"] = ($USER->IsAuthorized() ? "Y" : "N");
$arResult["ERROR_MESSAGE"] = trim($arParams["ERROR_MESSAGE"]);
$arError = array();
$arNote = array();
/********************************************************************
/Default params #1
********************************************************************/
/********************************************************************
Main Data & Permissions
********************************************************************/
$bCurrentUserIsAdmin = CSocNetUser::IsCurrentUserModuleAdmin();
if (empty($arResult["FORUM"])):
ShowError(GetMessage("F_FID_IS_LOST"));
return false;
elseif (($arParams["MODE"] == "GROUP" && !CSocNetFeatures::IsActiveFeature(SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "forum")) ||
($arParams["MODE"] != "GROUP" && !CSocNetFeatures::IsActiveFeature(SONET_ENTITY_USER, $arParams["USER_ID"], "forum"))):
ShowError(GetMessage("FORUM_SONET_MODULE_NOT_AVAIBLE"));
return false;
elseif ($arParams["PERMISSION_ORIGINAL"] < "Y"):
$arParams["PERMISSION"] = "A";
$user_id = $USER->GetID();
if ($arParams["MODE"] == "GROUP")
{
if (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "forum", "full", $bCurrentUserIsAdmin))
$arParams["PERMISSION"] = "Y";
elseif (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "forum", "newtopic", $bCurrentUserIsAdmin))
$arParams["PERMISSION"] = "M";
elseif (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "forum", "answer", $bCurrentUserIsAdmin))
$arParams["PERMISSION"] = "I";
elseif (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "forum", "view", $bCurrentUserIsAdmin))
$arParams["PERMISSION"] = "E";
}
else
{
if (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_USER, $arParams["USER_ID"], "forum", "full", $bCurrentUserIsAdmin))
$arParams["PERMISSION"] = "Y";
elseif (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_USER, $arParams["USER_ID"], "forum", "newtopic", $bCurrentUserIsAdmin))
$arParams["PERMISSION"] = "M";
elseif (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_USER, $arParams["USER_ID"], "forum", "answer", $bCurrentUserIsAdmin))
$arParams["PERMISSION"] = "I";
elseif (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_USER, $arParams["USER_ID"], "forum", "view", $bCurrentUserIsAdmin))
$arParams["PERMISSION"] = "E";
}
if ("E" <= $arParams["PERMISSION_ORIGINAL"] && $arParams["PERMISSION"] < $arParams["PERMISSION_ORIGINAL"])
{
$arParams["PERMISSION"] = $arParams["PERMISSION_ORIGINAL"];
}
endif;
/************** Message / Topic ************************************/
if ($arParams["MESSAGE_TYPE"] == "EDIT")
{
$res = CForumMessage::GetByIDEx($arParams["MID"], array("GET_TOPIC_INFO" => "Y"));
if (!is_array($res) || empty($res)) {
$arError[] = array(
"id" => "mid_is_lost",
"text" => GetMessage("F_MID_IS_LOST"));
} elseif ($arParams["MODE"] != "GROUP" && $res["FORUM_ID"] != $arParams["FID"]) {
$arError[] = array(
"id" => "mid_is_lost",
"text" => GetMessage("F_MID_IS_LOST_IN_FORUM"));
} elseif (
($arParams["MODE"] == "GROUP" && $res["TOPIC_INFO"]["SOCNET_GROUP_ID"] == $arParams["SOCNET_GROUP_ID"])
||
($arParams["MODE"] != "GROUP" && $res["TOPIC_INFO"]["OWNER_ID"] == $arParams["USER_ID"])
)
{
$arResult["MESSAGE"] = $res;
$arParams["TID"] = $res["TOPIC_INFO"]["ID"];
$arResult["TOPIC"] = $res["TOPIC_INFO"];
$arResult["TOPIC_FILTER"] = CForumTopic::GetByID($res["TOPIC_ID"]);
} else {
$arError[] = array(
"id" => "mid_is_lost",
"text" => str_replace("#SOCNET_OBJECT#", ($arParams["MODE"] == "GROUP" ?
GetMessage("F_GROUPS") : GetMessage("F_USERS")), GetMessage("F_MID_IS_LOST_IN_OBJECT")));
}
}
/************** Topic **********************************************/
elseif ($arParams["MESSAGE_TYPE"] == "REPLY")
{
$arFilter = array(
"ID" => $arParams["TID"],
"SOCNET_GROUP_ID" => false);
if ($arParams["MODE"] == "GROUP"):
$arFilter["SOCNET_GROUP_ID"] = $arParams["SOCNET_GROUP_ID"];
else:
$arFilter["FORUM_ID"] = $arParams["FID"];
$arFilter["OWNER_ID"] = $arParams["USER_ID"];
endif;
$db_res = CForumTopic::GetList(array(), $arFilter);
if (!($db_res && $res = $db_res->GetNext())):
$res = CForumTopic::GetByID($arParams["TID"]);
if (empty($res) || !is_array($res)):
$arError[] = array(
"id" => "topic is not found",
"text" => GetMessage("F_TID_IS_LOST"));
elseif ($arParams["MODE"] == "GROUP" && $res["SOCNET_GROUP_ID"] != $arParams["SOCNET_GROUP_ID"] ||
$arParams["MODE"] != "GROUP" && $res["OWNER_ID"] != $arParams["USER_ID"]):
$arError[] = array(
"id" => "not correct socnet_object",
"text" => str_replace("#SOCNET_OBJECT#", ($arParams["MODE"] == "GROUP" ?
GetMessage("F_GROUPS") : GetMessage("F_USERS")), GetMessage("F_TID_IS_LOST_IN_OBJECT")));
elseif ($arParams["MODE"] != "GROUP" && $res["FORUM_ID"] != $arParams["FID"]):
$arError[] = array(
"id" => "not correct forum_id",
"text" => GetMessage("F_TID_IS_LOST_IN_FORUM"));
endif;
elseif ($res["STATE"] == "L"):
$arError[] = array(
"id" => "topic is topic-link",
"text" => GetMessage("F_TID_IS_LINK"));
elseif ($res["APPROVED"] != "Y" && $arParams["PERMISSION"] < "Q"):
$arError[] = array(
"id" => "topic is not approved",
"text" => GetMessage("F_TID_IS_NOT_APPROVED"));
else:
$arResult["TOPIC"] = $res;
endif;
}
/************** Permission *****************************************/
if (empty($arError))
{
if ($arParams["MESSAGE_TYPE"] == "NEW" &&
!CForumTopic::CanUserAddTopic($arParams["FID"], $USER->GetUserGroupArray(), $USER->GetID(), $arResult["FORUM"], $arParams["PERMISSION"])):
$arError[] = array(
"id" => "user cannot add topic",
"text" => GetMessage("F_NO_NPERMS"));
elseif ($arParams["MESSAGE_TYPE"] == "EDIT" &&
!CForumMessage::CanUserUpdateMessage($arParams["MID"], $USER->GetUserGroupArray(), $USER->GetID(), $arParams["PERMISSION"])):
$arError[] = array(
"id" => "user cannot edit message",
"text" => GetMessage("F_NO_EPERMS"));
elseif ($arParams["MESSAGE_TYPE"] == "REPLY" &&
!CForumMessage::CanUserAddMessage($arParams["TID"], $USER->GetUserGroupArray(), $USER->GetID(), $arParams["PERMISSION"])):
return false;
endif;
}
if (!empty($arError))
{
$e = new CAdminException($arError);
$res = $e->GetString();
ShowError($res);
return false;
}
/********************************************************************
/Main Data & Permissions
********************************************************************/
/********************************************************************
Data
********************************************************************/
$_REQUEST["FILES"] = is_array($_REQUEST["FILES"]) ? $_REQUEST["FILES"] : array();
$_REQUEST["FILES_TO_UPLOAD"] = is_array($_REQUEST["FILES_TO_UPLOAD"]) ? $_REQUEST["FILES_TO_UPLOAD"] : array();
$arParams["USER_FIELDS"] = (is_array($arParams["USER_FIELDS"]) ? $arParams["USER_FIELDS"] : ($arParams["USER_FIELDS"] ? array($arParams["USER_FIELDS"]) : array()));
if(IsModuleInstalled("webdav") || IsModuleInstalled("disk"))
$arParams["USER_FIELDS"][] = "UF_FORUM_MESSAGE_DOC";
$arResult["~USER_FIELDS"] = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("FORUM_MESSAGE", $arParams["MID"], LANGUAGE_ID);
foreach ($arResult["~USER_FIELDS"] as $key => $val) { if ($val["MANDATORY"] == "Y") { $arParams["USER_FIELDS"][] = $key; } }
$arResult["USER_FIELDS"] = array_intersect_key($arResult["~USER_FIELDS"], array_flip($arParams["USER_FIELDS"]));
//************* Message ********************************************/
$arResult["DATA"] = array(
"USE_SMILES" => "Y",
"AUTHOR_ID" => $USER->GetID(),
"AUTHOR_NAME" => $GLOBALS["FORUM_STATUS_NAME"]["guest"],
"AUTHOR_EMAIL" => "",
"TITLE" => "",
"TAGS" => "",
"DESCRIPTION" => "",
"POST_MESSAGE" => "",
"ICON_ID" => "",
"ATTACH_IMG" => "",
"ATTACH_IMG_FILE" => false,
"CAPTCHA_CODE" => "",
"EDITOR_NAME" => $GLOBALS["FORUM_STATUS_NAME"]["guest"],
"EDITOR_EMAIL" => "quest@guest.com",
"EDIT_REASON" => "",
"FILES" => array(),
"PROPS" => $arResult["USER_FIELDS"]
);
$arResult["DATA"]["PROPS"] = (is_array($arResult["DATA"]["PROPS"]) ? $arResult["DATA"]["PROPS"] : array());
$arResult["QUESTIONS"] = array();
$arResult["~QUESTIONS"] = array();
$arResult['DATE_END'] = GetTime((time() + 30*86400));
if ($arParams["SHOW_VOTE"] == "Y")
{
CModule::IncludeModule("vote");
$arParams["SHOW_VOTE"] = ( ($arParams["PERMISSION"] == "A") ? "N" : $arParams["SHOW_VOTE"]);
}
if ($arParams["MESSAGE_TYPE"] == "EDIT")
{
$arResult["DATA"]["AUTHOR_NAME"] = $arResult["MESSAGE"]["AUTHOR_NAME"];
$arResult["DATA"]["AUTHOR_EMAIL"] = $arResult["MESSAGE"]["AUTHOR_EMAIL"];
$arResult["DATA"]["TITLE"] = $arResult["TOPIC"]["TITLE"];
$arResult["DATA"]["TAGS"] = $arResult["TOPIC"]["TAGS"];
$arResult["DATA"]["DESCRIPTION"] = $arResult["TOPIC"]["DESCRIPTION"];
$arResult["DATA"]["POST_MESSAGE"] = $arResult["MESSAGE"]["POST_MESSAGE"];
$arResult["DATA"]["ICON_ID"] = $arResult["TOPIC"]["ICON_ID"];
$arResult["DATA"]["USE_SMILES"] = ($arResult["MESSAGE"]["USE_SMILES"]=="Y") ? "Y" : "N";
$arResult["DATA"]["AUTHOR_ID"] = $arResult["MESSAGE"]["AUTHOR_ID"];
$arResult["DATA"]["ATTACH_IMG"] = $arResult["MESSAGE"]["ATTACH_IMG"];
$arResult["DATA"]["EDITOR_NAME"] = $arResult["MESSAGE"]["EDITOR_NAME"];
$arResult["DATA"]["EDITOR_EMAIL"] = $arResult["MESSAGE"]["EDITOR_EMAIL"];
$arResult["DATA"]["EDIT_REASON"] = $arResult["MESSAGE"]["EDIT_REASON"];
$db_res = CForumFiles::GetList(array(), array("MESSAGE_ID" => $arParams["MID"]));
if ($db_res && $res = $db_res->Fetch())
{
do
{
$arResult["DATA"]["FILES"][$res["FILE_ID"]] = $res;
} while ($res = $db_res->Fetch());
}
if ($arParams["SHOW_VOTE"] == "Y" && $arResult["MESSAGE"]["PARAM1"] == "VT" && intVal($arResult["MESSAGE"]["PARAM2"]) > 0)
{
$db_vote = CVote::GetByID(intVal($unreadedMessages["PARAM2"]));
if ($db_vote && $arVote = $db_vote->GetNext())
$arResult['DATE_END'] = $arVote['DATE_END'];
$db_res = CVoteQuestion::GetListEx(
array("ID" => "ASC"),
array("CHANNEL_ID" => $arParams["VOTE_CHANNEL_ID"], "VOTE_ID" => $arResult['MESSAGE']["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" => $arResult["MESSAGE"]["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):
$arResult["~QUESTIONS"][$res["QUESTION_ID"]]["MULTI"] = "Y";
endif;
endif;
} while ($res = $db_res->Fetch());
}
}
$arResult["QUESTIONS"] = $arResult["~QUESTIONS"];
}
}
if ($arParams["bVarsFromForm"] == "Y")
{
foreach ($arResult["DATA"] as $key => $val)
if ($key != "PROPS")
$arResult["DATA"][$key] = $_REQUEST[$key];
$arResult["DATA"]["USE_SMILES"] = ($_REQUEST["USE_SMILES"] == "N" ? "N" : "Y");
$arResult["DATA"]["AUTHOR_ID"] = $USER->GetID();
$arResult["DATA"]["FILES"] = array();
foreach ($_REQUEST["FILES"] as $key => $val){
if (intval($val) > 0) {
$arResult["DATA"]["FILES"][$val] = $val; }
}
$arResult["QUESTIONS"] = array();
$_REQUEST["QUESTION"] = (is_array($_REQUEST["QUESTION"]) ? $_REQUEST["QUESTION"] : array());
$_REQUEST["ANSWER"] = (is_array($_REQUEST["ANSWER"]) ? $_REQUEST["ANSWER"] : array());
foreach ($_REQUEST["QUESTION"] as $key => $val) {
$res = array(
"ID" => intval($_REQUEST["QUESTION_ID"][$key]),
"QUESTION" => trim($val),
"MULTI" => ($_REQUEST["MULTI"][$key] == "Y" ? "Y" : "N"),
"DEL" => ($_REQUEST["QUESTION_DEL"][$key] == "Y" ? "Y" : "N"),
"ANSWERS" => array());
if ($res["ID"] > 0 && !is_set($arResult["~QUESTIONS"], $res["ID"]))
$res["ID"] = false;
if (!$res["ID"] && $res["DEL"] == "Y")
continue;
if (is_array($_REQUEST["ANSWER"][$key])) {
foreach ($_REQUEST["ANSWER"][$key] as $keya => $vala) {
$resa = array(
"ID" => intval($_REQUEST["ANSWER_ID"][$key][$keya]),
"MESSAGE" => trim($vala),
"DEL" => $_REQUEST["ANSWER_DEL"][$key][$keya] == "Y" ? "Y" : "N");
if ($resa["ID"] > 0 && !is_set($arResult["~QUESTIONS"][$res["ID"]]["ANSWERS"], $resa["ID"]))
$resa["ID"] = false;
if (!$resa["ID"] && ($resa["DEL"] == "Y" || empty($resa["MESSAGE"])))
continue;
$res["ANSWERS"][] = $resa;
}
}
if (empty($res["ANSWERS"]) && empty($res["QUESTION"]) && empty($res["ID"]))
continue;
$arResult["QUESTIONS"][] = $res;
}
}
//************* Page info ******************************************/
$arResult["INFO"] = array(
"HEADER" => ($arParams["MESSAGE_TYPE"] == "NEW" ? GetMessage("FPF_CREATE") : GetMessage("FPF_EDIT")),
"SUBMIT" => ($arParams["MESSAGE_TYPE"] == "NEW" ? GetMessage("FPF_SEND") : GetMessage("FPF_EDIT")),
"ICONS_LIST" => "",
"SMILES_LIST" => "");
if ($arParams["MESSAGE_TYPE"]=="REPLY")
{
$arResult["INFO"]["HEADER"] = GetMessage("FPF_REPLY");
$arResult["INFO"]["SUBMIT"] = GetMessage("FPF_REPLY");
}
//************* Panels *********************************************/
$arResult["SHOW_PANEL"] = array(
"GUEST" => (($arParams["MESSAGE_TYPE"] != "EDIT" && !$USER->IsAuthorized() ||
$arParams["MESSAGE_TYPE"]=="EDIT" && $arResult["DATA"]["AUTHOR_ID"] <= 0) ? "Y" : "N"),
"TOPIC" => ($arParams["MESSAGE_TYPE"]=="NEW" || ($arParams["MESSAGE_TYPE"] == "EDIT" && $arResult["MESSAGE"]["NEW_TOPIC"] == "Y" &&
CForumTopic::CanUserUpdateTopic($arParams["TID"], $USER->GetUserGroupArray(), $USER->GetID(), $arParams["PERMISSION"])) ? "Y" : "N"),
"SUBSCRIBE" => "N",
"ATTACH" => (in_array($arResult["FORUM"]["ALLOW_UPLOAD"], array("Y", "F", "A")) ? "Y" : "N"),
"CAPTCHA" => ((!$USER->IsAuthorized() && $arResult["FORUM"]["USE_CAPTCHA"]=="Y") ? "Y" : "N"),
"CLOSE_ALL" => (($arResult["FORUM"]["ALLOW_BIU"] == "Y" || $arResult["FORUM"]["ALLOW_FONT"] == "Y" || $arResult["FORUM"]["ALLOW_ANCHOR"] == "Y" || $arResult["FORUM"]["ALLOW_IMG"] == "Y" ||
$arResult["FORUM"]["ALLOW_QUOTE"] == "Y" || $arResult["FORUM"]["ALLOW_CODE"] == "Y" || $arResult["FORUM"]["ALLOW_LIST"] == "Y") ? "Y" : "N"),
"TRANSLIT" => (LANGUAGE_ID == "ru" ? "Y" : "N"),
"EDIT_INFO" => ($arParams["MESSAGE_TYPE"] == "EDIT" ? "Y" : "N"),
"EDIT_INFO_FOR_GUEST" => (!$USER->IsAuthorized() ? "Y" : "N"),
"EDIT_INFO_ASK" => ($USER->IsAdmin() ? "Y" : "N"),
"TAGS" => "Y",
"VOTE" => ((
$arParams["SHOW_VOTE"] == "Y" &&
($arParams["MESSAGE_TYPE"]=="NEW" || $arParams["MESSAGE_TYPE"]=="EDIT" &&
CForumTopic::CanUserUpdateTopic($arParams["TID"], $USER->GetUserGroupArray(), $USER->GetID(), $arParams["PERMISSION"]))
) ? "Y" : "N")
);
if ($arResult["SHOW_PANEL"]["GUEST"] == "Y")
{
$arResult["DATA"]["AUTHOR_NAME"] = (!empty($arResult["DATA"]["AUTHOR_NAME"]) ? $arResult["DATA"]["AUTHOR_NAME"] : GetMessage("FPF_GUEST"));
}
if ($arResult["SHOW_PANEL"]["TOPIC"] == "Y") {
$arResult["ICONS_LIST"] = ForumPrintIconsList(7, $arResult["DATA"]["ICON_ID"]);
}
if ($arResult["FORUM"]["ALLOW_SMILES"] == "Y")
{
$arResult["SMILES_LIST"] = ForumPrintSmilesList(3, LANGUAGE_ID);
$arResult["SMILES"] = CForumSmile::GetByType("S", LANGUAGE_ID);
}
$arResult["SHOW_SUBSCRIBE"] = "N";
if ($arResult["SHOW_PANEL"]["ATTACH"] == "Y")
{
foreach ($arResult["DATA"]["FILES"] as $key => $val) {
if (intval($val) > 0)
$arResult["DATA"]["FILES"][$key] = CFile::GetFileArray($key);
}
/************** For custom component *******************************/
/* $arResult["DATA"]["ATTACH_IMG_FILE"] = false;
if (strlen($arResult["DATA"]["ATTACH_IMG"]) > 0)
{
$arResult["DATA"]["ATTACH_IMG_FILE"] = $arResult["MESSAGE"]["FILES"][$arResult["MESSAGE"]["ATTACH_IMG"]];
if ($arResult["DATA"]["ATTACH_IMG_FILE"])
$arResult["DATA"]["ATTACH_IMG"] = CFile::ShowImage($arResult["MESSAGE"]["ATTACH_IMG_FILE"], 200, 200, "border=0");
}*/
/************** For custom component/*******************************/
}
if ($arResult["SHOW_PANEL"]["CAPTCHA"] == "Y")
{
include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php");
$cpt = new CCaptcha();
$captchaPass = COption::GetOptionString("main", "captcha_password", "");
if (strlen($captchaPass) <= 0)
{
$captchaPass = randString(10);
COption::SetOptionString("main", "captcha_password", $captchaPass);
}
$cpt->SetCodeCrypt($captchaPass);
$arResult["DATA"]["CAPTCHA_CODE"] = $cpt->GetCodeCrypt();
}
//************* Paths **********************************************/
$arResult["URL"] = array(
"LIST" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_TOPIC_LIST"], array("FID" => $arParams["FID"],
"TID" => $arParams["TID"], "UID" => $arParams["USER_ID"], "GID" => $arParams["SOCNET_GROUP_ID"])),
"READ" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_MESSAGE"], array("FID" => $arParams["FID"],
"TID" => $arParams["TID"], "UID" => $arParams["USER_ID"], "GID" => $arParams["SOCNET_GROUP_ID"],
"MID"=>((intVal($arParams["MID"]) > 0) ? intVal($arParams["MID"]) : "s"))));
/************** Submit *********************************************/
$arResult["SUBMIT"] = $arResult["INFO"]["SUBMIT"];
/********************************************************************
/Data
********************************************************************/
foreach ($arResult["DATA"] as $key => $val):
$arResult["DATA"]["~".$key] = $val;
$arResult["DATA"][$key] = htmlspecialcharsEx($val);
endforeach;
$this->IncludeComponentTemplate();
?>
Zerion Mini Shell 1.0