• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/paysystem/manager.php
  • Класс: BitrixSalePaySystemManager
  • Вызов: Manager::searchByRequest
static function searchByRequest(Request $request)
{
	$documentRoot = Application::getDocumentRoot();

	$items = self::getList([
		'select' => ['*'],
		'filter' => [
			'ACTIVE' => 'Y',
		],
	]);

	while ($item = $items->fetch())
	{
		$name = $item['ACTION_FILE'];

		foreach (self::getHandlerDirectories() as $type => $path)
		{
			$className = '';
			if (File::isFileExists($documentRoot.$path.$name.'/handler.php'))
			{
				[$className] = self::includeHandler($item['ACTION_FILE']);
			}

			if (class_exists($className) && is_callable(array($className, 'isMyResponse')))
			{
				if ($className::isMyResponse($request, $item['ID']))
				{
					return $item;
				}
			}
		}
	}

	return false;
}