]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/admin-inc.php
Checking for admin ACL now as filter
[mailer.git] / inc / modules / admin / admin-inc.php
index 9ac190ce3747de34f9ab11b231a5dc720f0ec1c2..4937318b2e01cf8bf8436101012f3bd053140bf2 100644 (file)
@@ -61,15 +61,17 @@ function REGISTER_ADMIN ($user, $md5, $email=WEBMASTER)
 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";
@@ -82,15 +84,14 @@ function CHECK_ADMIN_LOGIN ($admin_login, $password) {
                        $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";
@@ -351,8 +352,8 @@ LIMIT 1", array($act, $wht, $wht), __FILE__, __LINE__);
                        include($INC);
                } elseif (__ACL_ALLOW == false) {
                        // Access denied
-                       LOAD_TEMPLATE("admin_menu_failed", false, ADMINS_ACCESS_DENIED);
-                       ADD_FATAL(ADMINS_ACCESS_DENIED);
+                       LOAD_TEMPLATE("admin_menu_failed", false, ADMIN_ACCESS_DENIED);
+                       ADD_FATAL(ADMIN_ACCESS_DENIED);
                } else {
                        // Include file not found! :-(
                        LOAD_TEMPLATE("admin_menu_failed", false, ADMIN_404_ACTION);