• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/eventmanager.php
  • Класс: BitrixMainEventManager
  • Вызов: EventManager::findEventHandlers
public function findEventHandlers($eventModuleId, $eventType, array $filter = null)
{
	if (!$this->isHandlersLoaded)
	{
		$this->loadEventHandlers();
	}

	$eventModuleId = strtoupper($eventModuleId);
	$eventType = strtoupper($eventType);

	if (!isset($this->handlers[$eventModuleId]) || !isset($this->handlers[$eventModuleId][$eventType]))
	{
		return [];
	}

	$handlers = $this->handlers[$eventModuleId][$eventType];
	if (!is_array($handlers))
	{
		return [];
	}

	if (is_array($filter) && !empty($filter))
	{
		$handlersTmp = $handlers;
		$handlers = [];
		foreach ($handlersTmp as $handler)
		{
			if (isset($handler['TO_MODULE_ID']) && in_array($handler['TO_MODULE_ID'], $filter))
			{
				$handlers[] = $handler;
			}
		}
	}

	return $handlers;
}