X-Git-Url: https://git.harvie.cz/?a=blobdiff_plain;f=wwwroot%2Fnodes.php;h=7bb46aec4bba225eae8a025f10e6f1acc8fd45ec;hb=6973651b3c2a24a974b824b649c17913e87457e8;hp=29b6478b5c04359149d70c7c5b7824607914d5a5;hpb=7a5cc9b5e221e87dd7933370e10c758ff356068d;p=mirrors%2FKyberia-bloodline.git diff --git a/wwwroot/nodes.php b/wwwroot/nodes.php index 29b6478..7bb46ae 100644 --- a/wwwroot/nodes.php +++ b/wwwroot/nodes.php @@ -39,26 +39,40 @@ require_once(INCLUDE_DIR.'transports.inc'); $db = new CLASS_DATABASE(); -if (preg_match('/id\/([0-9]+)(?:\/([0-9]+)\/?)?/',$_SERVER['PATH_INFO'],$match)) { -// print_r($match); - $_GET['node_id']=$match[1]; - if (!empty($match[2])) { - $_GET['template_id']=$match[2]; - } - //Base36 fascism redirect - if(!count($_POST) && !(isset($_GET['template_id']) && $_GET['template_id'] == 'download')) { //Fix ugly download hack... - header('Location: /k/'.base_convert($_GET['node_id'], 10, 36). - (isset($_GET['template_id'])?'/'.base_convert($_GET['template_id'], 10, 36):'') - ); - die("Die!!! All Fascists Are Bastards...\n"); - } -} elseif (preg_match('/k\/([a-z0-9]{1,7})(?:\/([a-z0-9]{1,7}))?/',$_SERVER['PATH_INFO'],$match)) { - $_GET['node_id']=base_convert($match[1], 36, 10); - if (!empty($match[2])) { - $_GET['template_id']=base_convert($match[2],36,10); - } -} elseif (preg_match('/name\/(.*?)\/?$/',$_SERVER['PATH_INFO'],$match)) { - $_GET['node_id'] = nodes::getNodeIdByName($match[1]); +switch(true) { + case preg_match('/id\/([0-9]+)(?:\/([0-9]+)\/?)?/',$_SERVER['PATH_INFO'],$match): + // print_r($match); + $_GET['node_id']=$match[1]; + if (!empty($match[2])) { + $_GET['template_id']=$match[2]; + } + //Base36 fascism redirect + if(!count($_POST) && !(isset($_GET['template_id']) && $_GET['template_id'] == 'download')) { //Fix ugly download hack... + header('Location: /k/'.base_convert($_GET['node_id'], 10, 36). + (isset($_GET['template_id'])?'/'.base_convert($_GET['template_id'], 10, 36):'') + ); + die("Die!!! All Fascists Are Bastards...\n"); + } + break; + case preg_match('/k\/([a-z0-9]{1,7})(?:\/([a-z0-9]{1,7}))?/',$_SERVER['PATH_INFO'],$match): + $_GET['node_id']=base_convert($match[1], 36, 10); + if (!empty($match[2])) { + $_GET['template_id']=base_convert($match[2],36,10); + } + break; + case preg_match('/name\/(.*?)\/?$/',$_SERVER['PATH_INFO'],$match): + $_GET['node_id'] = nodes::getNodeIdByName($match[1]); + break; + case preg_match('/search\/(.*?)\/?$/',$_SERVER['PATH_INFO'],$match): + //$query = nodes::getNodeIdByName($match[1]); + //XXX TODO: Predat searchi az bude fungovat + break; + case preg_match('/\/(.+)\/?$/',$_SERVER['PATH_INFO'],$match): + $_GET['node_id'] = nodes::getNodeIdByName($match[1]); + break; + default: + $_GET['node_id']=1; //WELCOME_NODE + break; } if (!empty($_GET['template_id'])) { @@ -67,29 +81,27 @@ if (!empty($_GET['template_id'])) { $template_id=false; } -error_reporting(1); +error_reporting(E_ALL | E_STRICT); //$_SESSION['debugging']=0; //unset($_SESSION['debugging']); //Well... we should make some event //or JavaScript page to turning this on/off... //exit; -if ($_SESSION['debugging']) { - error_reporting(E_ALL); +if(isset($_SESSION['debugging']) && $_SESSION['debugging']) { echo 'GET VARIABLES::
'; print_r($_GET); echo 'POST VARIABLES::
'; print_r($_POST); echo 'SESSION VARIABLES::
'; print_r($_SESSION); +} else { + $_SESSION['debugging']=false; + set_error_handler('logger::error_handler'); } - +require_once(INCLUDE_DIR.'logout_idle.inc'); //Logout when idle //initializing node -if (!is_numeric($_GET['node_id'])) { - $_GET['node_id']=WELCOME_NODE; -} - $node = nodes::getNodeById($_GET['node_id'],(isset($_SESSION['user_id']))?$_SESSION['user_id']:''); //XXX Paths are wrong (!) @@ -107,7 +119,7 @@ $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 ; -if ($_SESSION['debugging']) $smarty->debugging=true; +if (isset($_SESSION['debugging']) && $_SESSION['debugging']) $smarty->debugging=true; // initializing variables // preg_replace prevents LFI @@ -115,7 +127,7 @@ if (empty($_POST['event'])) $event='display'; else $event= preg_replace( "![^a-zA-Z0-9_]+!", "", $_POST['event']); -if ($_SESSION['debugging']) { +if (isset($_SESSION['debugging']) && $_SESSION['debugging']) { echo "
NODE::";
 	print_r($node);
 	echo "
"; @@ -134,12 +146,12 @@ if (isset($_SESSION['cube_vector']) && ($_SESSION['cube_vector'])) { } } -@include_once(INCLUDE_DIR.'mail_rss.inc'); //haluz... +#@include_once(INCLUDE_DIR.'mail_rss.inc'); //haluz... //checking permissions include_once(BACKEND_DIR.'/'.DB_TYPE.'/permissions.inc'); $permissions=permissions::checkPerms($node); -if ($_SESSION['debugging']) { +if (!empty($_SESSION['debugging']) && $_SESSION['debugging']) { print_r($permissions); }