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/cvetdv.ru/bitrix/components/bitrix/im.messenger/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/components/bitrix/im.messenger/component.php
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

if (isset($_REQUEST['AJAX_CALL']) && $_REQUEST['AJAX_CALL'] == 'Y')
	return;

if (defined('IM_COMPONENT_INIT'))
	return;
else
	define("IM_COMPONENT_INIT", true);

if (intval($USER->GetID()) <= 0)
	return;

if (!CModule::IncludeModule('im'))
	return;

if (!\Bitrix\Im\Settings::isLegacyChatActivated())
{
	\Bitrix\Main\UI\Extension::load(['planner']);

	$arResult['MESSENGER_V2'] = true;
	$arResult['DESKTOP'] = $arParams['CONTEXT'] === 'DESKTOP';
	$arResult['COPILOT_AVAILABLE'] = \Bitrix\Im\V2\Chat\CopilotChat::isActive();
	// for soft dependence on module intranet
	$arResult['COPILOT_AVAILABLE_TAB'] = \Bitrix\Im\V2\Chat\CopilotChat::isAvailable();
	if ($arResult['DESKTOP'] === true)
	{
		CIMMessenger::SetDesktopVersion(empty($_GET['BXD_API_VERSION'])? 0 : $_GET['BXD_API_VERSION']);
		CIMMessenger::SetDesktopStatusOnline(null, false);
	}

	if (CModule::IncludeModule('disk'))
	{
		\Bitrix\Main\UI\Extension::load(['file_dialog', 'im.integration.viewer']);
	}
	CModule::IncludeModule('voximplant');

	$this->IncludeComponentTemplate();
	return;
}

CModule::IncludeModule('voximplant');
CModule::IncludeModule('disk');

$arParams['DESKTOP'] = isset($arParams['DESKTOP']) && $arParams['DESKTOP'] == 'Y'? 'Y': 'N';
$arParams['CONTEXT'] = isset($arParams['CONTEXT']) ? $arParams['CONTEXT'] : '';

$arResult = Array();

$isFullscreen = $arParams['FULLSCREEN'] ?? null;

$arParams["INIT"] = 'Y';

if ($arParams['CONTEXT'] == 'DESKTOP' || $arParams['DESKTOP'] == 'Y')
{
	$darkClass = \CIMSettings::GetSetting(CIMSettings::SETTINGS, 'isCurrentThemeDark')? 'bx-messenger-dark': '';
	$GLOBALS["APPLICATION"]->SetPageProperty("BodyClass", "im-desktop $darkClass");

	CIMMessenger::SetDesktopVersion(empty($_GET['BXD_API_VERSION'])? 0 : $_GET['BXD_API_VERSION']);
	CIMMessenger::SetDesktopStatusOnline(null, false);

	$arParams["DESIGN"] = "DESKTOP";
	$arResult["CONTEXT"] = "DESKTOP";

	$event = new \Bitrix\Main\Event("im", "onDesktopStart", array('USER_ID' => $USER->GetID()));
	$event->send();
}
else if ($arParams["CONTEXT"] == "FULLSCREEN" || $isFullscreen)
{
	$APPLICATION->SetPageProperty("BodyClass", "bx-im-fullscreen bx-language-".LANGUAGE_ID);
	if (!isset($arParams["DESIGN"]))
	{
		$arParams["DESIGN"] = "DESKTOP";
	}
	$arResult["CONTEXT"] = "FULLSCREEN";
}
else if ($arParams["CONTEXT"] == "PAGE")
{
	$arResult["CONTEXT"] = "PAGE";
	$arParams["DESIGN"] = "DESKTOP";
}
else if ($arParams["CONTEXT"] == "POPUP-FULLSCREEN")
{
	$arResult["CONTEXT"] = "POPUP-FULLSCREEN";
	$arParams["DESIGN"] = "DESKTOP";
}
else if ($arParams["CONTEXT"] == "DIALOG")
{
	$arResult["CONTEXT"] = "DIALOG";
	$arParams["DESIGN"] = "DESKTOP";
}
else if ($arParams["CONTEXT"] == "LINES")
{
	$arResult["CONTEXT"] = "LINES";
	$arParams["DESIGN"] = "DESKTOP";
}
else if ($arParams["CONTEXT"] == "HISTORY-FULLSCREEN")
{
	$arResult["CONTEXT"] = "HISTORY-FULLSCREEN";
	$arParams["DESIGN"] = "DESKTOP";
	$arParams["INIT"] = 'N';
}
else
{
	$arResult["CONTEXT"] = "MESSENGER";
	$arResult["DESIGN"] = "POPUP";
}

// Counters
$arResult["COUNTERS"] = CUserCounter::GetValues($USER->GetID(), SITE_ID);

CIMContactList::SetOnline(null, $arResult["CONTEXT"] != "DESKTOP");

$arSettings = CIMSettings::Get();
$arResult['SETTINGS'] = $arSettings['settings'];

if (isset($arParams['DESIGN']))
{
	$arResult["DESIGN"] = $arParams['DESIGN'];
}


$arParams["DESKTOP_LINK_OPEN"] = 'N';

