Your IP : 3.145.64.2


Current Path : /home/bitrix/ext_www/shuft.com.ua/bitrix/components/bitrix/socialnetwork.blog.menu/
Upload File :
Current File : /home/bitrix/ext_www/shuft.com.ua/bitrix/components/bitrix/socialnetwork.blog.menu/component.php

<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

if (!CModule::IncludeModule("blog"))
{
	ShowError(GetMessage("BLOG_MODULE_NOT_INSTALL"));
	return;
}
if (!CModule::IncludeModule("socialnetwork"))
{
	ShowError(GetMessage("SONET_MODULE_NOT_INSTALL"));
	return;
}

if(strLen($arParams["BLOG_VAR"])<=0)
	$arParams["BLOG_VAR"] = "blog";
if(strLen($arParams["PAGE_VAR"])<=0)
	$arParams["PAGE_VAR"] = "page";
if(strLen($arParams["POST_VAR"])<=0)
	$arParams["POST_VAR"] = "id";
if(strLen($arParams["USER_VAR"])<=0)
	$arParams["USER_VAR"] = "id";

$arParams["PATH_TO_DRAFT"] = trim($arParams["PATH_TO_DRAFT"]);
if(strlen($arParams["PATH_TO_DRAFT"])<=0)
	$arParams["PATH_TO_DRAFT"] = htmlspecialcharsbx($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=draft&".$arParams["BLOG_VAR"]."=#blog#");
	
$arParams["PATH_TO_POST_EDIT"] = trim($arParams["PATH_TO_POST_EDIT"]);
if(strlen($arParams["PATH_TO_POST_EDIT"])<=0)
	$arParams["PATH_TO_POST_EDIT"] = htmlspecialcharsbx($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=post_edit&".$arParams["BLOG_VAR"]."=#blog#&".$arParams["POST_VAR"]."=#post_id#");
	
$arParams["PATH_TO_MODERATION"] = trim($arParams["PATH_TO_MODERATION"]);
if(strlen($arParams["PATH_TO_MODERATION"])<=0)
	$arParams["PATH_TO_MODERATION"] = htmlspecialcharsbx($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=moderation&".$arParams["BLOG_VAR"]."=#blog#");

$arParams["USER_ID"] = IntVal($arParams["USER_ID"]);

$user_id = IntVal($USER->GetID());
$arParams["SOCNET_GROUP_ID"] = IntVal($arParams["SOCNET_GROUP_ID"]);

$bGroupMode = false;
if(IntVal($arParams["SOCNET_GROUP_ID"]) > 0)
	$bGroupMode = true;
if(!is_array($arParams["GROUP_ID"]))
	$arParams["GROUP_ID"] = array($arParams["GROUP_ID"]);
foreach($arParams["GROUP_ID"] as $k=>$v)
	if(IntVal($v) <= 0)
		unset($arParams["GROUP_ID"][$k]);

$bCurrentUserIsAdmin = CSocNetUser::IsCurrentUserModuleAdmin();
$arResult["PostPerm"] = BLOG_PERMS_DENY;

if($arParams["SET_TITLE"] != "N")
	$APPLICATION->SetTitle(GetMessage("BM_BLOG_POST"));
if(IntVal($arParams["USER_ID"]) > 0)
{
	$dbUser = CUser::GetByID($arParams["USER_ID"]);
	$arUser = $dbUser->Fetch();
	if(!empty($arUser))
	{
		if(CSocNetFeatures::IsActiveFeature(SONET_ENTITY_USER, $arParams["USER_ID"], "blog"))
		{
			if ($arParams["SET_TITLE"] != "N")
			{
				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);	

				if($arParams["USER_ID"] == $user_id)
				{
					$APPLICATION->SetTitle(GetMessage("BM_BLOG_POST"));
				}
				else
				{
					if ($arParams["HIDE_OWNER_IN_TITLE"] == "Y")
					{
						$APPLICATION->SetPageProperty("title", $strTitleFormatted.": ".GetMessage("BM_BLOG_POST"));
						$APPLICATION->SetTitle(GetMessage("BM_BLOG_POST"));
					}
					else
					{
						$APPLICATION->SetTitle($strTitleFormatted.": ".GetMessage("BM_BLOG_POST"));
					}
				}
			}
		}
	}
}

if(!($bGroupMode || ($user_id > 0 && IntVal($arParams["USER_ID"]) == $user_id)))
	return;

if($bGroupMode)
{
	$arGroup = CSocNetGroup::GetByID($arParams["SOCNET_GROUP_ID"]);
	if(!empty($arGroup))
	{
		if($bGroupMode && CSocNetFeatures::IsActiveFeature(SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog"))
		{
			if (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog", "full_post", $bCurrentUserIsAdmin) || $APPLICATION->GetGroupRight("blog") >= "W")
				$arResult["PostPerm"] = BLOG_PERMS_FULL;
			elseif (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog", "moderate_post", $bCurrentUserIsAdmin))
				$arResult["PostPerm"] = BLOG_PERMS_MODERATE;

			if ($arParams["SET_TITLE"] != "N")
				$APPLICATION->SetTitle(GetMessage("BM_BLOG_POST"));
			$arResult["PATH_TO_4ME_ALL"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("user_id" => $arParams["USER_ID"], "group_id" => $arParams["SOCNET_GROUP_ID"]));
		}
	}
}
elseif(IntVal($arParams["USER_ID"]) > 0)
{
	if(!empty($arUser))
	{
		if(CSocNetFeatures::IsActiveFeature(SONET_ENTITY_USER, $arParams["USER_ID"], "blog"))
		{
			$arResult["showAll"] = "Y";
			$arResult["PostPerm"] = BLOG_PERMS_FULL;

			$arResult["PATH_TO_4ME_ALL"] = $arResult["PATH_TO_4ME"] = $arResult["PATH_TO_MINE"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("user_id" => $arParams["USER_ID"]));
			if(strpos($arResult["PATH_TO_4ME"], "?") === false)
				$arResult["PATH_TO_4ME"] .= "?";
			else
				$arResult["PATH_TO_4ME"] .= "&";
			$arResult["PATH_TO_MINE"] = $arResult["PATH_TO_4ME"]."mine=Y";
			$arResult["PATH_TO_4ME"] .= "forme=Y";
			$arResult["forme"] = $_REQUEST["forme"];
			if(strlen($_REQUEST["forme"]) <= 0)
				$arResult["forme"] = "ALL";
			if($_REQUEST["mine"] == "Y")
				$arResult["forme"] = "";
			
			$arResult["show4MeAll"] = "Y";				
			$arResult["show4Me"] = "Y";				
		}
	}
}

if($arResult["PostPerm"] >= BLOG_PERMS_WRITE)
{
	if(!$bGroupMode)
	{
		$arResult["urlToDraft"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_DRAFT"], array("user_id" => $arParams["USER_ID"]));
		$dbPost = CBlogPost::GetList(
			array(),
			Array(
				"AUTHOR_ID" => $user_id,
				"PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_DRAFT,
				"BLOG_USE_SOCNET" => "Y",
				"GROUP_ID" => $arParams["GROUP_ID"],
				"GROUP_SITE_ID" => SITE_ID,
			),
			Array("COUNT" => "ID"),
			false,
			Array("ID")
		);
		if($arPost = $dbPost->Fetch())
			$arResult["CntToDraft"] = $arPost["ID"];

		$arResult["urlToModeration"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_MODERATION"], array("user_id" => $arParams["USER_ID"]));
		$dbPost = CBlogPost::GetList(
			array(),
			array(
					"AUTHOR_ID" => $user_id,
					"PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_READY,
					"BLOG_USE_SOCNET" => "Y",
					"GROUP_ID" => $arParams["GROUP_ID"],
					"GROUP_SITE_ID" => SITE_ID,
				),
			Array("COUNT" => "ID"),
			false,
			Array("ID")
		);
		if($arPost = $dbPost->Fetch())
			$arResult["CntToModerate"] = $arPost["ID"];
	}
	else
	{
		if($arResult["PostPerm"] >= BLOG_PERMS_MODERATE)
		{
			$arResult["urlToModeration"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_MODERATION"], array("group_id" => $arParams["SOCNET_GROUP_ID"]));
			$dbPost = CBlogPost::GetList(
				array(),
				array(
						"SOCNET_GROUP_ID" => $arParams["SOCNET_GROUP_ID"], 
						"PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_READY,
						"BLOG_USE_SOCNET" => "Y",
						"GROUP_ID" => $arParams["GROUP_ID"],
						"GROUP_SITE_ID" => SITE_ID,
					),
				Array("COUNT" => "ID", "SOCNET_GROUP_ID"),
				false,
				Array("ID", "SOCNET_GROUP_ID")
			);
			if($arPost = $dbPost->Fetch())
			{
				$arResult["CntToModerate"] = $arPost["CNT"];
				$arResult["showAll"] = "Y";
			}
		}
	}
}

$arResult["page"] = "all";
if($arParams["CURRENT_PAGE"] == "moderation")
	$arResult["page"] = "moderation";
elseif($arParams["CURRENT_PAGE"] == "draft")
	$arResult["page"] = "draft";
elseif($_REQUEST["mine"] == "Y")
	$arResult["page"] = "mine";
elseif($arResult["forme"] == "Y")
	$arResult["page"] = "forme";

$this->IncludeComponentTemplate();
?>