f8434a9ff4e7f4de392b25728ce024675e09dfc1
[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(join(DIRECTORY_SEPARATOR, array($root, "vendor", "autoload.php")));
12
13   Propel::init("$propel_root/build/conf/$propel_project-conf.php");
14   set_include_path(join(PATH_SEPARATOR, array(join(DIRECTORY_SEPARATOR, array($propel_root, "build", "classes")), get_include_path())));
15
16   $script_url = array_key_exists('SCRIPT_URL', $_SERVER) ? $_SERVER['SCRIPT_URL'] : $_SERVER['REDIRECT_URL'];
17   $request = preg_replace('!^/branches/[^/]+/!', "", $script_url);
18   $request = preg_replace('!^/+!', "", $request);
19   $request = preg_replace('!/+$!', "", $request);
20
21   # Extract module and parameters from URI.
22   $module = preg_replace('!/.*!', "", $request);
23   $parameters = split("/", preg_replace('!^[^/]*/!', "", $request));
24   if (count($parameters) == 1 && $parameters[0] == $module) $parameters = null;
25
26   # Sanitise module.
27   if (! preg_match('/^[A-Za-z0-9-_]+$/', $module)) $module = null;
28   else if (! file_exists("$lib_root/$module.php")) $module = null;
29   else $module = strtolower($module);
30   #echo "request: $request; module: $module; params: " . print_r($parameters, true);
31
32   $http = (isset($_SERVER['HTTPS'])) ? "https" : "http";
33   $username = $_SERVER['REMOTE_USER'];
34   include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "constants.php")));
35   include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "functions.php")));
36   include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "session.php")));
37   include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "header.php")));
38   $q = new UserQuery;
39   $user = $q->findOneByUsername($username);
40   if (! $q->count()) {
41     echo "<h1 class=\"printonly\">$charity</h1>\n";
42     echo "<h1>Not logged in!</h1>\n";
43     if ($_SERVER['REMOTE_USER']) echo "<p>User <em>" . $_SERVER['REMOTE_USER'] . "</em> needs an entry in the user table.</p>\n";
44   }
45   else {
46     $user_id = $user->getContactId();
47     $admin_level = $user->getAdmin();
48     if ($module) {
49       echo "<h3 class=\"printonly\">$charity $module</h3>\n";
50       include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "$module.php")));
51     }
52
53     #else include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "menu.php")));
54    }
55   include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "footer.php")));
56 ?>