2 /************************************************************************
3 * MXChange v0.2.1 Start: 01/14/2005 *
4 * ================ Last change: 01/14/2005 *
6 * -------------------------------------------------------------------- *
7 * File : ext-online.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Who is where online? *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Wer befindet sich wo gerade Online? *
12 * -------------------------------------------------------------------- *
14 * -------------------------------------------------------------------- *
15 * Copyright (c) 2003 - 2008 by Roland Haeder *
16 * For more information visit: http://www.mxchange.org *
18 * This program is free software; you can redistribute it and/or modify *
19 * it under the terms of the GNU General Public License as published by *
20 * the Free Software Foundation; either version 2 of the License, or *
21 * (at your option) any later version. *
23 * This program is distributed in the hope that it will be useful, *
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
26 * GNU General Public License for more details. *
28 * You should have received a copy of the GNU General Public License *
29 * along with this program; if not, write to the Free Software *
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
32 ************************************************************************/
34 // Some security stuff...
35 if (!defined('__SECURITY')) {
36 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
41 EXT_SET_VERSION("0.0.5");
43 // Version history array (add more with , "0.1" and so on)
44 EXT_SET_VER_HISTORY(array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4", "0.0.5"));
46 switch ($EXT_LOAD_MODE)
48 case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
49 // SQL commands to run
50 ADD_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_online`");
51 ADD_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_online` (
52 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
53 sid VARCHAR(32) NOT NULL DEFAULT '',
54 ip VARCHAR(15) NOT NULL DEFAULT '',
55 userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
56 refid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
57 module VARCHAR(255) NOT NULL DEFAULT '',
58 action VARCHAR(255) NOT NULL DEFAULT '',
59 what VARCHAR(255) NOT NULL DEFAULT '',
60 is_admin ENUM('Y','N') NOT NULL DEFAULT 'N',
61 is_member ENUM('Y','N') NOT NULL DEFAULT 'N',
62 timestamp VARCHAR(10) NOT NULL DEFAULT 0,
67 ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('misc','usr_online','Online-Statistik','Eine Liste von derzeit "Online" Usern. Doppelte Einträge könnte auf mangelnden Cookie-Support des Browsers oder auf einen Spider hindeuten.', 1)");
70 case "remove": // Do stuff when removing extension
71 // SQL commands to run
72 ADD_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_online`");
73 ADD_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='usr_online' LIMIT 1");
74 ADD_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_guest_menu` WHERE `action`='online' LIMIT 1");
77 UNREGISTER_FILTER('init', 'UPDATE_ONLINE_LIST', true, $dry_run);
80 case "activate": // Do stuff when admin activates this extension
81 // SQL commands to run
82 ADD_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `action`='online' LIMIT 1");
85 case "deactivate": // Do stuff when admin deactivates this extension
86 // SQL commands to run
87 ADD_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `action`='online' LIMIT 1");
90 case "update": // Update an extension
93 case "0.0.1": // SQL queries for v0.0.1
94 // Update notes (these will be set as task text!)
95 EXT_SET_UPDATE_NOTES("Fehler <u>Unknown column 'visibled' in 'field list'</u> behoben.");
98 case "0.0.2": // SQL queries for v0.0.2
99 // Update notes (these will be set as task text!)
100 EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> überflüssige HTML-Tags entfernt.");
103 case "0.0.3": // SQL queries for v0.0.3
104 // Update notes (these will be set as task text!)
105 EXT_SET_UPDATE_NOTES("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.");
108 case "0.0.4": // SQL queries for v0.0.4
109 // Update notes (these will be set as task text!)
110 EXT_SET_UPDATE_NOTES("Erstellung der Datenbanktabelle `{!_MYSQL_PREFIX!}_online` in diese Erweiterung ausgelagert.");
113 case "0.0.5": // SQL queries for v0.0.5
114 ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('online',NULL,'Jetzt Online','2','Y','N')");
117 REGISTER_FILTER('init', 'UPDATE_ONLINE_LIST', false, true, $dry_run);
119 // Update notes (these will be set as task text!)
120 EXT_SET_UPDATE_NOTES("Hinzufügen des Menüpunktes "Jetzt Online" wird nun von dieser Erweiterung erledigt. Filter hinzugefügt.");
125 case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
128 default: // Do stuff when extension is loaded