dispatch.php
defbfa55
 <?php
 
deedc3e3
 require_once('config.php');
defbfa55
 require_once('inc/debug.php');
f20a077b
 require_once('inc/db_connect.php');
 require_once("inc/base.php");
d73051da
 require_once("inc/theme.php");
f20a077b
 
 
defbfa55
 $go = $_GET['go'];
 
 /*
  sanitize $go
 */
 
eb53bf91
 // filenames can end with .php
 if ( substr( $go, strlen( $go ) - 4 ) == '.php' ) {
   $go = substr( $go, 0, strlen($go) - 4);
 }
 
 DEBUG($go);
 
 if (strstr($go, "..") or strstr($go, "./") or strstr($go, ":") or (! file_exists("modules/$go.php")) or (! is_file("modules/$go.php")))
defbfa55
 {
   die("illegal command");
 }
d73051da
 list($module, $page) = explode('/', $go, 2);
 $page = str_replace('/', '-', $page);
d96a86aa
 if (! in_array($module, config('modules')))
26afb797
 {
d73051da
   die("inactive module");
26afb797
 }
defbfa55
 
 
 /*
228275dc
  construct prefix
defbfa55
 */
 
 global $prefix;
 $prefix = "../";
 $count = 0;
 str_replace("/", "x", $go, $count);
 
 $prefix = $prefix.str_repeat("../", $count);
 
 
 require_once('session/start.php');
 
 $output = "";
ede58dec
 $html_header = "";
fb92f399
 require_once("inc/base.php");
defbfa55
 /* setup module include path */
6a9c38d8
 ini_set('include_path',ini_get('include_path').':./modules/'.$module.'/include:');
defbfa55
 
228275dc
 /* Look where we are (but let the module override) */
19cf5340
 $section = str_replace("/", "_", $go);
228275dc
 
defbfa55
 /* Let the module work */
eb53bf91
 include("modules/".$go.".php");
defbfa55
 
d6f6e1fb
 if ($output)
 {
d73051da
   if (!isset($title)) {
     $title = '';
   }
   show_page($module, $page);
d6f6e1fb
 }
defbfa55
 
 ?>