• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Message/Params.php
  • Класс: BitrixImV2MessageParams
  • Вызов: Params::initTypes
static function initTypes(): void
{
	if (!self::$typeLoaded)
	{
		$event = new Event('im', self::EVENT_MESSAGE_PARAM_TYPE_INIT);
		$event->send();
		$resultList = $event->getResults();

		foreach ($resultList as $eventResult)
		{
			if ($eventResult->getType() === EventResult::SUCCESS)
			{
				$settings = $eventResult->getParameters();
				if (is_array($settings))
				{
					foreach ($settings as $paramName => $description)
					{
						if (
							is_array($description)
							&& (
								!empty($description['type'])
								|| !empty($description['className'])
							)
						)
						{
							self::addType($paramName, $description);
						}
					}
				}
			}
		}
	}

	self::$typeLoaded = true;
}