• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/livechatclient.php
  • Класс: BitrixImOpenLinesLiveChatClient
  • Вызов: LiveChatClient::checkAccess
private function checkAccess()
{
	if (!$this->moduleLoad)
	{
		return Array(
			'RESULT' => false
		);
	}

	if ($this->chatId <= 0)
	{
		$this->error = new Error(__METHOD__, 'CHAT_ID', Loc::getMessage('IMOL_LCC_ERROR_CHAT_ID'));

		return Array(
			'RESULT' => false
		);
	}
	if ($this->userId <= 0)
	{
		$this->error = new Error(__METHOD__, 'USER_ID', Loc::getMessage('IMOL_LCC_ERROR_USER_ID'));

		return Array(
			'RESULT' => false
		);
	}

	$orm = BitrixImModelRelationTable::getList(array(
		"select" => array("ID", "ENTITY_TYPE" => "CHAT.ENTITY_TYPE"),
		"filter" => array(
			"=CHAT_ID" => $this->chatId,
			"=USER_ID" => $this->userId,
		),
	));
	if ($relation = $orm->fetch())
	{
		if ($relation["ENTITY_TYPE"] != "LIVECHAT")
		{
			$this->error = new Error(__METHOD__, 'CHAT_TYPE', Loc::getMessage('IMOL_LCC_ERROR_CHAT_TYPE'));

			return Array(
				'RESULT' => false
			);
		}
	}
	else
	{
		$this->error = new Error(__METHOD__, 'ACCESS_DENIED', Loc::getMessage('IMOL_LCC_ERROR_ACCESS_DENIED'));

		return Array(
			'RESULT' => false
		);
	}

	return Array(
		'RESULT' => true
	);
}