info route resolve if info null die 404 obj new info class obj- pageXM

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$info = route::resolve();
if( $info === null) {
die('404');
}
$obj = new $info['class']();
$c = $obj->pageXML($info['string'], $info['params']);
$page = new page();
if( null !== $c[0] ) {
$page->content( xsl::transform($c[1], $c[0]) ); // если вернул шаблон и xml
}else{
$page->content( $c[1] ); // если вернул уже преобразованные данные
}
if(isset($c[2]) && is_array($c[2])) {
foreach($c[2] as $tag => $content) {
$page->appendData($tag, $content); // append extra data
}
}
$page->appendData('user',
'<info id="' . user::id() . '" name="' . htmlspecialchars( isset($_SESSION['user_name']) ? $_SESSION['user_name'] : 'Guest' ) . '" />'); // Костыль о котором я говорил
echo xsl::transform((string)$page, 'main.xsl'); // Объект $page преобразуется в XML и передается main.xsl в котром основной скилет страницы <html><head>..</head><body><div id="content"><xs:value-of select="/page/content/node()"... и так далее