diff --git a/htdocs/index.php b/htdocs/index.php index d6fb27b..cca8b53 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -3,6 +3,11 @@ define("SITE_ROOT", realpath(dirname(__file__))); require_once SITE_ROOT . "/lib/init.php"; +if (!$S->isAnonymous() && $S->user->isAllowed()) +{ + http::redirect("/crashes.php"); +} + Layout::header(); ?> diff --git a/htdocs/lib/Layout.php b/htdocs/lib/Layout.php index b79bfdf..098c978 100644 --- a/htdocs/lib/Layout.php +++ b/htdocs/lib/Layout.php @@ -31,6 +31,27 @@ class Layout { + + function getLoginGateway() + { + $assoc_handle_expires = (int)Option::get('assoc_handle_expires'); + $now = time(); + + $assoc_handle = Option::get("assoc_handle"); + + if (!$assoc_handle || $assoc_handle_expires < $now) + { + $assoc_handle_expires = time() + 604800; + $assoc_handle = GoogleOpenID::getAssociationHandle(); + if ($assoc_handle) + { + Option::update("assoc_handle_expires", $assoc_handle_expires); + Option::update("assoc_handle", $assoc_handle); + } + } + + return GoogleOpenID::createRequest(URL_ROOT . "/process_login.php", $handle, true); + } function since($since) { @@ -67,7 +88,7 @@ class Layout { $item = new stdClass; $item->label = "Login"; - $item->link = "/login.php"; + $item->link = self::getLoginGateway()->getRequestURL(); $menu[] = $item; } else diff --git a/htdocs/lib/init.php b/htdocs/lib/init.php index a5d64ee..5d06a62 100644 --- a/htdocs/lib/init.php +++ b/htdocs/lib/init.php @@ -69,7 +69,7 @@ if (!DBH::$db->connect($DB_NAME, $DB_HOST, $DB_USER, $DB_PASS)) { die(); } -//Option::init(); +Option::init(); $S = new Session(); if (!defined('NO_SESSION') && PHP_SAPI != "cli") { diff --git a/htdocs/login.php b/htdocs/login.php index ffbfcda..27756d4 100644 --- a/htdocs/login.php +++ b/htdocs/login.php @@ -2,24 +2,8 @@ define("SITE_ROOT", realpath(dirname(__file__))); require_once SITE_ROOT . "/lib/init.php"; -$assoc_handle_expires = (int)Option::get('assoc_handle_expires'); -$now = time(); - -$assoc_handle = Option::get("assoc_handle"); - -if (!$assoc_handle || $assoc_handle_expires < $now) -{ - $assoc_handle_expires = time() + 604800; - $assoc_handle = GoogleOpenID::getAssociationHandle(); - if ($assoc_handle) - { - Option::update("assoc_handle_expires", $assoc_handle_expires); - Option::update("assoc_handle", $assoc_handle); - } -} - -$google_gateway = GoogleOpenID::createRequest(URL_ROOT . "/process_login.php", $handle, true); +$google_gateway = Layout::getLoginGateway(); Layout::header(); ?>