X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=wwwroot%2Fnodes.php;h=75b613b6737d0adec9b34d6b023442bbc9e4a40a;hb=3c094f62a071292bcedd274d8ca9a402c68da814;hp=490ee443eb077842539ecac9c9e31e7f826a36ce;hpb=b7445c84b510c811e8ec6cec894b97ffbefeec5e;p=mirrors%2FKyberia-bloodline.git diff --git a/wwwroot/nodes.php b/wwwroot/nodes.php index 490ee44..75b613b 100644 --- a/wwwroot/nodes.php +++ b/wwwroot/nodes.php @@ -8,6 +8,10 @@ require_once('config/config.inc'); //starting timer for benchmarking purposes $timer_start=Time()+SubStr(MicroTime(),0,8); //setting PHPSESSID cookie and starting user session + +//error reporting has to be before session_start +error_reporting(-1); +ini_set('display_errors','On'); session_start(); @ini_set('magic_quotes_gpc' , 'off'); @@ -17,16 +21,6 @@ if(get_magic_quotes_gpc()) { //Smarty from DB $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... - */ //connecting to database and creating universal $db object //require_once(INCLUDE_DIR.'senate.inc'); // in config already @@ -40,66 +34,71 @@ require_once(INCLUDE_DIR.'transports.inc'); $db = new CLASS_DATABASE(); switch(true) { - case preg_match('/id\/([0-9]+)(?:\/([0-9]+)\/?)?/',$_SERVER['PATH_INFO'],$match): - // print_r($match); + case preg_match('/id\/([0-9]+)(?:\/([a-zA-Z0-9]+)\/?)?/',$_SERVER['PATH_INFO'],$match): $_GET['node_id']=$match[1]; if (!empty($match[2])) { $_GET['template_id']=$match[2]; } - //Base36 fascism redirect + //Base36 +/* 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"); + 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): + + case preg_match('/k\/([a-z0-9]{1,7})(?:\/([a-z0-9]+))?/',$_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); + $_GET['template_id']=$match[2]; } 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; + $_GET['node_id']=1; //WELCOME_NODE break; } + + if (!empty($_GET['template_id'])) { $template_id=$_GET['template_id']; } else { $template_id=false; } -error_reporting(1); -//$_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); +error_reporting(E_ALL); +//use wwwroot/debugswitch.php (from Your browser) to switch debugging on/off +if(isset($_SESSION['debugging']) && $_SESSION['debugging']) { + ini_set('display_errors','On'); echo 'GET VARIABLES::
'; print_r($_GET); echo 'POST VARIABLES::
'; print_r($_POST); + echo 'FILES VARIABLES::
'; + print_r($_FILES); 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 (!) @@ -117,7 +116,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 @@ -125,7 +124,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 "
"; @@ -144,12 +143,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); } @@ -157,6 +156,14 @@ if ($_SESSION['debugging']) { // DO NOT MESS WITH THIS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //creating neural network +if (preg_match('/id\/(\d+)/',isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER'] : "",$match)) { + $referer_id=$match[1]; +} elseif (preg_match('/k\/([a-z0-9]{1,7})/',isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER'] : "",$match)) { + $referer_id=base_convert($match[1], 36, 10); +} elseif (preg_match('/name\/(.*?)\/?$/',isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER'] : "",$match)) { + $referer_id = nodes::getNodeIdByName($match[1]); +} + $db->update("update nodes set node_views=node_views+1 where node_id='".$node['node_id']."'"); if (isset($referer_id) && is_numeric($referer_id)) { $q="update neurons set synapse=synapse+1 where dst='".$node['node_id']."' and src='$referer_id'";