diff --git a/presentation/login.php b/presentation/login.php index adb1e49..7ad8453 100644 --- a/presentation/login.php +++ b/presentation/login.php @@ -24,32 +24,33 @@ global $default; if ($loginAction == "loginForm") { // TODO: build login form using PatternMainPage print " - - owl_ui_url/stylesheet.php\"> - - -
- owl_root_url/locale/$default->owl_lang/graphics/$default->logo\"> -

- \n - - - - - \t - \t - - - \n - \n -
Please enter your details below to login
$errorMessage
- \t
$lang_username:
$lang_password:
-
owl_graphics_url/icons/login.jpg\" border=\"0\">
-
- - "; - -} elseif ($loginAction == "login") { + + owl_ui_url/stylesheet.php\"> + + +
+ owl_root_url/locale/$default->owl_lang/graphics/$default->logo\"> +

+ \n + + + + + \t + \t + + + \n + \n +
Please enter your details below to login
$errorMessage
+ \t
$lang_username:
$lang_password:
+
owl_graphics_url/icons/login.jpg\" border=\"0\">
+
+ + "; + +} +elseif ($loginAction == "login") { // set default url for login failure $url = $url . "login.php?loginAction=loginForm"; // if requirements are met and we have a username and password to authenticate @@ -60,51 +61,57 @@ if ($loginAction == "loginForm") { switch ($userDetails["status"]) { // bad credentials - case 0: + case 0: $url = $url . "&errorMessage=$lang_loginfail"; - break; + break; // successfully authenticated - case 1: - // start the session - $session = new Session(); - $sessionID = $session->create($userDetails["userID"]); - - // initialise page-level authorisation array - $_SESSION["pageAccess"] = NULL; - - // check for a location to forward to - if (isset($redirect) && strlen(trim($redirect))>0) { - // remove any params from redirect before looking up from sitemap - if (strstr($redirect, "?")) { - $queryString = substr($redirect, strpos($redirect, "?")+1, strlen($redirect)); - $redirect = substr($redirect, 0, strpos($redirect, "?")); - $default->log->debug("login.php redirect=$redirect; querystring=$queryString"); - } - - // need to strip owl_root_url off $redirect - if (strlen($default->owl_root_url) > 0) { - $tmp = urldecode($redirect); - $default->log->debug("login.php: substr($tmp, strpos($tmp, $default->owl_root_url)+strlen($default->owl_root_url), strlen($tmp))"); - $redirect = substr($tmp, strpos($tmp, $default->owl_root_url)+strlen($default->owl_root_url), strlen($tmp)); - $default->log->debug("login.php: redirect=$redirect"); - } + case 1: + // start the session + $session = new Session(); + $sessionID = $session->create($userDetails["userID"]); - $url = generateControllerUrl($default->siteMap->getActionFromPage($redirect)); - // else redirect to the dashboard - } else { + // initialise page-level authorisation array + $_SESSION["pageAccess"] = NULL; + + // check for a location to forward to + if (isset($redirect) && strlen(trim($redirect))>0) { + // remove any params from redirect before looking up from sitemap + if (strstr($redirect, "?")) { + $queryString = substr($redirect, strpos($redirect, "?")+1, strlen($redirect)); + $redirect = substr($redirect, 0, strpos($redirect, "?")); + $default->log->debug("login.php redirect=$redirect; querystring=$queryString"); + } + + // need to strip owl_root_url off $redirect + if (strlen($default->owl_root_url) > 0) { + $tmp = urldecode($redirect); + $default->log->debug("login.php: substr($tmp, strpos($tmp, $default->owl_root_url)+strlen($default->owl_root_url), strlen($tmp))"); + $redirect = substr($tmp, strpos($tmp, $default->owl_root_url)+strlen($default->owl_root_url), strlen($tmp)); + $default->log->debug("login.php: redirect=$redirect"); + } + $action = $default->siteMap->getActionFromPage($redirect); + if ($action) { + $url = generateControllerUrl($action); + } else { + // default to the dashboard $url = generateControllerUrl("dashboard"); } - break; - // login disabled - case 2: - $url = $url . "&errorMessage=$lang_logindisabled"; - break; + + // else redirect to the dashboard if there is none + } else { + $url = generateControllerUrl("dashboard"); + } + break; + // login disabled + case 2: + $url = $url . "&errorMessage=$lang_logindisabled"; + break; // too many sessions - case 3 : - $url = $url . "&errorMessage=$lang_toomanysessions"; - break; - default : - $url = $url . "&errorMessage=$lang_err_general"; + case 3 : + $url = $url . "&errorMessage=$lang_toomanysessions"; + break; + default : + $url = $url . "&errorMessage=$lang_err_general"; } } else { // didn't receive any login parameters, so redirect login form