*** empty log message ***
[fa-stable.git] / includes / current_user.inc
index fc11db8442acec040c7072dc8e9bccfa48a31025..99d314770b6f5952cd723d940ee2c19b24c02d9b 100644 (file)
@@ -25,7 +25,7 @@ class current_user
        var $timeout;
        var $last_act;
        var $role_set = false;
-       
+       var $old_db;    
        var $logged;
        var $ui_mode = 0;
        
@@ -54,7 +54,7 @@ class current_user
 
        function login($company, $loginname, $password)
        {
-               global $security_areas, $security_groups, $security_headings;
+               global $security_areas, $security_groups, $security_headings, $path_to_root;
                
                $this->set_company($company);
            $this->logged = false;
@@ -73,6 +73,7 @@ class current_user
                                        if (!isset($security_groups) || !isset($security_headings)) {
                                                echo "<center><br><br><font size='5' color='red'><b>";
                                                echo _('Before software upgrade you have to include old $security_groups and $security_headings arrays from old config.php file to the new one.');
+                                               echo '<br>'."<a href=$path_to_root/index.php>"._("Back")."</a>";
                                                echo "</b></font><br><br></center>";
                                                exit;
                                        }
@@ -123,10 +124,9 @@ class current_user
                        return !isset($security_groups) && is_array($this->role_set);
        }
 
-       function can_access_page($page_level)
+       function can_access($page_level)
        {
                global $security_groups, $security_areas;
-
                if (isset($security_groups)) {
                        return $this->company == 0 &&
                                in_array(20, $security_groups[$this->access]);
@@ -134,17 +134,26 @@ class current_user
 
                if ($page_level === 'SA_OPEN') 
                        return true;
+               if ($page_level === 'SA_DENIED' || $page_level === '') 
+                       return false;
+
                $code = $security_areas[$page_level][0];
+
                // only first registered company has site admin privileges
                return $code && in_array($code, $this->role_set)
-                       && ($this->company == 0 || ($code&~0xff != SS_SADMIN));
+                       && ($this->company == 0 || (($code&~0xff) != SS_SADMIN));
+       }
+
+       function can_access_page($page_level)
+       {
+               return $this->can_access($page_level);
        }
 
-       function get_db_connection()
+       function get_db_connection($id=-1)
        {
        global $db_connections;
 
-       $connection = $db_connections[$this->company];
+       $connection = $db_connections[$id == -1 ? $this->company : $id];
 
        //print_r($connection);