Typo.
[readifood.git] / www / index.php
1 <?php
2
3   /* XXX */
4   date_default_timezone_set("UTC");
5
6   $charity = "Readifood";
7   $propel_project = "readifood";
8   $root = join(DIRECTORY_SEPARATOR, array($_SERVER['DOCUMENT_ROOT'], ".."));
9   $propel_root = join(DIRECTORY_SEPARATOR, array($root, "propel"));
10   $lib_root = join(DIRECTORY_SEPARATOR, array($root, "lib"));
11   require_once "propel/Propel.php";
12
13   Propel::init("$propel_root/build/conf/$propel_project-conf.php");
14   set_include_path(join(PATH_SEPARATOR, array("$propel_root/build/classes", get_include_path())));
15
16   $request = preg_replace('!^/branches/[^/]+/!', "", $_SERVER['REQUEST_URI']);
17   $request = preg_replace('!^/+!', "", $request);
18   $request = preg_replace('!/+$!', "", $request);
19
20   # Extract module and parameters from URI.
21   $module = preg_replace('!/.*!', "", $request);
22   $parameters = split("/", preg_replace('!^[^/]*/!', "", $request));
23   if (count($parameters) == 1 && $parameters[0] == $module) $parameters = null;
24
25   # Sanitise module.
26   if (! preg_match('/^[A-Za-z0-9-_]+$/', $module)) $module = null;
27   else if (! file_exists("$lib_root/$module.php")) $module = null;
28   else $module = strtolower($module);
29   #echo "request: $request; module: $module; params: " . print_r($parameters, true);
30
31   $username = $_SERVER['REMOTE_USER'];
32   include_once("$lib_root/constants.php");
33   include_once("$lib_root/functions.php");
34   include_once("$lib_root/header.php");
35   $q = new UserQuery;
36   $user = $q->findOneByUsername($username);
37   if (! $q->count()) {
38     echo "<h1>Not logged in!</h1>\n";
39     if ($_SERVER['REMOTE_USER']) echo "<p>User <em>" . $_SERVER['REMOTE_USER'] . "</em> needs an entry in the user table.</p>\n";
40   }
41   else {
42     $user_id = $user->getContactId();
43     $admin_level = $user->getAdmin();
44     if ($module) include_once("$lib_root/$module.php");
45     #else include_once("$lib_root/menu.php");
46    }
47   include_once("$lib_root/footer.php");
48 ?>