function CHECK_ADMIN_LOGIN ($admin_login, $password) {
global $cacheArray, $_CONFIG, $cacheInstance;
- // Init variables
+ // By default no admin is found
$ret = "404";
- $data = array();
// Get admin id
$aid = GET_ADMIN_ID($admin_login);
+ // Init array with admin id by default
+ $data = array('aid' => $aid);
+
// Is the cache valid?
- if (!empty($cacheArray['admins']['password'][$aid])) {
+ if (isset($cacheArray['admins']['password'][$aid])) {
// Get password from cache
$data['password'] = $cacheArray['admins']['password'][$aid];
$ret = "pass";
$data['last_failture'] = $cacheArray['admins']['last_failture'][$aid];
} // END - if
} elseif (!EXT_IS_ACTIVE("cache")) {
- $ADD = "";
- if (GET_EXT_VERSION("admins") >= "0.7.0") {
- // Load them here
- $ADD = ", login_failtures, UNIX_TIMESTAMP(last_failture) AS last_failture";
- } // END - if
+ // Add extra data via filter now
+ $ADD = RUN_FILTER('sql_admin_extra_data');
// Get password from DB
$result = SQL_QUERY_ESC("SELECT password".$ADD." FROM "._MYSQL_PREFIX."_admins WHERE id=%s LIMIT 1",
- array($aid), __FILE__, __LINE__);
+ array($aid), __FILE__, __LINE__);
+
+ // Entry found?
if (SQL_NUMROWS($result) == 1) {
// Login password found
$ret = "pass";