// Exchange
$arResult["PATH_TO_USER_MAIL"] = "";
$arResult["MAIL_COUNTER"] = 0;
if ($arParams["INIT"] == 'Y')
{
	if (CIMMail::IsExternalMailAvailable())
	{
		$arResult["PATH_TO_USER_MAIL"] = $arParams['PATH_TO_SONET_EXTMAIL'] ?? null;
		$arResult["MAIL_COUNTER"] = (int)($arResult["COUNTERS"]["mail_unseen"] ?? null);
	}
	else if (CModule::IncludeModule("dav"))
	{
		$ar = CDavExchangeMail::GetTicker($GLOBALS["USER"]);
		if ($ar !== null)
		{
			$arResult["PATH_TO_USER_MAIL"] = $ar["exchangeMailboxPath"];
			$arResult["MAIL_COUNTER"] = intval($ar["numberOfUnreadMessages"]);
		}
	}
}
// Message & Notify

$arResult['SETTINGS_NOTIFY_BLOCKED'] = CIMSettings::GetSimpleNotifyBlocked();

$arResult['CURRENT_USER'] = \CIMContactList::GetUserData(Array(
	'ID' => $USER->GetID(),
	'PHONES' => 'Y',
	'SHOW_ONLINE' => 'N',
	'EXTRA_FIELDS' => 'Y',
	'DATE_ATOM' => 'Y'
))['users'][$USER->GetID()];

if ($arParams["INIT"] == 'Y')
{
	$arSmile = CIMMessenger::PrepareSmiles();
	$arResult['SMILE'] = $arSmile['SMILE'];
	$arResult['SMILE_SET'] = $arSmile['SMILE_SET'];

	if ($arResult["CONTEXT"] == "LINES")
	{
		$arResult['PATH_TO_IM'] = '/online/im.ajax.php';
		$arResult['PATH_TO_CALL'] = '/online/call.ajax.php';
		$arResult['PATH_TO_FILE'] = '/online/file.ajax.php';
	}
	else if ($arResult["CONTEXT"] == "DESKTOP")
	{
		$arResult['PATH_TO_IM'] = '/desktop_app/im.ajax.php';
		$arResult['PATH_TO_CALL'] = '/desktop_app/call.ajax.php';
		$arResult['PATH_TO_FILE'] = '/desktop_app/file.ajax.php';
	}

	if (isset($arParams['CURRENT_TAB']))
	{
		$_REQUEST['IM_DIALOG'] = $arParams['CURRENT_TAB'];
		$arResult['CURRENT_TAB'] = $arParams['CURRENT_TAB'];
	}
}

$arResult['BOT'] = \Bitrix\Im\Bot::getListForJs();
$arResult['COMMAND'] = \Bitrix\Im\Command::getListForJs();
$arResult['TEXTAREA_ICON'] = \Bitrix\Im\App::getListForJs();

$arResult['INIT'] = $arParams['INIT'];
$arResult['DESKTOP'] = $arResult["CONTEXT"] == "DESKTOP"? 'true': 'false';
$arResult['PHONE_ENABLED'] = CIMMessenger::CheckPhoneStatus() && CIMMessenger::CanUserPerformCalls();
$arResult['OL_OPERATOR'] = CModule::IncludeModule('imopenlines') && \Bitrix\ImOpenLines\Config::isOperator($USER->GetID());
$arResult['DESKTOP_LINK_OPEN'] = $arParams['DESKTOP_LINK_OPEN'] == 'Y'? 'true': 'false';
$arResult['PATH_TO_USER_PROFILE_TEMPLATE'] = CIMContactList::GetUserPath();
$arResult['PATH_TO_USER_PROFILE'] = CIMContactList::GetUserPath($USER->GetId());
$arResult['PATH_TO_LF'] = IsModuleInstalled('intranet') && \Bitrix\Main\IO\File::isFileExists(\Bitrix\Main\Application::getDocumentRoot().'/stream/index.php')? '/stream/': '/';

$arResult['TURN_SERVER'] = COption::GetOptionString('call', 'turn_server');
$arResult['TURN_SERVER_FIREFOX'] = COption::GetOptionString('call', 'turn_server');
$arResult['TURN_SERVER_LOGIN'] = COption::GetOptionString('call', 'turn_server_login');
$arResult['TURN_SERVER_PASSWORD'] = COption::GetOptionString('call', 'turn_server_password');

$initJs = 'im_web';
$promoType = \Bitrix\Im\Promotion::DEVICE_TYPE_BROWSER;
if ($arResult["CONTEXT"] == 'DESKTOP' || (isset($arParams['WITH_DESKTOP']) && $arParams['WITH_DESKTOP']))
{
	$initJs = 'im_desktop';
	$promoType = \Bitrix\Im\Promotion::DEVICE_TYPE_DESKTOP;
}
else if ($arResult["DESIGN"] == 'DESKTOP')
{
	$initJs = 'im_page';
}

$arResult['PROMO'] = \Bitrix\Im\Promotion::getActive($promoType);
$arResult['LIMIT'] = \Bitrix\Im\Limit::getTypesForJs();

CJSCore::Init($initJs);
\Bitrix\Main\UI\Extension::load(['ui.buttons', 'ui.buttons.icons']);

if (!(isset($arParams['TEMPLATE_HIDE']) && $arParams['TEMPLATE_HIDE'] == 'Y'))
	$this->IncludeComponentTemplate();

return $arResult;

Youez - 2016 - github.com/yon3zu
LinuXploit