Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/landing/lib/controller/actionfilter/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/landing/lib/controller/actionfilter/extranet.php

<?php
namespace Bitrix\Landing\Controller\ActionFilter;

use Bitrix\Main\Error;
use Bitrix\Main\Event;
use Bitrix\Main\EventResult;

final class Extranet extends \Bitrix\Main\Engine\ActionFilter\Base
{
	/**
	 * Check that current user is intranet before action.
	 * @param Event $event Event instance.
	 * @return EventResult|null
	 */
	public function onBeforeAction(Event $event): ?EventResult
	{
		$user = \CUser::getList(
			'ID', 'ASC',
			['ID_EQUAL_EXACT' => \Bitrix\Landing\Manager::getUserId()],
			['FIELDS' => 'ID', 'SELECT' => ['UF_DEPARTMENT']]
		)->fetch();

		$isIntranet = ($user['UF_DEPARTMENT'][0] ?? 0) > 0;
		if (!$isIntranet)
		{
			$this->addError(new Error('Extranet site is not allowed.', 'EXTRANET_IS_NOT_ALLOWED'));
			return new EventResult(EventResult::ERROR, null, null, $this);
		}

		return null;
	}
}