* $Date:: $ *
* $Tag:: 0.2.1-FINAL $ *
* $Author:: $ *
- * Needs to be in all Files and every File needs "svn propset *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009, 2010 by Mailer Developer Team *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
die();
} // END - if
-// Filter for updates/extends on the online list
-function FILTER_UPDATE_ONLINE_LIST () {
- // Do not update online list when extension is deactivated
- if (!isExtensionActive('online', true)) return;
-
- // Empty session?
- if (session_id() == '') {
- // This is invalid here!
- debug_report_bug(__FUNCTION__, __LINE__, 'Invalid session.');
- } // END - if
-
- // Initialize variables
- $userid = '0';
- $isMember = 'N';
- $isAdmin = 'N';
-
- // Valid userid?
- if ((isMemberIdSet()) && (getMemberId() > 0) && (isMember())) {
- // Is valid user
- $userid = getMemberId();
- $isMember = 'Y';
- } // END - if
-
- if (isAdmin()) {
- // Is administrator
- $isAdmin = 'Y';
- } // END - if
-
- // Now search for the user
- $result = SQL_QUERY_ESC("SELECT `timestamp` FROM `{?_MYSQL_PREFIX?}_online` WHERE `sid`='%s' LIMIT 1",
- array(session_id()), __FUNCTION__, __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(),
- `ip`='%s'
-WHERE
- `sid`='%s'
-LIMIT 1",
- array(
- getModule(),
- getAction(),
- getWhat(),
- $userid,
- makeDatabaseUserId(determineReferalId()),
- $isMember,
- $isAdmin,
- detectRemoteAddr(),
- session_id()
- ), __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')",
- array(
- getModule(),
- getAction(),
- getWhat(),
- $userid,
- makeDatabaseUserId(determineReferalId()),
- $isMember,
- $isAdmin,
- session_id(),
- detectRemoteAddr()
- ), __FUNCTION__, __LINE__);
- }
-
- // Free result
- SQL_FREERESULT($result);
-
- // Purge old entries
- SQL_QUERY('DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_online` WHERE `timestamp` <= (UNIX_TIMESTAMP() - {?online_timeout?})', __FUNCTION__, __LINE__);
-}
-
// [EOF]
?>