X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=9c5f649dd89bfdec34f27bdb74296cc5fc6bbed9;hp=47366597c9ddf5569228a3f84ed4a31892459efe;hb=4fb64ee12fc856499810421c13c55893e7a00bdf;hpb=a6c65fe3bac46ab95bd9e49908c53cd6e3381ff8 diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index 47366597c9..9c5f649dd8 100644 --- a/inc/mysql-manager.php +++ b/inc/mysql-manager.php @@ -651,49 +651,52 @@ function isAdmin ($admin = '') { } // END - if //* DEBUG: */ print(__FUNCTION__.':'.$admin.'/'.$passCookie.'
'); - // Search in array for entry - if (isset($GLOBALS['admin_hash'])) { - // Use cached string - $valPass = $GLOBALS['admin_hash']; - } elseif ((!empty($passCookie)) && (isAdminHashSet($admin) === true) && (!empty($admin))) { - // Login data is valid or not? - $valPass = generatePassString(getAdminHash($admin)); - - // Cache it away - $GLOBALS['admin_hash'] = $valPass; - - // Count cache hits - incrementStatsEntry('cache_hits'); - } elseif ((!empty($admin)) && ((!isExtensionActive('cache'))) || (isAdminHashSet($admin) === false)) { - // Search for admin - $result = SQL_QUERY_ESC("SELECT HIGH_PRIORITY `password` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `login`='%s' LIMIT 1", - array($admin), __FUNCTION__, __LINE__); + // Do we have cache? + if (!isset($GLOBALS['is_admin'][$admin] + // Search in array for entry + if (isset($GLOBALS['admin_hash'])) { + // Use cached string + $valPass = $GLOBALS['admin_hash']; + } elseif ((!empty($passCookie)) && (isAdminHashSet($admin) === true) && (!empty($admin))) { + // Login data is valid or not? + $valPass = generatePassString(getAdminHash($admin)); + + // Cache it away + $GLOBALS['admin_hash'] = $valPass; + + // Count cache hits + incrementStatsEntry('cache_hits'); + } elseif ((!empty($admin)) && ((!isExtensionActive('cache'))) || (isAdminHashSet($admin) === false)) { + // Search for admin + $result = SQL_QUERY_ESC("SELECT HIGH_PRIORITY `password` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `login`='%s' LIMIT 1", + array($admin), __FUNCTION__, __LINE__); - // Is he admin? - $passDB = ''; - if (SQL_NUMROWS($result) == 1) { - // Admin login was found so let's load password from DB - list($passDB) = SQL_FETCHROW($result); + // Is he admin? + $passDB = ''; + if (SQL_NUMROWS($result) == 1) { + // Admin login was found so let's load password from DB + list($passDB) = SQL_FETCHROW($result); - // Temporary cache it - setAdminHash($admin, $passDB); + // Temporary cache it + setAdminHash($admin, $passDB); - // Generate password hash - $valPass = generatePassString($passDB); - } // END - if + // Generate password hash + $valPass = generatePassString($passDB); + } // END - if - // Free memory - SQL_FREERESULT($result); - } + // Free memory + SQL_FREERESULT($result); + } - if (!empty($valPass)) { - // Check if password is valid - //* DEBUG: */ print(__FUNCTION__ . ':(' . $valPass . '==' . $passCookie . ')='.intval($valPass == $passCookie).'
'); - $ret = (($valPass == $passCookie) || ((strlen($valPass) == 32) && ($valPass == md5($passCookie))) || (($valPass == '*FAILED*') && (!isExtensionActive('cache')))); + if (!empty($valPass)) { + // Check if password is valid + //* DEBUG: */ print(__FUNCTION__ . ':(' . $valPass . '==' . $passCookie . ')='.intval($valPass == $passCookie).'
'); + $GLOBALS['is_admin'][$admin] = (($valPass == $passCookie) || ((strlen($valPass) == 32) && ($valPass == md5($passCookie))) || (($valPass == '*FAILED*') && (!isExtensionActive('cache')))); + } // END - if } // END - if // Return result of comparision - return $ret; + return $GLOBALS['is_admin'][$admin]; } // Generates a list of "max receiveable emails per day"