private function transferUri($url) { $url = IO\Path::normalize($url); $urlTmp = trim($url, " \t\n\r\v\\/"); if (empty($urlTmp)) { throw new ArgumentNullException("url"); } $ext = IO\Path::getExtension($url); if (strtolower($ext) != "php") { throw new SystemException("Only php files are allowable for url rewriting"); } $arUrl = explode("/", $url); $rootDirName = ""; while (!empty($arUrl) && ($rootDirName = array_shift($arUrl)) === "") { } $rootDirName = strtolower(str_replace(".", "", $rootDirName)); if (in_array($rootDirName, array("bitrix", "local", "upload"))) { throw new SystemException(sprintf("Can not use path '%s' for url rewriting", $url)); } if (!IO\Path::validate($url)) { throw new SystemException(sprintf("Path '%s' is not valid", $url)); } $absUrl = IO\Path::convertRelativeToAbsolute($url); if (!IO\File::isFileExists($absUrl)) { throw new SystemException(sprintf("Path '%s' is not found", $url)); } $absUrlPhysical = IO\Path::convertLogicalToPhysical($absUrl); global $APPLICATION, $USER, $DB; include_once $absUrlPhysical; die; }