- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/urlpreview/router.php
- Класс: BitrixMainUrlPreviewRouter
- Вызов: Router::persistRoute
static function persistRoute($route, $isNew)
{
static::invalidateRouteCache();
//Oracle does not support 'merge ... returning field into :field' clause, thus we can't merge clob fields into the table.
$routeData = array(
'ROUTE' => static::$routeTable[$route]['ROUTE'],
'MODULE' => static::$routeTable[$route]['MODULE'],
'CLASS' => static::$routeTable[$route]['CLASS'],
);
if($isNew)
{
$addResult = RouteTable::merge($routeData);
if($addResult->isSuccess())
{
static::$routeTable[$route]['ID'] = $addResult->getId();
RouteTable::update(
static::$routeTable[$route]['ID'],
array(
'PARAMETERS' => static::$routeTable[$route]['PARAMETERS']
)
);
}
$result = $addResult->isSuccess();
}
else
{
$routeData['PARAMETERS'] = static::$routeTable[$route]['PARAMETERS'];
$updateResult = RouteTable::update(static::$routeTable[$route]['ID'], $routeData);
$result = $updateResult->isSuccess();
}
return $result;
}