• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/lib/security/helper.php
  • Класс: BitrixVoximplantSecurityHelper
  • Вызов: Helper::canUserCallNumber
static function canUserCallNumber($userId, $number, $country = ''): bool
{
	$result = false;
	$userPermissions = Permissions::createWithUserId($userId);
	$callPermission = $userPermissions->getPermission(Permissions::ENTITY_CALL, Permissions::ACTION_PERFORM);

	switch ($callPermission)
	{
		case Permissions::PERMISSION_NONE:
			$result = false;
			break;
		case Permissions::PERMISSION_ANY:
			$result = true;
			break;
		case Permissions::PERMISSION_CALL_CRM:
			$result = (CVoxImplantCrmHelper::GetCrmEntity($number, $country) !== false);
			break;
		case Permissions::PERMISSION_CALL_USERS:
			$result = (CVoxImplantCrmHelper::GetCrmEntity($number, $country) !== false);
			if(!$result)
			{
				$cursor = PhoneTable::getList([
					'filter' => [
						'=PHONE_NUMBER' => CVoxImplantPhone::Normalize($number),
					]
				]);
				$result = ($cursor->fetch() !== false);					
			}
			break;
	}
	return $result;
}