AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 18.119.164.58
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/bitrix/www/bitrix/components/bitrix/socialnetwork.group_search/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/bitrix/components/bitrix/socialnetwork.group_search/component.php
<?php

if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true)
{
	die();
}

use Bitrix\Main\Text\Emoji;

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

$bSearchInstalled = IsModuleInstalled("search");

if ($bSearchInstalled)
	CModule::IncludeModule("search");

$arParams["SET_NAV_CHAIN"] = ($arParams["SET_NAV_CHAIN"] == "N" ? "N" : "Y");

if ($arParams["GROUP_VAR"] == '')
	$arParams["GROUP_VAR"] = "group_id";
if ($arParams["PAGE_VAR"] == '')
	$arParams["PAGE_VAR"] = "page";
if ($arParams["USER_VAR"] == '')
	$arParams["USER_VAR"] = "user_id";

$arParams["PATH_TO_GROUP"] = trim($arParams["PATH_TO_GROUP"]);
if ($arParams["PATH_TO_GROUP"] == '')
	$arParams["PATH_TO_GROUP"] = htmlspecialcharsbx($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=group&".$arParams["GROUP_VAR"]."=#group_id#");

$arParams["PATH_TO_GROUP_SEARCH"] = trim($arParams["PATH_TO_GROUP_SEARCH"]);
if ($arParams["PATH_TO_GROUP_SEARCH"] == '')
	$arParams["PATH_TO_GROUP_SEARCH"] = htmlspecialcharsbx($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=group_search");

$arParams["PATH_TO_GROUP_CREATE"] = trim($arParams["PATH_TO_GROUP_CREATE"]);
if ($arParams["PATH_TO_GROUP_CREATE"] == '')
	$arParams["PATH_TO_GROUP_CREATE"] = htmlspecialcharsbx($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=group_create&".$arParams["USER_VAR"]."=#user_id#");

$arParams["ITEMS_COUNT"] = intval($arParams["ITEMS_COUNT"]);
if ($arParams["ITEMS_COUNT"] <= 0)
	$arParams["ITEMS_COUNT"] = 20;

$arParams["DATE_TIME_FORMAT"] = Trim($arParams["DATE_TIME_FORMAT"]);
$arParams["DATE_TIME_FORMAT"] = (($arParams["DATE_TIME_FORMAT"] == '') ? $DB->DateFormatToPHP(CSite::GetDateFormat("FULL")) : $arParams["DATE_TIME_FORMAT"]);

$arParams["SUBJECT_ID"] = intval($arParams["SUBJECT_ID"]);

$arResult["~q"] = trim($_REQUEST["q"]);
$arResult["~tags"] = trim($_REQUEST["tags"]);
$arResult["~subject"] = trim(array_key_exists("subject", $_REQUEST) ? $_REQUEST["subject"] : ($arParams["SUBJECT_ID"] > 0 ? $arParams["SUBJECT_ID"] : ""));
$arResult["~how"] = trim($_REQUEST["how"]);

$arResult["q"] = htmlspecialcharsbx($arResult["~q"]);
$arResult["tags"] = htmlspecialcharsbx($arResult["~tags"]);
$arResult["subject"] = htmlspecialcharsbx($arResult["~subject"]);
$arResult["how"] = htmlspecialcharsbx($arResult["~how"]);

if ($arParams["SET_TITLE"] == "Y")
	$APPLICATION->SetTitle(GetMessage("SONET_C24_PAGE_TITLE"));

if ($arParams["SET_NAV_CHAIN"] != "N")
	$APPLICATION->AddChainItem(GetMessage("SONET_C24_PAGE_TITLE"));

$arResult["Urls"]["GroupSearch"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP_SEARCH"], array());
$arResult["Urls"]["GroupCreate"] = "";
$arResult["ALLOW_CREATE_GROUP"] = false;
if ($GLOBALS["USER"]->IsAuthorized())
{
	$arResult["Urls"]["GroupCreate"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP_CREATE"], array("user_id" => $GLOBALS["USER"]->GetID()));
	$arResult["ALLOW_CREATE_GROUP"] = \Bitrix\Socialnetwork\Helper\Workgroup\Access::canCreate();
}

$arResult["SEARCH_RESULT"] = Array();

if ($bSearchInstalled && ($arResult["~q"] <> '' || $arResult["~tags"] <> ''))
{
	$arFilter = array(
		"SITE_ID" => SITE_ID,
		"QUERY" => $arResult["~q"],
		array(
			"=MODULE_ID" => "socialnetwork",
			"ITEM_ID" => "G%",
		),
		"CHECK_DATES" => "Y",
		"TAGS" => $arResult["~tags"],
	);
	if ($arResult["~subject"] <> '')
		$arFilter["PARAM1"] = $arResult["~subject"];
	if ($arResult["~how"] == "d")
		$aSort = array("DATE_CHANGE" => "DESC", "CUSTOM_RANK" => "DESC", "RANK" => "DESC");
	else
		$aSort = array("CUSTOM_RANK" => "DESC", "RANK" => "DESC", "DATE_CHANGE" => "DESC");

	$obSearch = new CSearch();
	$obSearch->Search($arFilter, $aSort);
	if ($obSearch->errorno == 0)
	{
		$obSearch->NavStart($arParams["ITEMS_COUNT"]);
		$arResult["NAV_STRING"] = $obSearch->GetPageNavString(GetMessage("SONET_C24_GROUPS"), "");

		while ($arSearch = $obSearch->GetNext())
		{
			$arGroup = CSocNetGroup::GetByID($arSearch["PARAM2"]);

			$arSearch["URL"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arGroup["ID"]));

			if (intval($arGroup["IMAGE_ID"]) <= 0)
				$arGroup["IMAGE_ID"] = COption::GetOptionInt("socialnetwork", "default_group_picture", false, SITE_ID);

			$arImage = CSocNetTools::InitImage($arGroup["IMAGE_ID"], 100, "/bitrix/images/socialnetwork/nopic_group_100.gif", 100, $arSearch["URL"], true);

			$arSearch["IMAGE_FILE"] = $arImage["FILE"];
			$arSearch["IMAGE_IMG"] = $arImage["IMG"];

			$arSearch["SUBJECT_NAME"] = $arGroup["SUBJECT_NAME"];
			$arSearch["NUMBER_OF_MEMBERS"] = $arGroup["NUMBER_OF_MEMBERS"];

			$arSearch["FULL_DATE_CHANGE_FORMATED"] = date($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arSearch["FULL_DATE_CHANGE"], CSite::GetDateFormat("FULL")));

			$arSearch["ARCHIVE"] = $arGroup["CLOSED"];
			$arResult["SEARCH_RESULT"][] = $arSearch;
		}

		if (count($arResult["SEARCH_RESULT"]) > 0)
		{
			if ($arResult["~tags"] <> '')
				$arResult["ORDER_LINK"] = $APPLICATION->GetCurPageParam("tags=".$arResult["tags"], Array("tags", "how"));
			else
				$arResult["ORDER_LINK"] = $APPLICATION->GetCurPageParam("q=".$arResult["q"], Array("q", "how"));

			if ($arResult["~how"] != "d")
				$arResult["ORDER_LINK"] .= "&how=d";
		}
		else
		{
			$arResult["ERROR_MESSAGE"] = GetMessage("SONET_C24_EMPTY");
		}
	}
	else
	{
		$arResult["ERROR_MESSAGE"] = GetMessage("SONET_C24_ERROR").$obSearch->error;
	}
}
else
{
	$arNavParams = array("nPageSize" => $arParams["ITEMS_COUNT"], "bDescPageNumbering" => false);
	$arNavigation = CDBResult::GetNavParams($arNavParams);

	$arFilterTmp = array("SITE_ID" => SITE_ID, "ACTIVE" => "Y");
	if (!CSocNetUser::IsCurrentUserModuleAdmin())
		$arFilterTmp["CHECK_PERMISSIONS"] = $GLOBALS["USER"]->GetID();

	if ($arParams["SUBJECT_ID"] > 0)
	{
		$arFilterTmp["SUBJECT_ID"] = $arParams["SUBJECT_ID"];

		$arCurrentSubject = CSocNetGroupSubject::GetByID($arParams["SUBJECT_ID"]);
		if ($arCurrentSubject && $arParams["SET_TITLE"] == "Y")
			$APPLICATION->SetTitle($arCurrentSubject["NAME"]);
	}

	if ($arParams["SUBJECT_ID"] == -1)
	{
		$arFilterTmp["CLOSED"] = "Y";
		if ($arParams["SET_TITLE"] == "Y")
			$APPLICATION->SetTitle(GetMessage("SONET_C24_PAGE_TITLE_ARCHIVE"));
	}
	else
		$arFilterTmp["CLOSED"] = "N";

	if ($arResult["~q"] <> '')
		$arFilterTmp["~NAME"] = "%".$arResult["~q"]."%";

	$dbGroups = CSocNetGroup::GetList(
		array("DATE_ACTIVITY" => "DESC", "NAME" => "ASC"),
		$arFilterTmp,
		false,
		$arNavParams,
		array("ID", "NAME", "DESCRIPTION", "DATE_ACTIVITY", "IMAGE_ID", "NUMBER_OF_MEMBERS", "SUBJECT_NAME", "CLOSED")
	);

	while ($arGroup = $dbGroups->GetNext())
	{
		if (!empty($arGroup['NAME']))
		{
			$arGroup['NAME'] = Emoji::decode($arGroup['NAME']);
		}
		if (!empty($arGroup['DESCRIPTION']))
		{
			$arGroup['DESCRIPTION'] = Emoji::decode($arGroup['DESCRIPTION']);
		}

		$arGroup["TITLE_FORMATED"] = $arGroup["NAME"];
		$arGroup["BODY_FORMATED"] = $arGroup["DESCRIPTION"];

		$arGroup["URL"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arGroup["ID"]));

		$arImage = CSocNetTools::InitImage($arGroup["IMAGE_ID"], 100, "/bitrix/images/socialnetwork/nopic_group_100.gif", 100, $arGroup["URL"], true);

		$arGroup["IMAGE_FILE"] = $arImage["FILE"];
		$arGroup["IMAGE_IMG"] = $arImage["IMG"];

		$arGroup["FULL_DATE_CHANGE_FORMATED"] = date($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arGroup["DATE_ACTIVITY"], CSite::GetDateFormat("FULL")));

		$arGroup["ARCHIVE"] = $arGroup["CLOSED"];
		$arResult["SEARCH_RESULT"][] = $arGroup;
	}

	$arResult["NAV_STRING"] = $dbGroups->GetPageNavStringEx($navComponentObject, GetMessage("SONET_C24_NAV"), "", false);
}

$arResult["Subjects"] = array();
$dbSubjects = CSocNetGroupSubject::GetList(
	array("SORT"=>"ASC", "NAME" => "ASC"),
	array("SITE_ID" => SITE_ID),
	false,
	false,
	array("ID", "NAME")
);
while ($arSubject = $dbSubjects->GetNext())
	$arResult["Subjects"][$arSubject["ID"]] = $arSubject["NAME"];

if (CSocNetUser::IsCurrentUserModuleAdmin() && CModule::IncludeModule('intranet')):
	global $INTRANET_TOOLBAR;

	$INTRANET_TOOLBAR->AddButton(array(
		'HREF' => "/bitrix/admin/socnet_subject.php?lang=".LANGUAGE_ID,
		"TEXT" => GetMessage('SONET_C24_EDIT_ENTRIES'),
		'ICON' => 'settings',
		"SORT" => 1000,
	));
endif;

$this->IncludeComponentTemplate();
?>

Anon7 - 2022
AnonSec Team