registerFilter(__FUNCTION__, __LINE__, 'init', 'RUN_HOURLY_RESET');
registerFilter(__FUNCTION__, __LINE__, 'init', 'RUN_DAILY_RESET');
registerFilter(__FUNCTION__, __LINE__, 'init', 'TRIGGER_SENDING_POOL');
- registerFilter(__FUNCTION__, __LINE__, 'init', 'DETERMINE_USERNAME');
+ unregisterFilter(__FUNCTION__, __LINE__, 'init', 'DETERMINE_USERNAME', TRUE);
registerFilter(__FUNCTION__, __LINE__, 'init', 'DETERMINE_WHAT_ACTION');
registerFilter(__FUNCTION__, __LINE__, 'init', 'COUNT_MODULE');
registerFilter(__FUNCTION__, __LINE__, 'init', 'UPDATE_LOGIN_DATA');
registerFilter(__FUNCTION__, __LINE__, 'init', 'ACTIVATE_EXCHANGE');
registerFilter(__FUNCTION__, __LINE__, 'init', 'REDIRECT_WRONG_SERVER_NAME');
+ // Post-initialization
+ registerFilter(__FUNCTION__, __LINE__, 'post_init', 'DETERMINE_USERNAME');
+
// Page headers - pre-filter (normally, you want to register here)
registerFilter(__FUNCTION__, __LINE__, 'pre_page_header', 'LOAD_PAGE_HEADER');
// Is there cache?
if (isset($GLOBALS[__FUNCTION__])) {
// Return it
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'isAdmin()=' . intval($GLOBALS[__FUNCTION__]));
return $GLOBALS[__FUNCTION__];
} // END - if
$ret = FALSE;
$adminId = '0';
$passwordFromCookie = '';
- $valPass = '';
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $adminId);
// If admin login is not given take current from cookies...
if ((isSessionVariableSet('admin_id')) && (isSessionVariableSet('admin_md5'))) {
// Get admin login and password from session/cookies
- $adminId = getCurrentAdminId();
+ $adminId = getCurrentAdminId();
$passwordFromCookie = getAdminMd5();
} // END - if
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'adminId=' . $adminId . 'passwordFromCookie=' . $passwordFromCookie);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'adminId=' . $adminId . ',passwordFromCookie=' . $passwordFromCookie);
// Abort if admin id is zero
- if ($adminId == '0') {
+ if (($adminId == '0') || (empty($passwordFromCookie))) {
// A very noisy debug message ...
//* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Current adminId is zero. isSessionVariableSet(admin_id)=' . intval(isSessionVariableSet('admin_id')) . ',isSessionVariableSet(admin_md5)=' . intval(isSessionVariableSet('admin_md5')));
// Search in array for entry
if (isset($GLOBALS['admin_hash'])) {
// Use cached string
- $valPass = $GLOBALS['admin_hash'];
- } elseif ((!empty($passwordFromCookie)) && (isAdminHashSet($adminId) === TRUE) && (!empty($adminId))) {
- // Login data is valid or not?
- $valPass = encodeHashForCookie(getAdminHash($adminId));
-
- // Cache it away
- $GLOBALS['admin_hash'] = $valPass;
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using admin_hash=' . $GLOBALS['admin_hash'] . ' from cache');
+ } elseif ((!empty($adminId)) && (!empty($passwordFromCookie)) && (isAdminHashSet($adminId) === TRUE)) {
+ // Get admin hash and hash it
+ $GLOBALS['admin_hash'] = encodeHashForCookie(getAdminHash($adminId));
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'valPass=' . $GLOBALS['admin_hash']);
// Count cache hits
incrementStatsEntry('cache_hits');
} elseif ((!empty($adminId)) && ((!isExtensionActive('cache')) || (isAdminHashSet($adminId) === FALSE))) {
// Get admin hash and hash it
- $valPass = encodeHashForCookie(getAdminHash($adminId));
-
- // Cache it away
- $GLOBALS['admin_hash'] = $valPass;
+ $GLOBALS['admin_hash'] = encodeHashForCookie(getAdminHash($adminId));
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'valPass=' . $GLOBALS['admin_hash']);
}
- // $valPass shall not be empty. If so, the admin has not found.
- if (!empty($valPass)) {
- // Check if password is valid
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, '(' . $valPass . '==' . $passwordFromCookie . ')='.intval($valPass == $passwordFromCookie));
- $GLOBALS[__FUNCTION__] = ($GLOBALS['admin_hash'] == $passwordFromCookie);
- } // END - if
+ // Check if password is valid
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, '(' . $GLOBALS['admin_hash'] . '==' . $passwordFromCookie . ')='.intval($GLOBALS['admin_hash'] == $passwordFromCookie));
+ $GLOBALS[__FUNCTION__] = ((!empty($GLOBALS['admin_hash'])) && ($GLOBALS['admin_hash'] == $passwordFromCookie));
// Return result of comparision
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'isAdmin()=' . intval($GLOBALS[__FUNCTION__]));
return $GLOBALS[__FUNCTION__];
}
// Get password hash from administrator's login name
function getAdminHash ($adminId) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'adminId=' . $adminId . ' - ENTERED!');
// By default an invalid hash is returned
$data['password'] = -1;
+ // Is admin hash set?
if (isAdminHashSet($adminId)) {
// Check cache
$data['password'] = $GLOBALS['cache_array']['admin']['password'][$adminId];
}
// Return password hash
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'adminId=' . $adminId . ',data[password]=' . $data['password'] . ' - EXIT!');
return $data['password'];
}