+ // If admin login is not given take current from cookies...
+ if ((empty($adminLogin)) && (isSessionVariableSet('admin_login')) && (isSessionVariableSet('admin_md5'))) {
+ // Get admin login and password from session/cookies
+ $adminLogin = getSession('admin_login');
+ $passCookie = getSession('admin_md5');
+ } // END - if
+ //* DEBUG: */ print(__FUNCTION__.':'.$adminLogin.'/'.$passCookie.'<br />');
+
+ // Do we have cache?
+ if (!isset($GLOBALS['is_admin'][$adminLogin])) {
+ // Init it with failed
+ $GLOBALS['is_admin'][$adminLogin] = false;
+
+ // Search in array for entry
+ if (isset($GLOBALS['admin_hash'])) {
+ // Use cached string
+ $valPass = $GLOBALS['admin_hash'];
+ } elseif ((!empty($passCookie)) && (isAdminHashSet($adminLogin) === true) && (!empty($adminLogin))) {
+ // Login data is valid or not?
+ $valPass = encodeHashForCookie(getAdminHash($adminLogin));
+
+ // Cache it away
+ $GLOBALS['admin_hash'] = $valPass;
+
+ // Count cache hits
+ incrementStatsEntry('cache_hits');
+ } elseif ((!empty($adminLogin)) && ((!isExtensionActive('cache')) || (isAdminHashSet($adminLogin) === false))) {
+ // Get admin hash and hash it
+ $valPass = encodeHashForCookie(getAdminHash($adminLogin));
+
+ // Cache it away
+ $GLOBALS['admin_hash'] = $valPass;
+ }
+
+ if (!empty($valPass)) {
+ // Check if password is valid
+ //* DEBUG: */ print(__FUNCTION__ . ':(' . $valPass . '==' . $passCookie . ')='.intval($valPass == $passCookie).'<br />');
+ $GLOBALS['is_admin'][$adminLogin] = (($valPass == $passCookie) || ((strlen($valPass) == 32) && ($valPass == md5($passCookie))) || (($valPass == '*FAILED*') && (!isExtensionActive('cache'))));
+ } // END - if
+ } // END - if
+
+ // Return result of comparision
+ return $GLOBALS['is_admin'][$adminLogin];
+}
+
+// Generates a list of "max receiveable emails per day"
+function addMaxReceiveList ($mode, $default = '', $return = false) {
+ $OUT = '';
+ $result = false;
+
+ switch ($mode) {
+ case 'guest':
+ // Guests (in the registration form) are not allowed to select 0 mails per day.
+ $result = SQL_QUERY("SELECT `value`, `comment` FROM `{?_MYSQL_PREFIX?}_max_receive` WHERE `value` > 0 ORDER BY `value` ASC",
+ __FUNCTION__, __LINE__);
+ break;
+
+ case 'member':
+ // Members are allowed to set to zero mails per day (we will change this soon!)
+ $result = SQL_QUERY("SELECT `value`, `comment` FROM `{?_MYSQL_PREFIX?}_max_receive` ORDER BY `value` ASC",
+ __FUNCTION__, __LINE__);
+ break;
+
+ default: // Invalid!
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf("Invalid mode %s detected.", $mode));
+ break;