X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=wwwroot%2Fnodes.php;h=bd4500eeaba4d9f58ab09a8dd9afad0970743199;hb=e0946a04a8845b6e181544064f059fba1c92983e;hp=f343695c4182986727aa797cf2a3b6e7a8c8e0ad;hpb=bb882df824ba35ea1f659580eff0af6697d472f5;p=mirrors%2FKyberia-bloodline.git diff --git a/wwwroot/nodes.php b/wwwroot/nodes.php index f343695..bd4500e 100644 --- a/wwwroot/nodes.php +++ b/wwwroot/nodes.php @@ -39,26 +39,36 @@ 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('/\/(.+)\/?$/',$_SERVER['PATH_INFO'],$match): + $_GET['node_id'] = nodes::getNodeIdByName($match[1]); + break; + default: + $_GET['node_id']=1; + break; } if (!empty($_GET['template_id'])) {