languages ) parse_request($config->languages); # Search virtual pages из файла config.xml if ($config->virtual_pages) for ($i = 0;$vpage = $config->virtual_pages->page[$i];$i++) if (get_env('p0')==$vpage) {set_env('link','/'.$vpage.'/'); set_env('cache_param','virtual');} # Transform & put into cache pre_caching files. Задано в файле config.xml if ($tmp = $config->pre_caching) for ($i = 0; $xml = $tmp->file[$i];$i++) { if ($cache->exp($xml.'.xml',XSL_PATH.$xml.'_to_cache.xsl')) { $$xml = xslt(DOMDocument::load(ROOT_PATH.$xml.'.xml'),XSL_PATH.$xml.'_to_cache.xsl'); # в частности формируется переменная sitemap, путем преобразования sitemap_to_cache $cache->save($xml.'.xml',$$xml); } else $$xml = $cache->load($xml.'.xml'); } #print_r ($sitemap); # Find page attributes in sitemap (cached ver.) and put into env $s = simplexml_load_string($sitemap); node2env($s); # собственно сброс аттрибутов root'а в среду $env #virtual pages $virtuals = $s->xpath('//page[@virtual]'); if ($virtuals) for ($i = 0;@$vpage = $virtuals[$i];$i++) if (get_env('p0')==$vpage['id']) { set_env('link',$vpage['link']); } $page = $s->xpath('//page[@link="'.get_env('link').'"]'); if (!$page) {set_env('link','/notfound/'); $page = $s->xpath('//page[@link="'.get_env('link').'"]');} node2env($page[0]); # сброс аттрибутов найденной страницы # Человекоподобный URL и работа с файлами set_env('filebase',filebase(get_env('link'))); if (file_exists(ROOT_PATH.get_env('filebase').'_script2222222.php')) { # обработчик скриптов ob_start(); include(ROOT_PATH.get_env('filebase').'_script.php'); $tmp = ob_get_contents(); if (substr($tmp,0,5)!='') $tmp = ''.$tmp.''; $doc = DOMDocument::loadXML($tmp); ob_end_clean(); } elseif (file_exists(ROOT_PATH.get_env('filebase').'.xml')) $doc = DOMDocument::load(ROOT_PATH.get_env('filebase').'.xml'); else die('Internal error!'); if (file_exists(ROOT_PATH.get_env('filebase').'.xsl')) { $xsl = get_env('filebase').'.xsl'; $r = xslt($doc,$xsl,'XML',$env); $doc = DOMDocument::loadXML($r); } # XSLT преобразование дизайна $xsl = get_env('template'); if ($cache->exp(Array(get_env('fullquery'),$xsl),get_env('cache_param'))) { $r = xslt($doc,$xsl,'XML',$env); $cache->save($env['fullquery'],$r); } else $r = $cache->load(get_env('fullquery')); $typo = new typo(); $r = $typo->TxtPrepare($typo->TxtExp($r)); no_selflinks($r); echo trim($r); function renameit($str) { $tr = array( "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G", "Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I", "Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N", "О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T", "У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH", "Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"", "Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b", "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j", "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r", "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h", "ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y", "ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya" ); $str = strtr($str,$tr); $str = mb_convert_case($str, MB_CASE_LOWER, "UTF-8"); $str = strtolower(str_replace(' ','-',$str)); return $str; } ?>