Anihilating constans
[mirrors/Kyberia-bloodline.git] / wwwroot / nodes.php
index a3ddbc614b757ef6f539b13ec0af2f892fd4e53a..f494eade450c4eebbd36ec5136a8e6f3444afa49 100644 (file)
@@ -1,4 +1,6 @@
 <?php
+require_once('config/config.inc'); //requiring main config file with path/database etc. constants
+if(isset($realm) && isset($users)) require_once(INCLUDE_DIR.'http_auth.php'); //Ask for auth if enabled...
 //echo($_SERVER['PATH_INFO']."\n<pre>"); 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;
 
 
@@ -29,8 +32,12 @@ if ($_SESSION['debugging']) {
 }
 
 //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 +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];
@@ -60,8 +77,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 +112,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 +154,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,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']];
@@ -478,9 +495,9 @@ else {
        //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 +630,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 +643,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);
This page took 0.128517 seconds and 4 git commands to generate.