A lot has been rewritten, ext-teams added, ext-forced continued:
[mailer.git] / inc / filter / online_filter.php
index 50fb19a473c78a287188dc881168c8f7456d2509..710e76d92137df2b57a122d9fa5e7873d19212ec 100644 (file)
@@ -41,8 +41,9 @@ if (!defined('__SECURITY')) {
 } // END - if
 
 // Filter for updates/extends on the online list
-function FILTER_UPDATE_ONLINE_LIST () {
+function FILTER_UPDATE_ONLINE_LIST ($filterData) {
        // Do not update online list when extension is deactivated
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
        if (!isExtensionActive('online', true)) {
                // Extension not active
                return;
@@ -55,21 +56,15 @@ function FILTER_UPDATE_ONLINE_LIST () {
        } // END - if
 
        // Initialize variables
-       $userid = '0';
-       $isMember = 'N';
-       $isAdmin = 'N';
-       $action = getActionFromModuleWhat(getModule(), getWhat());
+       $userid   = NULL;
+       $isMember = convertBooleanToYesNo(isMember());
+       $isAdmin  = convertBooleanToYesNo(isAdmin());
+       $action   = getActionFromModuleWhat(getModule(), getWhat());
 
        // Valid userid?
        if (isMember()) {
-               // Is valid user
+               // Is valid user, so get the userid
                $userid = getMemberId();
-               $isMember = 'Y';
-       } // END - if
-
-       if (isAdmin()) {
-               // Is administrator
-               $isAdmin = 'Y';
        } // END - if
 
        // Now search for the user
@@ -98,8 +93,8 @@ LIMIT 1",
                        getModule(),
                        $action,
                        getWhat(),
-                       makeDatabaseUserId($userid),
-                       makeDatabaseUserId(determineReferalId()),
+                       makeZeroToNull($userid),
+                       makeZeroToNull(determineReferalId()),
                        $isMember,
                        $isAdmin,
                        detectRemoteAddr(),
@@ -107,13 +102,13 @@ LIMIT 1",
                ), __FUNCTION__, __LINE__);
        } else {
                // No entry does exists so we simply add it!
-               SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_online` (`module`, `action`, `what`, `userid`, `refid`, `is_member`, `is_admin`, `timestamp`, `sid`, `ip`) VALUES ('%s','%s','%s', %s, %s, '%s','%s', UNIX_TIMESTAMP(), '%s','%s')",
+               SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_online` (`module`,`action`,`what`,`userid`,`refid`,`is_member`,`is_admin`,`timestamp`,`sid`,`ip`) VALUES ('%s','%s','%s', %s, %s, '%s','%s', UNIX_TIMESTAMP(), '%s','%s')",
                        array(
                                getModule(),
                                $action,
                                getWhat(),
-                               makeDatabaseUserId($userid),
-                               makeDatabaseUserId(determineReferalId()),
+                               makeZeroToNull($userid),
+                               makeZeroToNull(determineReferalId()),
                                $isMember,
                                $isAdmin,
                                session_id(),
@@ -125,7 +120,11 @@ LIMIT 1",
        SQL_FREERESULT($result);
 
        // Purge old entries
-       SQL_QUERY('DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_online` WHERE `timestamp` <= (UNIX_TIMESTAMP() - {?online_timeout?})', __FUNCTION__, __LINE__);
+       SQL_QUERY('DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_online` WHERE (UNIX_TIMESTAMP() - `timestamp`) >= {?online_timeout?}', __FUNCTION__, __LINE__);
+
+       // Return data
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+       return $filterData;
 }
 
 // [EOF]