• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Chat/GroupChat.php
  • Класс: BitrixImV2ChatGroupChat
  • Вызов: GroupChat::filterParams
protected function filterParams(array $params): array
{
	if (isset($params['USER_ID']))
	{
		$params['USER_ID'] = (int)$params['USER_ID'];
	}
	else
	{
		$params['USER_ID'] = $this->getContext()->getUserId();
	}

	if (isset($params['AUTHOR_ID']))
	{
		$params['AUTHOR_ID'] = (int)$params['AUTHOR_ID'];
	}

	if (isset($params['OWNER_ID']))
	{
		$params['AUTHOR_ID'] = (int)$params['OWNER_ID'];
	}

	foreach (['USERS', 'MANAGERS'] as $paramName)
	{
		if (!isset($params[$paramName]) || !is_array($params[$paramName]))
		{
			$params[$paramName] = [];
		}
		else
		{
			$params[$paramName] = filter_var(
				$params[$paramName],
				FILTER_VALIDATE_INT,
				[
					'flags' => FILTER_REQUIRE_ARRAY,
					'options' => ['min_range' => 1]
				]
			);

			foreach ($params[$paramName] as $key => $paramValue)
			{
				if (!is_int($paramValue))
				{
					unset($params[$paramName][$key]);
				}
			}
		}
	}

	$params['SKIP_ADD_MESSAGE'] = isset($params['SKIP_ADD_MESSAGE']) && $params['SKIP_ADD_MESSAGE'] === 'Y';

	return $params;
}