X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=wwwroot%2Fnodes.php;h=f494eade450c4eebbd36ec5136a8e6f3444afa49;hb=09f0f2fae8b01c46318cee6e9864b7b1847e9fd3;hp=eb734abe3e04f570d34d166db47e4253c339fe7a;hpb=a81e2af2eaec0789a7d05306a86b1394f5f7a719;p=mirrors%2FKyberia-bloodline.git diff --git a/wwwroot/nodes.php b/wwwroot/nodes.php index eb734ab..f494ead 100644 --- a/wwwroot/nodes.php +++ b/wwwroot/nodes.php @@ -1,4 +1,6 @@ "); var_dump(preg_split('/\//', $_SERVER['PATH_INFO'])); die(); //PATH_INFO Debug (usefull when messing with mod_rewrite) // output buffering forcing (mx) if (!empty($_POST['FORCE_OB']) && $_POST['FORCE_OB'] == 'true') ob_start(); @@ -9,12 +11,12 @@ if (!empty($_POST['FORCE_OB']) && $_POST['FORCE_OB'] == 'true') ob_start(); //starting timer for benchmarking purposes $timer_start=Time()+SubStr(MicroTime(),0,8); - //setting PHPSESSID cookie and starting user session session_start(); error_reporting(1); //$_SESSION['debugging']=1; +//unset($_SESSION['debugging']); //Well... we should make some event or JavaScript page to turning this on/off... //exit; @@ -29,6 +31,13 @@ if ($_SESSION['debugging']) { print_r($_SESSION); } +//Smarty from DB +$smarty_resource = 'kyberia'; +//$smarty_resource = ''; //same as 'file' (fallback) +/* I have moved old templates to DB using following lame script: + * for i in *.tpl; do j=$(echo "$i" | cut -d . -f 1); echo UPDATE nodes SET node_content = "'$(php -r "echo mysql_escape_string(file_get_contents('$i'));")'" WHERE node_id = "'$j'" COLLATE utf8_bin LIMIT '1;'; done | mysql --user=kyberia --password=PASSSSSSS kyberia + * In future we should have some mechanism for distributing templates because they are very important part of kyberia source... + */ //Path info (Experimental - this replaced most of mod_rewrites...) @$PATH_INFO=trim($_SERVER[PATH_INFO]); @@ -42,6 +51,16 @@ if($PATH_INFO != '') { case 'id': if(isset($PATH_CHUNKS[2]) && $PATH_CHUNKS[2] != '') $_GET['node_id'] = $PATH_CHUNKS[2]; if(isset($PATH_CHUNKS[3]) && $PATH_CHUNKS[3] != '') $_GET['template_id'] = $PATH_CHUNKS[3]; + + //Base36 fascism redirect + if($_GET['template_id'] == 'download') break; //Fix ugly download hack... + if(!count($_POST)) { + header('Location: /k/'.base_convert($_GET['node_id'], 10, 36). + (isset($_GET['template_id'])?'/'.base_convert($_GET['template_id'], 10, 36):'') + ); + die("Base36 fascism...\n"); //If you want to be a fascist you have to die imediatelly... + } + break; default: if($PATH_CHUNKS[1] != '') $_GET['node_name'] = $PATH_CHUNKS[1]; @@ -49,13 +68,15 @@ if($PATH_INFO != '') { break; } } +if( + (!isset($_GET['node_kid']) || trim($_GET['node_kid']) == '') && + (!isset($_GET['node_id']) || trim($_GET['node_id']) == '') +) $_GET['node_kid'] = 1; //Base36 http://en.wikipedia.org/wiki/Base_36 (Initial support only :-) if(isset($_GET['node_kid'])) $_GET['node_id'] = base_convert($_GET['node_kid'], 36, 10); if(isset($_GET['template_kid'])) $_GET['template_id'] = base_convert($_GET['template_kid'], 36, 10); -//requiring main config file with path/database etc. constants -require('config/config.inc'); require(INCLUDE_DIR.'senate.inc'); if (isset($_SERVER['HTTP_REFERER'])) { @@ -90,6 +111,8 @@ if (!empty($_GET['node_name'])) { //loading smarty template engine and setting main parameters require(SMARTY_DIR.'Smarty.class.php'); $smarty = new Smarty; +require(INCLUDE_DIR.'smarty/resource.kyberia.php'); +$smarty->default_resource_type=$smarty_resource; //$smarty->php_handling = SMARTY_PHP_REMOVE; //XXX $smarty->template_dir = TEMPLATE_DIR; @@ -131,7 +154,7 @@ if (empty($node)) { $nodes= nodes::getNodesByName($_GET['node_name']); if ($nodes) { $smarty->assign('nodes',$nodes); - $content=$smarty->display("404.tpl"); + $content=$smarty->display('404.tpl'); die(); } elseif ($_SESSION['user_id']) { @@ -141,10 +164,11 @@ if (empty($node)) { } //modifying node glass pearl //XXX WTF -if (is_array($children_types[$node['node_type']])) { - $smarty->assign('children_types',$children_types[$node['node_type']]); -} -$smarty->assign('types',$types); +//if (is_array($children_types[$node['node_type']])) { +// $smarty->assign('children_types',$children_types[$node['node_type']]); +//} + +smarty->assign('types',$types); //$node['node_type']=$types[$node['node_type']];