• Модуль: imbot
  • Путь к файлу: ~/bitrix/modules/imbot/lib/dialogsession.php
  • Класс: BitrixImBotDialogSession
  • Вызов: DialogSession::initFilter
private function initFilter(array $params = []): array
{
	$filter = [];
	if (!empty($params['BOT_ID']))
	{
		$filter['=BOT_ID'] = (int)$params['BOT_ID'];
		unset($params['BOT_ID']);
	}
	elseif (!empty($this->botId))
	{
		$filter['=BOT_ID'] = $this->botId;
	}

	if (!empty($params['DIALOG_ID']))
	{
		$filter['=DIALOG_ID'] = $params['DIALOG_ID'];
		unset($params['DIALOG_ID']);
	}
	elseif (!empty($this->dialogId))
	{
		$filter['=DIALOG_ID'] = $this->dialogId;
	}

	foreach ($params as $key => $value)
	{
		$key = trim($key, '<>!=@~%*');
		if (
			!empty($value)
			&& NetworkSessionTable::getEntity()->hasField($key)
		)
		{
			$filter["={$key}"] = $value;
		}
	}

	return $filter;
}