X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=wwwroot%2Fnodes.php;h=96926f58272f9e9fb68b091e956a880da12f30b4;hb=6a967e24d43f3d23244c21104e6a3f09d5923cb9;hp=9a5ff1bb832ebe3462f342b389d19f49e26c0b77;hpb=5b9c0808f40b7b6aa4545625b4dfa6a909f15e4e;p=mirrors%2FKyberia-bloodline.git diff --git a/wwwroot/nodes.php b/wwwroot/nodes.php index 9a5ff1b..96926f5 100644 --- a/wwwroot/nodes.php +++ b/wwwroot/nodes.php @@ -1,4 +1,5 @@ "); 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(); @@ -20,20 +21,49 @@ error_reporting(1); if ($_SESSION['debugging']) { error_reporting(E_ALL); - echo "GET VARIABLES::
"; + echo 'GET VARIABLES::
'; print_r($_GET); - echo "POST VARIABLES::
"; + echo 'POST VARIABLES::
'; print_r($_POST); - echo "SESSION VARIABLES::
"; + echo 'SESSION VARIABLES::
'; print_r($_SESSION); } + +//Path info (Experimental - this replaced most of mod_rewrites...) +@$PATH_INFO=trim($_SERVER[PATH_INFO]); +if($PATH_INFO != '') { + $PATH_CHUNKS = preg_split('/\//', $PATH_INFO); + if(isset($PATH_CHUNKS[1])) switch($PATH_CHUNKS[1]) { + case 'k': + if(isset($PATH_CHUNKS[2]) && $PATH_CHUNKS[2] != '') $_GET['node_kid'] = $PATH_CHUNKS[2]; + if(isset($PATH_CHUNKS[3]) && $PATH_CHUNKS[3] != '') $_GET['template_kid'] = $PATH_CHUNKS[3]; + break; + 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]; + break; + default: + if($PATH_CHUNKS[1] != '') $_GET['node_name'] = $PATH_CHUNKS[1]; + if(isset($PATH_CHUNKS[2]) && $PATH_CHUNKS[2] != '') $_GET['template_kid'] = $PATH_CHUNKS[2]; + 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'])) { - preg_match("/id\/([0-9]*)\//",$_SERVER['HTTP_REFERER'],$ref_match); + preg_match('/(k|id)\/([0-9]*)\//',$_SERVER['HTTP_REFERER'],$ref_match); $referer_id=$ref_match[1]; } @@ -64,12 +94,13 @@ 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->php_handling = SMARTY_PHP_REMOVE; //XXX $smarty->template_dir = TEMPLATE_DIR; //echo TEMPLATE_DIR.TEMPLATE_SET; //echo $smarty->template_dir; -$smarty->compile_dir = SYSTEM_DATA."templates_c/"; +$smarty->compile_dir = SYSTEM_DATA.'templates_c/'; $smarty->config_dir = SMARTY_DIR.'configs/'; //XXX neexistuje $smarty->cache_dir = SMARTY_DIR.'cache/'; $smarty->plugins_dir = SMARTY_PLUGIN_DIR ;