$GLOBALS['filters']['counter'] = array();
// Load all saved filers if sql_patches is updated
- if (isset($GLOBALS['cache_array']['filter'])) {
+ if (isset($GLOBALS['cache_array']['filter']['filter_name'])) {
// Found in cache so rewrite the array
$filterArray = array();
foreach ($GLOBALS['cache_array']['filter']['filter_name'] as $idx => $filterName) {
// Init filters
registerFilter('init', 'UPDATE_LOGIN_DATA');
registerFilter('init', 'INIT_RANDOMIZER');
+ registerFilter('init', 'DETERMINE_USERNAME');
// Login failures handler
registerFilter('post_youhere_line', 'CALL_HANDLER_LOGIN_FAILTURES');
}
// "Runs" the given filters, data is optional and can be any type of data
-function runFilterChain ($filterName, $data = null, $silentAbort = true) {
+function runFilterChain ($filterName, $data = null) {
// Is that filter chain there?
if (!isset($GLOBALS['filters']['chains'][$filterName])) {
// We should find all these non-existing filter chains
// Filter for running SQL commands
function FILTER_RUN_SQLS ($data) {
// Debug message
- //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, " - Entered!");
+ //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "- Entered!");
// Is the array there?
if ((IS_SQLS_VALID()) && ((!isset($data['dry_run'])) || ($data['dry_run'] == false))) {
// Run SQL commands
- //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, " - Found ".COUNT_SQLS()." queries to run.");
+ //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "- Found ".COUNT_SQLS()." queries to run.");
foreach (GET_SQLS() as $sql) {
// Trim spaces away
$sql = trim($sql);
} // END - if
// Debug message
- //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, " - Left!");
+ //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "- Left!");
}
// Filter for updating/validating login data
setUserId(getSession('userid'));
// Load last module and last online time
- $result = SQL_QUERY_ESC("SELECT last_module, last_online FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
+ $result = SQL_QUERY_ESC("SELECT `last_module`, `last_online` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid`=%s LIMIT 1",
array(getUserId()), __FUNCTION__, __LINE__);
// Entry found?
if (SQL_NUMROWS($result) == 1) {
// Load last module and online time
- list($mod, $onl) = SQL_FETCHROW($result);
+ $DATA = SQL_FETCHARRAY($result);
// Maybe first login time?
- if (empty($mod)) $mod = 'login';
+ if (empty($DATA['last_module'])) $DATA['last_module'] = 'login';
// This will be displayed on welcome page! :-)
if (empty($GLOBALS['last']['module'])) {
- $GLOBALS['last']['module'] = $mod; $GLOBALS['last']['online'] = $onl;
+ $GLOBALS['last']['module'] = $DATA['last_module']; $GLOBALS['last']['online'] = $DATA['last_online'];
} // END - if
// 'what' not set?
} // END - if
// Update last module / online time
- SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET `last_module`='%s', last_online=UNIX_TIMESTAMP(), REMOTE_ADDR='%s' WHERE userid=%s LIMIT 1",
- array(getWhat(), detectRemoteAddr(), getUserId()), __FUNCTION__, __LINE__);
+ SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET `last_module`='%s', `last_online`=UNIX_TIMESTAMP(), `REMOTE_ADDR`='%s' WHERE `userid`=%s LIMIT 1",
+ array(
+ getWhat(),
+ detectRemoteAddr(),
+ getUserId()
+ ), __FUNCTION__, __LINE__);
} else {
// Destroy session, we cannot update!
destroyUserSession();
} // END - if
}
+// Determines username for current user state
+function FILTER_DETERMINE_USERNAME () {
+ global $username;
+
+ // Check if logged in
+ if (IS_MEMBER()) {
+ // Is still logged in so we welcome him with his name
+ $result = SQL_QUERY_ESC("SELECT `surname`, `family` FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `userid`=%s LIMIT 1",
+ array(getUserId()), __FILE__, __LINE__);
+ if (SQL_NUMROWS($result) == 1) {
+ // Load surname and family's name and build the username
+ list($s, $f) = SQL_FETCHROW($result);
+ $username = $s . ' ' . $f;
+
+ // Additionally admin?
+ if (IS_ADMIN()) {
+ // Add it
+ $username .= ' ({--_ADMIN_SHORT--})';
+ } // END - if
+ } else {
+ // Hmmm, logged in and no valid userid?
+ $username = '<em>{--_UNKNOWN--}</em>';
+
+ // Destroy session
+ destroyUserSession();
+
+ // Kill userid
+ setUserId(0);
+ }
+
+ // Free memory
+ SQL_FREERESULT($result);
+ } elseif (IS_ADMIN()) {
+ // Admin is there
+ $username = getMessage('_ADMIN');
+ } else {
+ // He's a guest, hello there... ;-)
+ $username = getMessage('_GUEST');
+ }
+}
+
//
?>