Determination of username moved to filter FILTER_DETERMINE_USERNAME() (internal TODO)
[mailer.git] / inc / filters.php
index 5f9fa665c497d402768a257adfa84ae2a8fc1b83..cf7d0dd08f60827da9cd6a93714444524fde4d9e 100644 (file)
@@ -123,6 +123,7 @@ ORDER BY `filter_id` ASC", __FUNCTION__, __LINE__);
        // 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');
@@ -575,5 +576,46 @@ function FILTER_REMOVE_UPDATES () {
        } // 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');
+       }
+}
+
 //
 ?>