]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/admin-inc.php
Fix in CREATE_EXTENSION_DEACTIVATION_TASK() and coding-style updated
[mailer.git] / inc / modules / admin / admin-inc.php
index 970dd69ff5ef87e460c4a93bc1f47ab8bf20ea4a..38bd814274fdaf32df5e7870b8188c10b01c0b30 100644 (file)
@@ -45,8 +45,8 @@ function REGISTER_ADMIN ($user, $md5, $email=WEBMASTER)
         array($user), __FILE__, __LINE__);
        if (SQL_NUMROWS($result) == 0) {
                // Ok, let's create the admin login
-               $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins (login, password, email) VALUES ('%s', '%s', '%s')",
-                array($user, $md5, $email), __FILE__, __LINE__);
+               SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins (login, password, email) VALUES ('%s', '%s', '%s')",
+                       array($user, $md5, $email), __FILE__, __LINE__);
                $ret = "done";
        } else {
                // Free memory
@@ -58,23 +58,24 @@ function REGISTER_ADMIN ($user, $md5, $email=WEBMASTER)
        return $ret;
 }
 // Only be executed on login procedure!
-function CHECK_ADMIN_LOGIN ($admin_login, $password)
-{
+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") {
@@ -83,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";
@@ -137,11 +137,11 @@ function CHECK_ADMIN_LOGIN ($admin_login, $password)
                        set_session('mxchange_admin_last_fail', $data['last_failture']);
 
                        // Update password and reset login failtures
-                       $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins SET password='%s',login_failtures=0,last_failture='0000-00-00 00:00:00' WHERE id=%s LIMIT 1",
+                       SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins SET password='%s',login_failtures=0,last_failture='0000-00-00 00:00:00' WHERE id=%s LIMIT 1",
                                array($data['password'], $aid), __FILE__, __LINE__);
                } else {
                        // Update password
-                       $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins SET password='%s' WHERE id=%s LIMIT 1",
+                       SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins SET password='%s' WHERE id=%s LIMIT 1",
                                array($data['password'], $aid), __FILE__, __LINE__);
                }
 
@@ -303,7 +303,7 @@ function admin_WriteData ($file, $comment, $prefix, $suffix, $DATA, $seek=0) {
 
 //
 function ADMIN_DO_ACTION($wht) {
-       global $menuDesription, $menuTitle, $_CONFIG, $cacheArray, $DATA, $DEPTH;
+       global $menuDesription, $menuTitle, $_CONFIG, $cacheArray, $DATA;
 
        //* DEBUG: */ echo __LINE__."*".$wht."/".$GLOBALS['module']."/".$GLOBALS['action']."/".$GLOBALS['what']."*<br />\n";
        if (EXT_IS_ACTIVE("cache")) {
@@ -325,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")) {
@@ -352,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);
@@ -384,14 +384,14 @@ 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'));
 
                // Is that cache there?
-               if ($cacheInstance->cache_file($cacheName)) {
+               if ($cacheInstance->loadCacheFile($cacheName)) {
                        // Then load it
-                       $data = $cacheInstance->cache_load();
+                       $data = $cacheInstance->getArrayFromCache();
 
                        // Extract all parts
                        $OUT = base64_decode($data['output'][0]);
@@ -408,7 +408,7 @@ function ADD_ADMIN_MENU($act, $wht, $return=false) {
        } // END - if
 
        // Build main menu
-       $result_main = SQL_QUERY("SELECT action, title, descr FROM "._MYSQL_PREFIX."_admin_menu WHERE (what='' OR what IS NULL) ORDER BY sort, id DESC", __FILE__, __LINE__);
+       $result_main = SQL_QUERY("SELECT action, title, descr FROM `"._MYSQL_PREFIX."_admin_menu` WHERE (what='' OR what IS NULL) ORDER BY sort, id DESC", __FILE__, __LINE__);
        if (SQL_NUMROWS($result_main) > 0)
        {
                $OUT = "<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"admin_menu_main\">
@@ -454,7 +454,7 @@ function ADD_ADMIN_MENU($act, $wht, $return=false) {
                                }
                                $OUT .= "</NOBR></TD>
 </TR>\n";
-                               $result_what = SQL_QUERY_ESC("SELECT what, title, descr FROM "._MYSQL_PREFIX."_admin_menu WHERE action='%s' AND what != '' AND what IS NOT NULL ORDER BY sort, id DESC",
+                               $result_what = SQL_QUERY_ESC("SELECT what, title, descr FROM `"._MYSQL_PREFIX."_admin_menu` WHERE action='%s' AND what != '' AND what IS NOT NULL ORDER BY sort, id DESC",
                                 array($menu), __FILE__, __LINE__);
                                if ((SQL_NUMROWS($result_what) > 0) && ($act == $menu))
                                {
@@ -538,9 +538,9 @@ 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->cache_init($cacheName);
+               $cacheInstance->init($cacheName);
 
                // Prepare cache data
                $data = array(
@@ -550,10 +550,10 @@ function ADD_ADMIN_MENU($act, $wht, $return=false) {
                );
 
                // Write the data away
-               $cacheInstance->add_row($data);
+               $cacheInstance->addRow($data);
 
                // Close cache
-               $cacheInstance->cache_close();
+               $cacheInstance->finalize();
        } // END - if
 
        // Return or output content?
@@ -567,7 +567,7 @@ function ADD_ADMIN_MENU($act, $wht, $return=false) {
 function ADD_MEMBER_SELECTION_BOX ($def="0", $add_all=false, $return=false, $none=false, $field="userid")
 {
        // Output selection form with all confirmed user accounts listed
-       $result = SQL_QUERY("SELECT userid, surname, family FROM "._MYSQL_PREFIX."_user_data ORDER BY userid", __FILE__, __LINE__);
+       $result = SQL_QUERY("SELECT userid, surname, family FROM `"._MYSQL_PREFIX."_user_data` ORDER BY userid", __FILE__, __LINE__);
        $OUT = "";
 
        // USe this only for adding points (e.g. adding refs really makes no sence ;-) )
@@ -601,7 +601,7 @@ function ADD_MEMBER_SELECTION_BOX ($def="0", $add_all=false, $return=false, $non
 function ADMIN_MENU_SELECTION($MODE, $default="", $defid="") {
        $wht = "what != ''";
        if ($MODE == "action") $wht = "(what='' OR what IS NULL) AND action !='login'";
-       $result = SQL_QUERY_ESC("SELECT %s, title FROM "._MYSQL_PREFIX."_admin_menu WHERE ".$wht." ORDER BY sort",
+       $result = SQL_QUERY_ESC("SELECT %s, title FROM `"._MYSQL_PREFIX."_admin_menu` WHERE ".$wht." ORDER BY sort",
         array($MODE), __FILE__, __LINE__);
        if (SQL_NUMROWS($result) > 0) {
                // Load menu as selection
@@ -776,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);
@@ -1193,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");
@@ -1293,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;
 }