diff --git a/control.php b/control.php index 851504d..dad49b5 100644 --- a/control.php +++ b/control.php @@ -13,32 +13,41 @@ * * @version $Id$ * @Copyright (c) 1999-2002 The Owl Project Team - * @author michael + * @author owl_fs_root/lib/owl.lib.php"); +require_once("$default->owl_fs_root/config/html.php"); +require_once("$default->owl_fs_root/lib/control.inc"); +require_once("$default->owl_fs_root/lib/Session.inc"); +require_once("$default->owl_fs_root/lib/SiteMap.inc"); // ------------------------------- // page start // ------------------------------- -if (!checkSession()) { - // no session, redirect to login - $action = "LOGIN_FORM"; - // redirect to login page with redirect - $originalRequest = urlencode($_SERVER[REQUEST_URI]);// . $_SERVER[QUERY_STRING]; -} else { - // retrieve session array - $sessionStatus = $_SESSION["sessionStatus"]; +// check the session +checkSession(); + +// loop through array of post params and build query string, omitting action +$queryParams = ""; +foreach ($_POST as $key => $value) { + //echo "key=$key; value=$value
"; + if ($key != "action") { + if (strlen($queryParams) > 0) { + $queryParams = "?$key=$value"; + } else { + $queryParams = $queryParams . "&$key=$value"; + } + } } +// reset authorisation flag before checking access +$_SESSION["authorised"] = false; + // check whether this group has access to the requested page $page = $default->siteMap->getPage($action, $_SESSION["groupID"]); @@ -46,20 +55,20 @@ if (!$page) { // this group doesn't have permission to access the page // or there is no page mapping for the requested action - // TODO: build no permission page - print "you do not have access to view this page! please go away, and come back when you do."; + // FIXME: redirect to no permission page + print "you do not have access to view this page! please go away, and come back when you do.
"; + echo generateLink("LOGOUT") . "logout
"; + exit; } else { - // set authorised flag - $sessionStatus["authorised"] = true; + // set authorised flag and redirect + $_SESSION["authorised"] = true; - //echo "about to redirect to $page
"; + // if we have additional params to add do it + if (strlen($queryParams) > 0) { + $page = $page . "&$queryParams"; + } + redirect($page); - // FIXME: append original request if necessary - //if (isset($originalRequest)) { - //redirect($page . "?fRedirect=$originalRequest"); - //} else { - //redirect($page); - //} } ?>