- // Initialize variables
- $uid = 0; $rid = 0; $MEM = "N"; $ADMIN = "N";
-
- // Valid userid?
- if ((!empty($GLOBALS['userid'])) && ($GLOBALS['userid'] > 0) && (IS_MEMBER())) {
- // Is valid user
- $uid = bigintval($GLOBALS['userid']);
- $MEM = "Y";
- } // END - if
-
- if (IS_ADMIN()) {
- // Is administrator
- $ADMIN = "Y";
- } // END - if
-
- if (isSessionVariableSet('refid')) {
- // Check cookie
- if (get_session('refid') > 0) $rid = bigintval($GLOBALS['refid']);
- } // END - if
-
- // Now search for the user
- $result = SQL_QUERY_ESC("SELECT timestamp FROM "._MYSQL_PREFIX."_online
-WHERE sid='%s' LIMIT 1",
- array($SID), __FILE__, __LINE__);
-
- // Entry found?
- if (SQL_NUMROWS($result) == 1) {
- // Then update it
- SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_online SET
-module='%s',
-action='%s',
-what='%s',
-userid=%s,
-refid=%s,
-is_member='%s',
-is_admin='%s',
-timestamp=UNIX_TIMESTAMP()
-WHERE sid='%s' LIMIT 1",
- array($mod, $act, $wht, $uid, $rid, $MEM, $ADMIN, $SID), __FILE__, __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')",
- array($mod, $act, $wht, $uid, $rid, $MEM, $ADMIN, $SID, GET_REMOTE_ADDR()), __FILE__, __LINE__
- );
- }
-
- // Free result
- SQL_FREERESULT($result);
-
- // Purge old entries
- $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_online WHERE timestamp <= (UNIX_TIMESTAMP() - %s)",
- array(getConfig('online_timeout')), __FILE__, __LINE__);
-}
-// OBSOLETE: Sends out mail to all administrators