X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=www%2Findex.php;h=d65e7c7c6efb13745a7d3bbaae59e7e9ab7ea254;hb=HEAD;hp=ae8b5a11318131c5014732bdcf734fe398ec7e76;hpb=f44ed8d0e1de072ea341c013c967714cd0217fee;p=readifood.git diff --git a/www/index.php b/www/index.php index ae8b5a1..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 "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("$propel_root/build/classes", get_include_path()))); + 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("$lib_root/constants.php"); - include_once("$lib_root/functions.php"); - include_once("$lib_root/session.php"); - include_once("$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"; + 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"))); + + 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("$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("$lib_root/menu.php"); - } - include_once("$lib_root/footer.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"))); ?>