X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=www%2Findex.php;h=d65e7c7c6efb13745a7d3bbaae59e7e9ab7ea254;hb=0c4f17d96c338f9e3c13293c11b1be9765804804;hp=64b403d2309dbbcbdb1f790938e71dd8a80d27ab;hpb=4adf3d2450a0fbcd4ec1aa5a5c78afb2088847f3;p=readifood.git diff --git a/www/index.php b/www/index.php index 64b403d..d65e7c7 100644 --- a/www/index.php +++ b/www/index.php @@ -8,12 +8,13 @@ $root = join(DIRECTORY_SEPARATOR, array($_SERVER['DOCUMENT_ROOT'], "..")); $propel_root = join(DIRECTORY_SEPARATOR, array($root, "propel")); $lib_root = join(DIRECTORY_SEPARATOR, array($root, "lib")); - require_once(join(DIRECTORY_SEPARATOR, array("propel", "Propel.php"))); + require_once(join(DIRECTORY_SEPARATOR, array($root, "vendor", "autoload.php"))); Propel::init("$propel_root/build/conf/$propel_project-conf.php"); set_include_path(join(PATH_SEPARATOR, array(join(DIRECTORY_SEPARATOR, array($propel_root, "build", "classes")), get_include_path()))); - $request = preg_replace('!^/branches/[^/]+/!', "", $_SERVER['REQUEST_URI']); + $script_url = array_key_exists('SCRIPT_URL', $_SERVER) ? $_SERVER['SCRIPT_URL'] : $_SERVER['REDIRECT_URL']; + $request = preg_replace('!^/branches/[^/]+/!', "", $script_url); $request = preg_replace('!^/+!', "", $request); $request = preg_replace('!/+$!', "", $request); @@ -29,27 +30,50 @@ #echo "request: $request; module: $module; params: " . print_r($parameters, true); $http = (isset($_SERVER['HTTPS'])) ? "https" : "http"; - $username = $_SERVER['REMOTE_USER']; include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "constants.php"))); include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "functions.php"))); include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "session.php"))); - include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "header.php"))); - $q = new UserQuery; - $user = $q->findOneByUsername($username); - if (! $q->count()) { - echo "

$charity

\n"; - echo "

Not logged in!

\n"; - if ($_SERVER['REMOTE_USER']) echo "

User " . $_SERVER['REMOTE_USER'] . " needs an entry in the user table.

\n"; + + if (isset($_GET['code'])) { + try { + $auth0->getUser(); + header("Location: https://" . $_SERVER['HTTP_HOST'] . "/"); + exit; + } + catch (\Exception $e) { + include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "header.php"))); + echo "

$charity

\n"; + echo "

Not logged in!

\n"; + echo "

There was an authentication error.

\n"; + include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "footer.php"))); + } } - else { - $user_id = $user->getContactId(); - $admin_level = $user->getAdmin(); - if ($module) { - echo "

$charity $module

\n"; - include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "$module.php"))); + + $auth0_user = $auth0->getUser(); + if (isset($auth0_user)) $username = $auth0_user["sub"]; + else $username = null; + + include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "header.php"))); + + if ($username) { + $q = new UserQuery; + $user = $q->findOneByUsername($username); + if (! $q->count()) { + echo "

$charity

\n"; + echo "

Not logged in!

\n"; + echo "

User $username needs an entry in the user table.

\n"; } + else { + $user_id = $user->getContactId(); + $admin_level = $user->getAdmin(); + if ($module) { + echo "

$charity $module

\n"; + include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "$module.php"))); + } - #else include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "menu.php"))); - } + #else include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "menu.php"))); + } + } + else $auth0->login(); include_once(join(DIRECTORY_SEPARATOR, array($lib_root, "footer.php"))); ?>