• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/compatible/eventcompatibility.php
  • Класс: BitrixCatalogCompatibleEventCompatibility
  • Вызов: EventCompatibility::handlerProductOnAfterAdd
static function handlerProductOnAfterAdd(CatalogModelEvent $event)
{
	$result = new CatalogModelEventResult();
	if (!self::allowedEvents())
		return $result;

	$success = $event->getParameter('success');
	if (!$success)
		return $result;

	self::disableEvents();

	$handlerList = array_merge(
		self::getHandlerList('catalog', self::EVENT_ON_PRODUCT_ADD),
		self::getHandlerList('sale', self::EVENT_ON_PRODUCT_ADD)       // compatibility with old strange code
	);
	if (!empty($handlerList))
	{
		$data = [
			$event->getParameter('id'),
			$event->getParameter('fields') + $event->getParameter('external_fields')
		];

		foreach ($handlerList as $handler)
		{
			ExecuteModuleEventEx($handler, $data);
		}
		unset($handler, $data);
	}
	unset($handlerList);

	self::enableEvents();

	return $result;
}