Overall performance increased
[mailer.git] / inc / mysql-manager.php
index c32622cf8ea823275aa1addee9cdfb5b1a98ab61..0739eabb2a66026c6ff1682f2a68bb5de4509c1a 100644 (file)
@@ -440,12 +440,18 @@ function IS_ADMIN($admin="")
        //* DEBUG: */ echo __LINE__."ADMIN:".$admin."/".$passCookie."<br />";
 
        // Search in array for entry
-       if ((!empty($passCookie)) && (isset($cacheArray['admins']['password'][$admin])) && (!empty($admin))) {
+       if (isset($cacheArray['admin_hash'])) {
+               // Use cached string
+               $valPass = $cacheArray['admin_hash'];
+       } elseif ((!empty($passCookie)) && (isset($cacheArray['admins']['password'][$admin])) && (!empty($admin))) {
                // Count cache hits
                $_CONFIG['cache_hits']++;
 
                // Login data is valid or not?
                $valPass = generatePassString($cacheArray['admins']['password'][$admin]);
+
+               // Cache it away
+               $cacheArray['admin_hash'] = $valPass;
        } elseif (!empty($admin)) {
                // Search for admin
                $result = SQL_QUERY_ESC("SELECT HIGH_PRIORITY password FROM "._MYSQL_PREFIX."_admins WHERE login='%s' LIMIT 1",
@@ -624,9 +630,7 @@ function IS_MEMBER()
 
                // Free memory
                SQL_FREERESULT($result);
-       }
-        else
-       {
+       } else {
                // Cookie data is invalid!
                //* DEBUG: */ echo __LINE__."///<br />";
                destroy_user_session();
@@ -634,6 +638,8 @@ function IS_MEMBER()
                // Remove array elements to prevent errors
                unset($GLOBALS['userid']);
        }
+
+       // Return status
        return $ret;
 }
 //