]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/admin-inc.php
Began to rewrite whole script for newly added filters, new extension stub 'network...
[mailer.git] / inc / modules / admin / admin-inc.php
index b4d858b7236e31985c00c77ca31056942f4446a4..9aa13b1b54c04609bea2cb6cb428ac9bf8c63b9a 100644 (file)
@@ -61,19 +61,21 @@ 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";
-               if (isset($_CONFIG['cache_hits'])) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; }
+               if (getConfig('cache_hits') > 0) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; }
 
                // Include more admins data?
                if (GET_EXT_VERSION("admins") >= "0.7.0") {
@@ -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";
@@ -324,7 +325,7 @@ function ADMIN_DO_ACTION($wht) {
 
        // Define admin login name and ID number
        define('__ADMIN_LOGIN', get_session('admin_login'));
-       define('__ADMIN_ID'   , GET_ADMIN_ID(get_session('admin_login')));
+       define('__ADMIN_ID'   , GET_CURRENT_ADMIN_ID());
 
        // Preload templates
        if (EXT_IS_ACTIVE("admins")) {
@@ -383,7 +384,7 @@ function ADD_ADMIN_MENU($act, $wht, $return=false) {
        $menuTitle = array();
 
        // Is there a cache instance?
-       if ((is_object($cacheInstance)) && (isset($_CONFIG['cache_admin_menu'])) && ($_CONFIG['cache_admin_menu'] == "Y")) {
+       if ((is_object($cacheInstance)) && (getConfig('cache_admin_menu') == "Y")) {
                // Create cache name
                $cacheName = "admin_".$act."_".$wht."_".GET_LANGUAGE()."_".strtolower(get_session('admin_login'));
 
@@ -537,7 +538,7 @@ function ADD_ADMIN_MENU($act, $wht, $return=false) {
        eval($eval);
 
        // Is there a cache instance again?
-       if ((is_object($cacheInstance)) && (isset($_CONFIG['cache_admin_menu'])) && ($_CONFIG['cache_admin_menu'] == "Y")) {
+       if ((is_object($cacheInstance)) && (getConfig('cache_admin_menu') == "Y")) {
                // Init cache
                $cacheInstance->init($cacheName);
 
@@ -775,20 +776,21 @@ function ADMIN_CHECK_MENU_MODE() {
        global $_CONFIG, $cacheArray;
 
        // Set the global mode as the mode for all admins
-       $MODE = $_CONFIG['admin_menu']; $ADMIN = $MODE;
+       $MODE = getConfig('admin_menu');
+       $ADMIN = $MODE;
 
        // Get admin id
-       $aid = GET_ADMIN_ID(get_session('admin_login'));
+       $aid = GET_CURRENT_ADMIN_ID();
 
        // Check individual settings of current admin
        if (isset($cacheArray['admins']['la_mode'][$aid])) {
                // Load from cache
                $ADMIN = $cacheArray['admins']['la_mode'][$aid];
-               if (isset($_CONFIG['cache_hits'])) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; }
+               if (getConfig('cache_hits') > 0) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; }
        } elseif (GET_EXT_VERSION("admins") >= "0.6.7") {
                // Load from database when version of "admins" is enough
                $result = SQL_QUERY_ESC("SELECT la_mode FROM "._MYSQL_PREFIX."_admins WHERE id=%s LIMIT 1",
-                array($aid), __FILE__, __LINE__);
+                       array($aid), __FILE__, __LINE__);
                if (SQL_NUMROWS($result) == 1) {
                        // Load data
                        list($ADMIN) = SQL_FETCHROW($result);
@@ -1192,7 +1194,7 @@ function ADMIN_TEST_PROXY_SETTINGS ($settingsArray) {
        global $_CONFIG;
 
        // Set temporary the new settings
-       $_CONFIG = array_merge($_CONFIG, $settingsArray);
+       $_CONFIG = merge_array($_CONFIG, $settingsArray);
 
        // Now get the test URL
        $content = GET_URL("check-updates3.php");
@@ -1292,6 +1294,9 @@ function ADMIN_RESET_PASSWORD ($login, $password) {
        SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins SET password='%s' WHERE login='%s' LIMIT 1",
                array($passHash, $login), __FILE__, __LINE__);
 
+       // Run filters
+       RUN_FILTER('post_admin_reset_pass', array('login' => $login, 'hash' => $passHash));
+
        // Return output
        return ADMIN_PASSWORD_RESET_DONE;
 }