************************************************************************/
// Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])))
-{
+if (!defined('__SECURITY')) {
$INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
require($INC);
}
// Version number
-$EXT_VERSION = "0.1.7";
+$EXT_VERSION = "0.1.9";
// Auto-set extension version
if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
// 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", "0.0.5", "0.0.6", "0.0.7", "0.0.8", "0.0.9", "0.1.0", "0.1.1", "0.1.2", "0.1.3", "0.1.4", "0.1.5", "0.1.6", "0.1.7", "0.1.8");
+$EXT_VER_HISTORY = array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4", "0.0.5", "0.0.6", "0.0.7", "0.0.8", "0.0.9", "0.1.0", "0.1.1", "0.1.2", "0.1.3", "0.1.4", "0.1.5", "0.1.6", "0.1.7", "0.1.8", "0.1.9");
switch ($EXT_LOAD_MODE)
{
-case "register": // Do stuff when installtion 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[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD nickname VARCHAR(255) NOT NULL DEFAULT ''";
- $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD nick_uid ENUM ('nick','uid') NOT NULL DEFAULT 'uid'";
- $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('main', 'nickname', 'Nicknamen', '5', 'Y', 'Y')";
+ $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` ADD nickname VARCHAR(255) NOT NULL DEFAULT ''";
+ $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` ADD nick_uid ENUM ('nick','uid') NOT NULL DEFAULT 'uid'";
+ $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_member_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','nickname','Nicknamen','5','Y','Y')";
// Load CSS file?
$EXT_CSS = "Y";
case "remove": // Do stuff when removing extension
// SQL commands to run
- $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE action='main' AND what='nickname' LIMIT 1";
- $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE what='config_nickname' LIMIT 1";
+ $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_member_menu` WHERE what='nickname' LIMIT 1";
+ $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_admin_menu` WHERE what IN ('config_nickname','list_nickname') LIMIT 2";
+ $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_nickname_history";
break;
case "activate": // Do stuff when admin activates this extension
// SQL commands to run
- $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='N' WHERE action='main' AND what='nickname' LIMIT 1";
+ $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_member_menu` SET visible='Y', locked='N' WHERE what='nickname' LIMIT 1";
break;
case "deactivate": // Do stuff when admin deactivates this extension
// SQL commands to run
- $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='Y' WHERE action='main' AND what='nickname' LIMIT 1";
+ $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_member_menu` SET visible='N', locked='Y' WHERE what='nickname' LIMIT 1";
break;
case "update": // Update an extension
break;
case "0.0.6": // SQL queries for v0.0.6
- $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD nickname_len TINYINT(3) NOT NULL DEFAULT '5'";
- $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD nickname_pattern VARCHAR(255) NOT NULL DEFAULT 'a-zA-Z0-9_'";
- $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD nickname_chars VARCHAR(255) NOT NULL DEFAULT 'a-z, A-Z, 0-9, _'";
- $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('setup', 'config_nickname', 'Nicknamen', 'Stellen Sie minimale Nicknamenlänge, sowie erlaubte Zeichen hier ein.', 12)";
+ $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD nickname_len TINYINT(3) UNSIGNED NOT NULL DEFAULT '5'";
+ $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD nickname_pattern VARCHAR(255) NOT NULL DEFAULT 'a-zA-Z0-9_'";
+ $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD nickname_chars VARCHAR(255) NOT NULL DEFAULT 'a-z, A-Z, 0-9, _'";
+ $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_nickname','Nicknamen','Stellen Sie minimale Nicknamenlänge, sowie erlaubte Zeichen hier ein.', 12)";
// Update notes (these will be set as task text!)
$UPDATE_NOTES = "Minimale Länge, sowie erlaubte Zeichen sind per Adminbereich änderbar. Setzen Sie als erlaubte Zeichen nur URL-konforme Zeichen ein!";
break;
case "0.1.1": // SQL queries for v0.1.1
- $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data DROP nick_uid";
+ $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` DROP nick_uid";
// Update notes (these will be set as task text!)
$UPDATE_NOTES = "Auswahlfür Mitglied ob mit Nickname oder User-ID einloggen entfernt.";
break;
case "0.1.6": // SQL queries for v0.1.6
- $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='extras', sort='2' WHERE what='nickname' LIMIT 1";
+ $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_member_menu` SET action='extras', sort='2' WHERE what='nickname' LIMIT 1";
// Update notes (these will be set as task text!)
$UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut.";
// Update notes (these will be set as task text!)
$UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert.";
break;
+
+ case "0.1.9": // SQL queries for v0.1.9
+ $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_nickname','Nickname-Historie','Listet alle verwendeten Nicknames der Mitglieder auf.', 12)";
+ $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_nickname_history";
+ $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_nickname_history (
+id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+nickname VARCHAR(255) NOT NULL DEFAULT '',
+added TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+last_used TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
+INDEX userid (userid),
+INDEX (last_used DESC),
+PRIMARY KEY(id)
+) TYPE=MyISAM COMMENT='History of used nicknames'";
+
+ // Update notes (these will be set as task text!)
+ $UPDATE_NOTES = "Historie eingegebener Nicknames hinzugefügt. Mitglied kann auf bereits verwendeter zurückgreifen und Liste selbst löschen.";
+ break;
}
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
+ // @TODO|@DEPRECATED Please rewrite these constants, LOAD_CONFIG() is no more needed in extensions
$dummy = LOAD_CONFIG();
define('__NICKNAME_LANG_CHARS', $dummy['nickname_chars']);
define('__NICKNAME_LENGTH' , $dummy['nickname_len']);
unset($dummy);
break;
}
-// Language file prefix
-$EXT_LANG_PREFIX = "nickname";
-
-// Extension is always active?
-$EXT_ALWAYS_ACTIVE = "N";
//
?>