File manager - Edit - /home/c14075/dragmet-ural.ru/www/router.php.tar
Back
home/c14075/dragmet-ural.ru/www/desktop_app/router.php 0000644 00000003434 15132142261 0016517 0 ustar 00 <?php define("BX_SKIP_USER_LIMIT_CHECK", true); if (isset($_GET['alias'])) { define("BX_IM_FULLSCREEN", true); define("EXTRANET_NO_REDIRECT", true); $widgetUserLangPath = $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/im/lang/'; if ( isset($_GET['widget_user_lang']) && preg_match("/^[a-z]{2,2}$/", $_GET['widget_user_lang']) && mb_strlen($_GET['widget_user_lang']) == 2 && @is_dir($widgetUserLangPath . $_GET['widget_user_lang']) ) { setcookie("WIDGET_USER_LANG", $_GET['widget_user_lang'], time()+9999999, "/"); define("LANGUAGE_ID", $_GET['widget_user_lang']); } elseif ( isset($_COOKIE['WIDGET_USER_LANG']) && preg_match("/^[a-z]{2,2}$/", $_COOKIE['WIDGET_USER_LANG']) && mb_strlen($_COOKIE['WIDGET_USER_LANG']) == 2 && @is_dir($widgetUserLangPath . $_COOKIE['WIDGET_USER_LANG']) ) { define("LANGUAGE_ID", $_COOKIE['WIDGET_USER_LANG']); } define("BX_SKIP_SESSION_EXPAND", true); if (!isset($_GET['iframe'])) { define("BX_PULL_SKIP_INIT", true); } define("BX_PULL_COMMAND_PATH", "/desktop_app/pull.ajax.php"); if (isset($_GET['videoconf'], $_SERVER['HTTP_ACCEPT_LANGUAGE']) && strlen($_SERVER['HTTP_ACCEPT_LANGUAGE']) > 1) { $preferredLang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); if ( !defined("LANGUAGE_ID") && preg_match("/^[a-z]{2}$/", $preferredLang) && @is_dir($widgetUserLangPath . $preferredLang) ) { define("LANGUAGE_ID", $preferredLang); } } } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/im/install/public/desktop_app/router.php"); $APPLICATION->SetTitle(GetMessage("IM_ROUTER_PAGE_TITLE")); $APPLICATION->IncludeComponent("bitrix:im.router", "", Array(), false, Array("HIDE_ICONS" => "Y")); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"); ?> home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/main/lib/routing/router.php 0000644 00000007102 15150320741 0022412 0 ustar 00 <?php /** * Bitrix Framework * @package bitrix * @subpackage main * @copyright 2001-2020 Bitrix */ namespace Bitrix\Main\Routing; use Bitrix\Main\HttpRequest; use Bitrix\Main\Routing\Exceptions\ParameterNotFoundException; /** * @package bitrix * @subpackage main */ class Router { /** @var Route[] */ protected $routes = []; /** @var Route[] */ protected $routesByName = []; /** @var RoutingConfiguration[] */ protected $configurations = []; public function registerConfiguration($configuration) { $this->configurations[] = $configuration; } public function releaseRoutes() { // go recursively through routes tree $i = -1; while (isset($this->configurations[++$i])) { $this->routes = array_merge($this->routes, $this->configurations[$i]->release()); } // reindex $this->reindexRoutes(); // don't need them anymore $this->configurations = []; } protected function reindexRoutes() { $this->routesByName = []; foreach ($this->routes as $route) { if ($route->getOptions() && $route->getOptions()->hasName()) { $this->routesByName[$route->getOptions()->getFullName()] = $route; } } } /** * @param HttpRequest $request * * @return Route|void */ public function match($request) { $path = urldecode($this->getUriPath($request)); foreach ($this->routes as $route) { if ($matchResult = $route->match($path)) { // check method if (!empty($route->getOptions()->getMethods()) && !in_array($request->getRequestMethod(), $route->getOptions()->getMethods(), true)) { continue; } if (is_array($matchResult)) { $route->getParametersValues()->setValues($matchResult); } return $route; } } } /** * @param HttpRequest $request * * @return string */ protected function getUriPath($request) { // cut GET parameters $path = str_replace( '?'.$request->getServer()->get('QUERY_STRING'), '', $request->getRequestUri() ); // cut scheme and domain $scheme = $request->isHttps() ? 'https://' : 'http://'; $schemeLen = strlen($scheme); if (substr($path, 0, $schemeLen) === $scheme) { $pathSlashPos = strpos(substr($path, $schemeLen), '/') + $schemeLen; $path = substr($path, $pathSlashPos); } return $path; } public function url($url, $parameters = []) { // scheme, domain? $finalUrl = $url; if (!empty($parameters)) { $finalUrl .= '?'.http_build_query($parameters); } return $finalUrl; } public function route($name, $parameters = []) { if (!empty($this->routesByName[$name])) { // route should be compiled $route = $this->routesByName[$name]; $route->compile(); $uri = $route->getUri(); if (!empty($routeParameters = $route->getParameters())) { foreach ($routeParameters as $parameterName => $pattern) { if (array_key_exists($parameterName, $parameters)) { // get from user $value = $parameters[$parameterName]; // remove from user list unset($parameters[$parameterName]); } elseif ($route->getOptions() && $route->getOptions()->hasDefault($parameterName)) { $value = $route->getOptions()->getDefault($parameterName); } else { throw new ParameterNotFoundException; } // check with pattern? $uri = str_replace("{{$parameterName}}", urlencode($value), $uri); } } // additional parameters as query string if (!empty($parameters)) { $uri .= '?'.http_build_query($parameters); } return $uri; } } /** * @return Route[] */ public function getRoutes() { return $this->routes; } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings