• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/integration/main/uiselector/handler.php
  • Класс: BitrixIntranetIntegrationMainUISelectorHandler
  • Вызов: Handler::OnUISelectorActionProcessAjax
static function OnUISelectorActionProcessAjax(Event $event)
{
	$result = new EventResult(EventResult::UNDEFINED, null, 'intranet');

	$action = $event->getParameter('action');

	$resultParams = false;

	if (
		$action == BitrixMainUISelectorActions::GET_TREE_ITEM_DATA
		&& BitrixIntranetUtil::isIntranetUser()
	)
	{
		$requestFields = $event->getParameter('requestFields');
		if (
			!empty($requestFields['options'])
			&& !empty($requestFields['options']['entityType'])
			&& $requestFields['options']['entityType'] == self::ENTITY_TYPE_DEPARTMENTS
			&& !empty($requestFields['options']['categoryId'])
			&& (
				intval($requestFields['options']['categoryId']) > 0
				|| mb_strtoupper($requestFields['options']['categoryId']) == 'EX'
			)
			&& Loader::includeModule('socialnetwork')
		)
		{
			$resultParams = BitrixSocialnetworkIntegrationMainUISelectorEntities::getDepartmentData([
				'DEPARTMENT_ID' => $requestFields['options']['categoryId'],
				'allowSearchSelf' => (isset($requestFields['options']['allowSearchSelf']) && $requestFields['options']['allowSearchSelf'] === 'N' ? 'N' : 'Y'),
			]);
		}
	}

	if ($resultParams)
	{
		$result = new EventResult(
			EventResult::SUCCESS,
			array(
				'result' => $resultParams
			),
			'socialnetwork'
		);
	}

	return $result;
}