Fixes for broken order page and themes
[mailer.git] / inc / libs / online_functions.php
index 9b8fcbe9d1fc9a943564d8892faf963d35dbbf69..fb7dfc7c89fec524e0bd8d56c46cbf2e4470e11b 100644 (file)
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Online-Funktionen                                *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $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 - 2008 by Roland Haeder                           *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
 
 // Some security stuff...
 if (!defined('__SECURITY')) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
-       require($INC);
+       die();
 }
 
 // Filter for updates/extends on the online list
 function FILTER_UPDATE_ONLINE_LIST () {
-       global $PHPSESSID;
-
        // Do not update online list when extension is deactivated
-       if (!EXT_IS_ACTIVE("online", true)) return;
+       if (!isExtensionActive('online', true)) return;
 
        // Empty session?
-       if (empty($PHPSESSID)) {
+       if (session_id() == '') {
                // This is invalid here!
-               print "Invalid session. Backtrace:<pre>";
-               debug_print_backtrace();
-               die("</pre>");
+               debug_report_bug('Invalid session.');
        } // END - if
 
        // Initialize variables
-       $uid = 0; $rid = 0; $MEM = "N"; $ADMIN = "N";
+       $userid = 0;
+       $MEM = 'N';
+       $ADMIN = 'N';
 
        // Valid userid?
-       if ((!empty($GLOBALS['userid'])) && ($GLOBALS['userid'] > 0) && (IS_MEMBER())) {
+       if ((isUserIdSet()) && (getUserId() > 0) && (isMember())) {
                // Is valid user
-               $uid = bigintval($GLOBALS['userid']);
-               $MEM = "Y";
+               $userid = getUserId();
+               $MEM = 'Y';
        } // END - if
 
-       if (IS_ADMIN()) {
+       if (isAdmin()) {
                // Is administrator
-               $ADMIN = "Y";
+               $ADMIN = 'Y';
        } // END - if
 
-       if (!empty($GLOBALS['refid'])) {
-               // Read cookie
-               $rid = bigintval($GLOBALS['refid']);
-       } // END - if
+       // Get refid
+       $rid = determineReferalId();
 
        // Now search for the user
-       $result = SQL_QUERY_ESC("SELECT timestamp FROM `{!MYSQL_PREFIX!}_online` WHERE sid='%s' LIMIT 1",
-               array($PHPSESSID), __FILE__, __LINE__);
+       $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(
-                               $GLOBALS['module'],
-                               $GLOBALS['action'],
-                               $GLOBALS['what'],
-                               $uid,
-                               $rid,
-                               $MEM,
-                               $ADMIN,
-                               GET_REMOTE_ADDR(),
-                               $PHPSESSID
-                       ), __FILE__, __LINE__
-               );
+               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,
+                       $rid,
+                       $MEM,
+                       $ADMIN,
+                       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')",
+               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(
-                               $GLOBALS['module'],
-                               $GLOBALS['action'],
-                               $GLOBALS['what'],
-                               $uid,
+                               getModule(),
+                               getAction(),
+                               getWhat(),
+                               $userid,
                                $rid,
                                $MEM,
                                $ADMIN,
-                               $PHPSESSID,
-                               GET_REMOTE_ADDR()
-                       ), __FILE__, __LINE__
-               );
+                               session_id(),
+                               detectRemoteAddr()
+                       ), __FUNCTION__, __LINE__);
        }
 
        // Free result
        SQL_FREERESULT($result);
 
        // Purge old entries
-       SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!MYSQL_PREFIX!}_online` WHERE timestamp <= (UNIX_TIMESTAMP() - %s)",
-               array(getConfig('online_timeout')), __FILE__, __LINE__);
+       SQL_QUERY("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_online` WHERE `timestamp` <= (UNIX_TIMESTAMP() - {?online_timeout?})", __FUNCTION__, __LINE__);
 }
 
-//
+// [EOF]
 ?>