* -------------------------------------------------------------------- *
* Kurzbeschreibung : Wer befindet sich wo gerade Online? *
* -------------------------------------------------------------------- *
- * *
+ * $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 *
* For more information visit: http://www.mxchange.org *
// Some security stuff...
if (!defined('__SECURITY')) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+ $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
require($INC);
}
// Version number
-$EXT_VERSION = "0.0.4";
-
-// Auto-set extension version
-if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
+EXT_SET_VERSION('0.0.5');
-// Version history array (add more with , "0.1" and so on)
-$EXT_VER_HISTORY = array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4");
+// Version history array (add more with , '0.1.0' and so on)
+EXT_SET_VER_HISTORY(array('0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5'));
switch ($EXT_LOAD_MODE)
{
-case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
+case 'register': // Do stuff when installation is running (modules.php?module=admin&action=login is called)
// SQL commands to run
- $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_online";
- $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_online (
+ ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_online`");
+ ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_online` (
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
sid VARCHAR(32) NOT NULL DEFAULT '',
ip VARCHAR(15) NOT NULL DEFAULT '',
-userid BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
-refid BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+refid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
module VARCHAR(255) NOT NULL DEFAULT '',
action VARCHAR(255) NOT NULL DEFAULT '',
what VARCHAR(255) NOT NULL DEFAULT '',
is_admin ENUM('Y','N') NOT NULL DEFAULT 'N',
is_member ENUM('Y','N') NOT NULL DEFAULT 'N',
-timestamp VARCHAR(10) NOT NULL DEFAULT '0',
+timestamp VARCHAR(10) NOT NULL DEFAULT 0,
PRIMARY KEY(id),
KEY(userid),
-KEY(refid)
-) TYPE=MyISAM";
- $SQLs[]="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)";
+KEY(refid),
+KEY `admin_member` (`is_admin`,`is_member`)
+) TYPE={!_TABLE_TYPE!}");
+ ADD_EXT_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)");
break;
-case "remove": // Do stuff when removing extension
+case 'remove': // Do stuff when removing extension
// SQL commands to run
- $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_online";
- $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE what='usr_online' LIMIT 1";
+ ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_online`");
+ ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='usr_online'");
+ ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_guest_menu` WHERE `action`='online'");
+
+ // Unregister filter
+ UNREGISTER_FILTER('init', 'UPDATE_ONLINE_LIST', true, $dry_run);
break;
-case "activate": // Do stuff when admin activates this extension
+case 'activate': // Do stuff when admin activates this extension
// SQL commands to run
- $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='N' WHERE action='online' LIMIT 1";
+ ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `action`='online' LIMIT 1");
break;
-case "deactivate": // Do stuff when admin deactivates this extension
+case 'deactivate': // Do stuff when admin deactivates this extension
// SQL commands to run
- $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='Y' WHERE action='online' LIMIT 1";
+ ADD_EXT_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `action`='online' LIMIT 1");
break;
-case "update": // Update an extension
+case 'update': // Update an extension
switch ($EXT_VER)
{
- case "0.0.1": // SQL queries for v0.0.1
+ case '0.0.1': // SQL queries for v0.0.1
+ // Update notes (these will be set as task text!)
+ EXT_SET_UPDATE_NOTES("Fehler <u>Unknown column 'visibled' in 'field list'</u> behoben.");
+ break;
+
+ case '0.0.2': // SQL queries for v0.0.2
// Update notes (these will be set as task text!)
- $UPDATE_NOTES = "Fehler <U>Unknown column 'visibled' in 'field list'</U> behoben.";
+ EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> überflüssige HTML-Tags entfernt.");
break;
- case "0.0.2": // SQL queries for v0.0.2
+ case '0.0.3': // SQL queries for v0.0.3
// Update notes (these will be set as task text!)
- $UPDATE_NOTES = "Seit <A href=\"#\">Patch 340</A> überflüssige HTML-Tags entfernt.";
+ EXT_SET_UPDATE_NOTES("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.");
break;
- case "0.0.3": // SQL queries for v0.0.3
+ case '0.0.4': // SQL queries for v0.0.4
// Update notes (these will be set as task text!)
- $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert.";
+ EXT_SET_UPDATE_NOTES("Erstellung der Datenbanktabelle `{!_MYSQL_PREFIX!}_online` in diese Erweiterung ausgelagert.");
break;
- case "0.0.4": // SQL queries for v0.0.4
+ case '0.0.5': // SQL queries for v0.0.5
+ ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_guest_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('online',NULL,'Jetzt Online','2','Y','N')");
+
+ // Register filter
+ REGISTER_FILTER('init', 'UPDATE_ONLINE_LIST', false, true, $dry_run);
+
// Update notes (these will be set as task text!)
- $UPDATE_NOTES = "Erstellung der Datenbanktabelle "._MYSQL_PREFIX."_online in diese Erweiterung ausgelagert.";
+ EXT_SET_UPDATE_NOTES("Hinzufügen des Menüpunktes "Jetzt Online" wird nun von dieser Erweiterung erledigt. Filter hinzugefügt.");
break;
}
break;
+case 'modify': // When the extension got modified
+ break;
+
+case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+ break;
+
default: // Do stuff when extension is loaded
break;
}