X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=wwwroot%2Fnodes.php;h=54cfa79bb550db9411db67930fd9bc62e03e2b17;hb=8630d2174a0f798739eeea16be61b8653a10a5da;hp=e2dcd267047267baa2063f7ba5c4d2c6fb568645;hpb=4dd26acdb67608c75ed2b0e7aae0973117ec1ef6;p=mirrors%2FKyberia-bloodline.git diff --git a/wwwroot/nodes.php b/wwwroot/nodes.php index e2dcd26..54cfa79 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(); @@ -14,6 +16,7 @@ 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; @@ -28,9 +31,16 @@ if ($_SESSION['debugging']) { print_r($_SESSION); } +@ini_set('magic_quotes_gpc' , 'off'); +if(get_magic_quotes_gpc()) die("Error: magic_quotes_gpc needs to be disabled! F00K!\n"); + //Smarty from DB -$smarty_resource = 'kyberia:'; -$smarty_resource = ''; //same as 'file:' (fallback) +$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]); @@ -44,6 +54,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]; @@ -60,8 +80,6 @@ if( 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'])) { @@ -97,6 +115,7 @@ if (!empty($_GET['node_name'])) { 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; @@ -138,7 +157,7 @@ if (empty($node)) { $nodes= nodes::getNodesByName($_GET['node_name']); if ($nodes) { $smarty->assign('nodes',$nodes); - $content=$smarty->display($smarty_resource.'404.tpl'); + $content=$smarty->display('404.tpl'); die(); } elseif ($_SESSION['user_id']) { @@ -148,15 +167,18 @@ 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']]; +/* This should NOT BE HANDLED HERE! This breaks things... $node['node_content']= StripSlashes($node['node_content']); $node['node_name']= StripSlashes($node['node_name']); +*/ //checking permissions function _checkPermissions() @@ -471,16 +493,19 @@ if ($node['node_system_access']=='crypto') { $smarty->assign('error',$error); $smarty->assign('permissions',$permissions); $smarty->assign('current_vector',$node['node_vector']); -if ($permissions['r']) $smarty->assign('node',$node); +if ($permissions['r']) { + $smarty->assign('node',$node); + $smarty->assign('node_json',json_encode($node)); +} else { $smarty->assign('node',$node); //new templates by Dark matter $smarty->template_dir=OWN_TEMPLATE_DIR; - $smarty->display($smarty_resource.'1549864.tpl'); - $smarty->display($smarty_resource.'1549885.tpl'); - $smarty->display($smarty_resource.'630526.tpl'); + $smarty->display('1549864.tpl'); + $smarty->display('1549885.tpl'); + $smarty->display('630526.tpl'); die(); //redirect to mainpage @@ -613,7 +638,7 @@ if ($node['external_link']=='header://svg' && !is_numeric($template_id)) { elseif (isset($_SESSION['header_id']) && ($_SESSION['header_id']==true)) { $smarty->assign('header_id',$_SESSION['header_id']); $smarty->template_dir=OWN_TEMPLATE_DIR; - $content=$smarty->fetch($smarty_resource.$_SESSION['header_id'].".tpl"); + $content=$smarty->fetch($_SESSION['header_id'].".tpl"); $smarty->template_dir = TEMPLATE_DIR.TEMPLATE_SET; //not registered user if ($_SESSION['header_id']==2091520) { @@ -626,16 +651,16 @@ elseif (isset($_SESSION['header_id']) && ($_SESSION['header_id']==true)) { $smarty->template_dir=OWN_TEMPLATE_DIR; if (is_numeric($template_id)) { - $content.=$smarty->fetch($smarty_resource.$template_id.".tpl"); + $content.=$smarty->fetch($template_id.".tpl"); } else { $template_id=$node['template_id']; - $content.=$smarty->fetch($smarty_resource.$node['template_id'].".tpl"); + $content.=$smarty->fetch($node['template_id'].".tpl"); } if ($template_id=='2019721'){ - $content=$smarty->fetch($smarty_resource.$template_id.".tpl"); + $content=$smarty->fetch($template_id.".tpl"); echo $content; }else{ $time=SubStr((Time()+SubStr(MicroTime(),0,8)-$timer_start),0,7);