* -------------------------------------------------------------------- *
* Kurzbeschreibung : Wer ist wo? (KEINE Untermenues anhaengen!) *
* -------------------------------------------------------------------- *
- * *
+ * $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')) || (!IS_ADMIN())) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+ die();
}
// Add description as navigation point
-ADD_DESCR("admin", __FILE__);
+addMenuDescription('admin', __FILE__);
-if (EXT_IS_ACTIVE("online", true))
-{
+// Online stats are only working if extension ext-online is installed
+if (isExtensionActive('online')) {
// Count guests, members and admins
- $result_guests = SQL_QUERY("SELECT id FROM `{!_MYSQL_PREFIX!}_online` WHERE is_admin='N' AND is_member='N'", __FILE__, __LINE__);
- $result_members = SQL_QUERY("SELECT id FROM `{!_MYSQL_PREFIX!}_online` WHERE is_admin='N' AND is_member='Y'", __FILE__, __LINE__);
- $result_admins = SQL_QUERY("SELECT id FROM `{!_MYSQL_PREFIX!}_online` WHERE is_admin='Y'", __FILE__, __LINE__);
-
- // Remember values for the template
- define('_GUESTS_ONLINE' , SQL_NUMROWS($result_guests));
- define('_ADMINS_ONLINE' , SQL_NUMROWS($result_admins));
- define('_MEMBERS_ONLINE', SQL_NUMROWS($result_members));
-
- // Free memory
- SQL_FREERESULT($result_guests);
- SQL_FREERESULT($result_admins);
- SQL_FREERESULT($result_members);
+ // @TODO Add a filter for sponsor
+ $content['guests_online'] = countSumTotalData('N', 'online', 'id', 'is_admin', true, " AND `is_member`='N'");
+ $content['admins_online'] = countSumTotalData('N', 'online', 'id', 'is_admin', true, " AND `is_member`='Y'");
+ $content['members_online'] = countSumTotalData('N', 'online', 'id', 'is_admin', true);
// Load template
- LOAD_TEMPLATE("admin_mini_online");
+ loadTemplate('admin_mini_online', false, $content);
// Check for online users
- $result = SQL_QUERY("SELECT id, ip, userid, refid, module, action, what, is_member, is_admin, timestamp FROM `{!_MYSQL_PREFIX!}_online` ORDER by timestamp DESC", __FILE__, __LINE__);
- if (SQL_NUMROWS($result) > 0)
- {
- // Load header template
- LOAD_TEMPLATE("admin_online_header");
-
+ $result = SQL_QUERY("SELECT `id`, `ip`, `userid`, `refid`, `module`, `action`, `what`, `is_member`, `is_admin`, `timestamp` FROM `{?_MYSQL_PREFIX?}_online` ORDER by `timestamp` DESC",
+ __FILE__, __LINE__);
+ if (SQL_NUMROWS($result) > 0) {
// List all online users
- $SW = 2;
- while (list($id, $ip, $uid, $ref, $mod, $act, $wht, $mem, $admin, $time) = SQL_FETCHROW($result))
- {
- if (empty($act)) $act = "---";
- if (empty($wht)) $wht = "---";
+ $OUT = ''; $SW = 2;
+ while ($row = SQL_FETCHARRAY($result)) {
+ // Fix empty action/what
+ if (empty($row['action'])) $row['action'] = '---';
+ if (empty($row['what'])) $row['what'] = '---';
- if ($admin == "Y")
- {
+ if ($row['is_admin'] == 'Y') {
// Is an administrator
- $uid = _IS_ADMIN;
- }
- elseif (($mem == "N") && ($admin == "N"))
- {
+ $row['userid'] = getMessage('_IS_ADMIN');
+ } elseif (($row['is_member'] != 'Y') && ($row['is_admin'] != 'Y')) {
// Is a guest
- $uid = _IS_GUEST;
- }
- OUTPUT_HTML("<tr>
- <td align=\"center\" width=\"5%\" class=\"switch_sw".$SW." bottom right\">".$id."</td>
- <td align=\"center\" width=\"15%\" class=\"switch_sw".$SW." bottom right\">");
- if ($uid > 0)
- {
- OUTPUT_HTML(ADMIN_USER_PROFILE_LINK($uid));
- }
- else
- {
- OUTPUT_HTML($uid);
- }
- if ($ref > 0)
- {
- $ref = ADMIN_USER_PROFILE_LINK($ref);
- }
- OUTPUT_HTML("</td>
- <td align=\"center\" width=\"10%\" class=\"switch_sw".$SW." bottom right\">".$ip."</td>
- <td align=\"center\" width=\"5%\" class=\"switch_sw".$SW." bottom right\">".$ref."</td>
- <td align=\"center\" width=\"10%\" class=\"switch_sw".$SW." bottom right\">".$mod."</td>
- <td align=\"center\" width=\"10%\" class=\"switch_sw".$SW." bottom right\">".$act."</td>
- <td align=\"center\" width=\"5%\" class=\"switch_sw".$SW." bottom right\">".$wht."</td>
- <td align=\"center\" width=\"10%\" class=\"switch_sw".$SW." bottom\">".MAKE_DATETIME($time, "2")."</td>
-</tr>");
+ $row['userid'] = getMessage('_IS_GUEST');
+ } elseif ($row['userid'] > 0) {
+ // Add profile link to userid
+ $row['userid'] = generateUserProfileLink($row['userid']);
+ } // END - if
+
+ // Is the refid set?
+ if ($row['refid'] > 0) {
+ // Add profile link to referer id
+ $row['refid'] = generateUserProfileLink($row['refid']);
+ } // END - if
+
+ // Add more content
+ $row['sw'] = $SW;
+ $row['timestamp'] = generateDateTime($row['timestamp'], 2);
+
+ // Load row template and switch color
+ $OUT .= loadTemplate('admin_list_online_row', true, $row);
$SW = 3 - $SW;
- }
+ } // END - while
// Free memory
SQL_FREERESULT($result);
+ // Remember rows and fancy time in array
+ $content['rows'] = $OUT;
+ $content['online_timeout'] = sprintf(getMessage('ONLINE_TIMEOUT_IS'), createFancyTime(getConfig('online_timeout')));
+
// Load footer template
- define('__FANCY_ONLINE_TIMEOUT', CREATE_FANCY_TIME(getConfig('online_timeout')));
- LOAD_TEMPLATE("admin_online_footer");
- }
-}
- else
-{
+ loadTemplate('admin_list_online', false, $content);
+ } // END - if
+} else {
// Online statistics deactivated!
- LOAD_TEMPLATE("admin_settings_saved", false, ONLINE_STATISTICS_DEACTIVATED);
+ loadTemplate('admin_settings_saved', false, getMessage('ONLINE_STATISTICS_DEACTIVATED'));
}
-//
+
+// [EOF]
?>