- Login failtures added to admin/member menu
[mailer.git] / inc / mysql-manager.php
index 96e7cfb9d57cf5ce8a912b67f1c61bd1aa861abc..a5b364cf65ad2aad539997501b61663eedefd5b0 100644 (file)
@@ -261,9 +261,12 @@ function ADD_DESCR($ACC_LVL, $file, $return = false, $output = true) {
        $result = SQL_QUERY_ESC("SELECT title FROM "._MYSQL_PREFIX."_%s_menu WHERE %s='%s' ".$AND." LIMIT 1",
         array($ACC_LVL, $type, $search), __FILE__, __LINE__);
 
+       // Menu found?
        if (SQL_NUMROWS($result) == 1) {
+               // Load title
                list($ret) = SQL_FETCHROW($result);
-               SQL_FREERESULT($result);
+
+               // Shall we return it?
                if ($return) {
                        // Return title
                        return $ret;
@@ -275,9 +278,18 @@ function ADD_DESCR($ACC_LVL, $file, $return = false, $output = true) {
                                //* DEBUG: */ echo __LINE__."+".$type."+<br />\n";
                                $OUT .= "</DIV><br />\n";
                                $DEPTH="0";
-                       }
+
+                               // Handle failed logins here if not in guest
+                               if (($type != "guest") && (GET_EXT_VERSION("sql_patches") >= "0.4.7")) {
+                                       // Handle failture
+                                       $OUT .= HANDLE_LOGIN_FAILTURES($type);
+                               } // END - if
+                       } // END - if
                }
-       }
+       } // END - if
+
+       // Free result
+       SQL_FREERESULT($result);
 
        // Return or output HTML code?
        if ($output) {
@@ -1708,7 +1720,7 @@ function UPDATE_CONFIG ($entries, $values, $updateMode="") {
                if ($cacheInstance->cache_file("config", true)) $cacheInstance->cache_destroy();
 
                // Rebuid the cache
-               require(PATH."inc/load_cache-config.php");
+               require(PATH."inc/loader/load_cache-config.php");
        } // END - if
 }
 // Creates a new task for updated extension
@@ -1761,5 +1773,30 @@ VALUES (%s, 0, 'NEW', 'EXTENSION', '%s', '%s', UNIX_TIMESTAMP())",
        // Free memory
        SQL_FREERESULT($result);
 }
+// Handle menu-depending failed logins and return the rendered content
+function HANDLE_LOGIN_FAILTURES ($menuType) {
+       // Default output is empty ;-)
+       $OUT = "";
+
+       // Guest menus doesn't have login failtures so is the session data set?
+       if (($menuType != "guest") && (isSessionVariableSet('mxchange_'.$menuType.'_failtures')) && (isSessionVariableSet('mxchange_'.$menuType.'_last_fail'))) {
+               // Non-guest has login failtures found, get both data and prepare it for template
+               $content = array(
+                       'login_failtures' => get_session('mxchange_'.$menuType.'_failtures'),
+                       'last_failture'   => MAKE_DATETIME(get_session('mxchange_'.$menuType.'_last_fail'), "2")
+               );
+
+               // Load template
+               $OUT = LOAD_TEMPLATE("login_failture", true, $content);
+
+               // Reset session data
+               set_session('mxchange_'.$menuType.'_failtures', "");
+               set_session('mxchange_'.$menuType.'_last_fail', "");
+       } // END - if
+
+       // Return rendered content
+       return $OUT;
+}
+
 //
 ?>