Fixed ui behaviour during FA upgrade.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Tue, 1 Sep 2009 11:19:55 +0000 (11:19 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Tue, 1 Sep 2009 11:19:55 +0000 (11:19 +0000)
includes/current_user.inc
includes/session.inc

index 77e8dc3e471707e139509000211a9548ccc27017..fc11db8442acec040c7072dc8e9bccfa48a31025 100644 (file)
@@ -64,8 +64,9 @@ class current_user
                if (db_num_rows($Auth_Result) > 0)
                {
                        $myrow = db_fetch($Auth_Result);
+                       $this->old_db = isset($myrow["full_access"]);
                        if (! @$myrow["inactive"]) {
-                               if (isset($myrow["full_access"])) { 
+                               if ($this->old_db) { 
                                        // Transition code:
                                        // db was not yet upgraded after source update to v.2.2
                                        // give enough access for admin user to continue upgrade
@@ -115,12 +116,11 @@ class current_user
        function check_user_access()
        {
                global $security_groups;
-               if (isset($security_groups)) {
+               if ($this->old_db) {
                        // notification after upgrade from pre-2.2 version
-//                     display_notification(_("After database upgrade don't forget to remove \$security_groups and \$security_headings from config.php file!"));
-                       return is_array(@$security_groups[$this->access]);
+                       return isset($security_groups) && is_array(@$security_groups[$this->access]);
                } else
-                       return is_array($this->role_set);
+                       return !isset($security_groups) && is_array($this->role_set);
        }
 
        function can_access_page($page_level)
index c37b7c15d6399d953e9bc0ebae7a8fef60a28c7c..566c9a662b442200bc8636006380f47f9c3ac446 100644 (file)
@@ -52,10 +52,10 @@ function check_page_security($page_security)
        if (!$_SESSION["wa_current_user"]->check_user_access())
        {
                // notification after upgrade from pre-2.2 version
-               $msg = is_array($_SESSION["wa_current_user"]->role_set) ?
-                       _("Please remove \$security_groups and \$security_headings arrays from config.php file!")
-                       : _("Security settings have not been defined for your user account.")
-                       . "<br>" . _("Please contact your system administrator.");
+               $msg = $_SESSION["wa_current_user"]->old_db ?
+                        _("Security settings have not been defined for your user account.")
+                               . "<br>" . _("Please contact your system administrator.")       
+                       : _("Please remove \$security_groups and \$security_headings arrays from config.php file!");
 
                page(_("Access denied"), false);
                        display_error($msg);
@@ -102,7 +102,9 @@ function strip_quotes($data)
 //
 function login_timeout()
 {
-       if ($_SESSION["wa_current_user"]->logged) {
+       // skip timeout on logout page
+       if ($_SESSION["wa_current_user"]->logged 
+                       && !strpos($_SERVER['PHP_SELF'], 'logout.php')) {
                $tout = $_SESSION["wa_current_user"]->timeout;
                if ($tout && (time() > $_SESSION["wa_current_user"]->last_act + $tout))
                {