X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Fonline_functions.php;h=fb7dfc7c89fec524e0bd8d56c46cbf2e4470e11b;hp=9b8fcbe9d1fc9a943564d8892faf963d35dbbf69;hb=d92d8b4ddd219b65df8e0bba5e4354c0bbfba5c9;hpb=cca98f57dff720b174d21d071cee8303462485d7 diff --git a/inc/libs/online_functions.php b/inc/libs/online_functions.php index 9b8fcbe9d1..fb7dfc7c89 100644 --- a/inc/libs/online_functions.php +++ b/inc/libs/online_functions.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * 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 * @@ -33,99 +38,95 @@ // 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:
";
-		debug_print_backtrace();
-		die("
"); + 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] ?>