} /** * Функция для формирования регулярного выражения по маске URL топика * * @param string $sUrl * @return string */ $funcMakePreg = function ($sUrl) { $sUrl = preg_quote(trim($sUrl, '/ ')); return strtr($sUrl, Config::Get('module.topic.url_preg')); }; $sPreg = $funcMakePreg(Config::Get('module.topic.url')); if (preg_match('@^' . $sPreg . '$@iu', $sUrlRequest)) { Router::SetAction(Router::getInstance()->Rewrite('blog')); Router::SetActionEvent('_show_topic_url'); Router::SetParams(array()); /** * Хак - через конфиг передаем нужные параметры в обработчик эвента * Модуль кеша здесь нельзя использовать, т.к. еще не произошло инициализации ядра */ Config::Set('module.topic._router_topic_original_url', $sUrlRequest); } })); /** * Проверяем наличие директории install */ if (is_dir(rtrim(Config::Get('path.application.server'), '/') . '/install') && (!isset($_SERVER['HTTP_APP_ENV']) or $_SERVER['HTTP_APP_ENV'] != 'test')) { $sUrl = rtrim(str_replace('index.php', '', $_SERVER['PHP_SELF']), '/\\') . '/application/install/'; header('Location: ' . $sUrl, true, 302); exit; }