%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/components/bitrix/socialnetwork_user/include/ |
| Current File : /home/bitrix/www/bitrix/components/bitrix/socialnetwork_user/include/forum.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$UID = ($arResult["VARIABLES"]["user_id"] > 0 ? $arResult["VARIABLES"]["user_id"] : $GLOBALS["USER"]->GetID());
foreach ($arDefaultUrlTemplates404 as $url => $value)
{
if (strPos($url, "user_forum") === false && strPos($url, "group_forum") === false)
continue;
$arResult["~PATH_TO_".strToUpper($url)] = str_replace(
array(
"#user_id#",
"#group_id#",
"#topic_id#",
"#message_id#",
"#action#"),
array(
$UID,
$arResult["VARIABLES"]["group_id"],
"#TID#",
"#MID#",
"#ACTION#"),
$arResult["PATH_TO_".strToUpper($url)]);
}
$arResult["~PATH_TO_USER"] = str_replace("#user_id#", "#UID#", (empty($arResult["PATH_TO_USER"]) ? $arParams["PATH_TO_USER"] : $arResult["PATH_TO_USER"]));
$arResult["~PATH_TO_GROUP"] = str_replace("#group_id#", "#GID#", $arResult["PATH_TO_GROUP"]);
if ($componentPage == "user_forum_message")
$componentPage = "user_forum_topic";
elseif ($componentPage == "user_forum_message_edit")
$componentPage = "user_forum_topic";
elseif ($componentPage == "group_forum_message")
$componentPage = "group_forum_topic";
elseif ($componentPage == "group_forum_message_edit")
$componentPage = "group_forum_topic";
/********************************************************************
Input params
********************************************************************/
/***************** BASE ********************************************/
$arParams["FID"] = intVal($arParams["FORUM_ID"]);
/* $arParams["TID"] = intVal($arParams["TID"]);
$arParams["MID"] = intVal($arParams["MID"]);
$arParams["PAGE_NAME"] = trim($arParams["PAGE_NAME"]);
$arParams["MESSAGE_TYPE"] = strToUpper($arParams["MESSAGE_TYPE"]);
$arParams["bVarsFromForm"] = ($arParams["bVarsFromForm"] == "Y" || $arParams["bVarsFromForm"] === true ? "Y" : "N");
*/
$arParams["USE_DESC_PAGE"] = ($arParams["USE_DESC_PAGE"] == "N" ? "N" : "Y");
$arParams["SOCNET_GROUP_ID"] = intVal($arParams["SOCNET_GROUP_ID"]);
$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&FID=#FID#",
"topic" => "PAGE_NAME=topic&FID=#FID#&TID=#TID#",
"topic_edit" => "PAGE_NAME=topic_edit&FID=#FID#&TID=#TID#&MID=#MID#&MESSAGE_TYPE=#MESSAGE_TYPE#",
"message" => "PAGE_NAME=message&FID=#FID#&TID=#TID#&MID=#MID#",
"group" => "PAGE_NAME=group&GID=#GID#",
"user" => "PAGE_NAME=user&UID=#UID#");
*/
/***************** ADDITIONAL **************************************/
$arParams["PAGEN"] = intVal($GLOBALS["NavNum"] + 1);
//$arParams["PAGE_NAVIGATION_TEMPLATE"] = trim($arParams["PAGE_NAVIGATION_TEMPLATE"]);
$arParams["PAGE_NAVIGATION_TEMPLATE"] = "forum";
$arParams["PAGE_NAVIGATION_WINDOW"] = 5;
$arParams["PAGE_NAVIGATION_SHOW_ALL"] = "N";
$arParams["TOPICS_PER_PAGE"] = intVal($arParams["TOPICS_PER_PAGE"] > 0 ? $arParams["TOPICS_PER_PAGE"] : COption::GetOptionString("forum", "TOPICS_PER_PAGE", "10"));
$arParams["MESSAGES_PER_PAGE"] = intVal($arParams["MESSAGES_PER_PAGE"] > 0 ? $arParams["MESSAGES_PER_PAGE"] : COption::GetOptionString("forum", "MESSAGES_PER_PAGE", "10"));
$arParams["~DATE_TIME_FORMAT"] = trim($arParams["DATE_TIME_FORMAT"]);
$arParams["DATE_TIME_FORMAT"] = (empty($arParams["DATE_TIME_FORMAT"]) ? $DB->DateFormatToPHP(CSite::GetDateFormat("FULL")) : $arParams["DATE_TIME_FORMAT"]);
if (empty($arParams["DATE_FORMAT"]) && !empty($arParams["~DATE_TIME_FORMAT"])) {
$res = CComponentUtil::GetDateFormatField();
foreach($res["VALUES"] as $date => $k) {
if (substr_compare($date, $arParams["~DATE_TIME_FORMAT"], 0, strlen($date), true) == 0) {
$arParams["DATE_FORMAT"] = $date;
break;
}
}
}
$arParams["DATE_FORMAT"] = trim(empty($arParams["DATE_FORMAT"]) ? $DB->DateFormatToPHP(CSite::GetDateFormat("SHORT")) : $arParams["DATE_FORMAT"]);
$arParams["WORD_LENGTH"] = intVal($arParams["WORD_LENGTH"]);
$arParams["IMAGE_SIZE"] = (intVal($arParams["IMAGE_SIZE"]) > 0 ? $arParams["IMAGE_SIZE"] : 300);
$arParams["AJAX_TYPE"] = ($arParams["AJAX_TYPE"] == "Y" ? "Y" : "N");
$arParams["AJAX_CALL"] = (($_REQUEST["AJAX_CALL"] == "Y" && $arParams["AJAX_TYPE"] == "Y") ? "Y" : "N");
$arParams["FORUM_AJAX_POST"] = ($arParams["AJAX_CALL"] == "Y" ? "N" : "Y");
/***************** 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;
$arParams["SET_TITLE"] = ($arParams["SET_TITLE"] == "N" ? "N" : "Y");
/***************** TEMPATES ****************************************/
/* $arParams["SHOW_TAGS"] = "N";
$arParams["FILES_COUNT"] = "N";
$arParams["SMILES_COUNT"] = "N";
*/
/********************************************************************
/Input params
********************************************************************/
if (strPos($componentPage, "user_forum") === false && strPos($componentPage, "group_forum") === false)
return 1;
/************** CSS ************************************************/
$GLOBALS['APPLICATION']->SetAdditionalCSS('/bitrix/components/bitrix/forum/templates/.default/style.css');
$GLOBALS['APPLICATION']->SetAdditionalCSS('/bitrix/components/bitrix/forum/templates/.default/styles/additional.css');
$arThemes = array();
$sTemplateDirFull = preg_replace("'[\\\\/]+'", "/", $_SERVER['DOCUMENT_ROOT']."/bitrix/components/bitrix/forum/templates/.default/themes/");
$dir = $sTemplateDirFull;
if (is_dir($dir) && $directory = opendir($dir)):
while (($file = readdir($directory)) !== false)
{
if ($file != "." && $file != ".." && is_dir($dir.$file))
$arThemes[] = $file;
}
closedir($directory);
endif;
$arParams["FORUM_THEME"] = trim($arParams["FORUM_THEME"]);
$sPathTheme = str_replace(array("\\", "//"), "/", $_SERVER['DOCUMENT_ROOT']."/".$arParams["FORUM_THEME"]."/");
if (in_array($arParams["FORUM_THEME"], $arThemes)):
//
elseif (is_file($sPathTheme."style.css")):
$arParams["FORUM_THEME"] = $sPathTheme;
else:
$arParams["FORUM_THEME"] = (in_array("white", $arThemes) ? "white" : $arThemes[0]);
endif;
/********************************************************************
/Input params
********************************************************************/
if (in_array($arParams["FORUM_THEME"], $arThemes)):
$GLOBALS['APPLICATION']->SetAdditionalCSS("/bitrix/components/bitrix/forum/templates/.default/themes/".$arParams["FORUM_THEME"]."/style.css");
else:
$GLOBALS['APPLICATION']->SetAdditionalCSS($arParams["FORUM_THEME"]."/style.css");
endif;
/************** Page navigation ************************************/
$feature = "forum";
$arEntityActiveFeatures = CSocNetFeatures::GetActiveFeaturesNames(((strpos($componentPage, "user_forum") === false) ? SONET_ENTITY_GROUP : SONET_ENTITY_USER), ((strpos($componentPage, "user_forum") === false) ? $arResult["VARIABLES"]["group_id"] : $arResult["VARIABLES"]["user_id"]));
$strFeatureTitle = ((array_key_exists($feature, $arEntityActiveFeatures) && StrLen($arEntityActiveFeatures[$feature]) > 0) ? $arEntityActiveFeatures[$feature] : (strpos($componentPage, "user_forum") === false ? GetMessage("FL_FORUM_GROUP_CHAIN") : GetMessage("FL_FORUM_USER_CHAIN")));
$title = $strFeatureTitle;
$url = "";
if (strpos($componentPage, "user_forum") === false)
{
$arGroup = CSocNetGroup::GetByID($arResult["VARIABLES"]["group_id"]);
$APPLICATION->AddChainItem($arGroup["NAME"], CComponentEngine::MakePathFromTemplate($arResult["~PATH_TO_GROUP"], array("GID" => $arGroup["ID"])));
$title_short = $title;
$title = $arGroup["NAME"].": ".$title;
$url = CComponentEngine::MakePathFromTemplate($arResult["~PATH_TO_GROUP_FORUM"], array("GID" => $arGroup["ID"]));
}
else
{
$dbUser = CUser::GetByID($arResult["VARIABLES"]["user_id"]);
$arUser = $dbUser->Fetch();
if (strlen($arParams["NAME_TEMPLATE"]) <= 0)
$arParams["NAME_TEMPLATE"] = CSite::GetNameFormat();
$arParams["TITLE_NAME_TEMPLATE"] = str_replace(
array("#NOBR#", "#/NOBR#"),
array("", ""),
$arParams["NAME_TEMPLATE"]
);
$bUseLogin = $arParams['SHOW_LOGIN'] != "N" ? true : false;
$strTitleFormatted = CUser::FormatName($arParams['TITLE_NAME_TEMPLATE'], $arUser, $bUseLogin);
// $arUserName = trim($arUser["NAME"]." ".$arUser["LAST_NAME"]);
// $arUserName = empty($arUserName) ? $arUser["LOGIN"] : $arUserName;
$APPLICATION->AddChainItem($strTitleFormatted, CComponentEngine::MakePathFromTemplate($arResult["~PATH_TO_USER"], array("UID" => $arUser["ID"])));
$title_short = $title;
$title = $strTitleFormatted.": ".$title;
$url = CComponentEngine::MakePathFromTemplate($arResult["~PATH_TO_USER_FORUM"], array("UID" => $arUser["ID"]));
}
$APPLICATION->AddChainItem($strFeatureTitle, $url);
if ($arParams["SET_TITLE"] != "N")
{
if ($arParams["HIDE_OWNER_IN_TITLE"] == "Y")
{
$APPLICATION->SetPageProperty("title", $title);
$APPLICATION->SetTitle($title_short);
}
else
{
$APPLICATION->SetTitle($title);
}
}
return 1;
?>