X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-nickname.php;h=b1957674938284554b2fd6bf012bdd02edad1e1a;hp=d1fdbe08249dcbf264b4da3455143633a5c57940;hb=9d527cf8f2d95f7f58a42cb159f0ffc732f49d39;hpb=52e8a0635bd0b7c653845685c55e4e5f251375fe diff --git a/inc/extensions/ext-nickname.php b/inc/extensions/ext-nickname.php index d1fdbe0824..b195767493 100644 --- a/inc/extensions/ext-nickname.php +++ b/inc/extensions/ext-nickname.php @@ -10,7 +10,12 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Nickname-Login und Anzeige im Anmeldeformular * * -------------------------------------------------------------------- * - * * + * $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 * @@ -32,166 +37,174 @@ ************************************************************************/ // 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"; - -// Auto-set extension version -if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION; +EXT_SET_VERSION("0.1.9"); // 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_SET_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')"; - - // Load CSS file? - $EXT_CSS = 'Y'; + ADD_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD nickname VARCHAR(255) NOT NULL DEFAULT ''"); + ADD_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_user_data` ADD nick_uid ENUM ('nick','uid') NOT NULL DEFAULT 'uid'"); + ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','nickname','Nicknamen','5','Y','Y')"); break; 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"; + ADD_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `what`='nickname'"); + ADD_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE what IN ('config_nickname','list_nickname')"); + ADD_SQL("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"; + ADD_SQL("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"; + ADD_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='nickname' LIMIT 1"); break; case "update": // Update an extension switch ($EXT_VER) { case "0.0.1": // SQL queries for v0.0.1 - $SQLs[] = "UPDATE "._MYSQL_PREFIX."_extensions SET ext_has_css='Y' WHERE ext_name='nickname' AND ext_has_css='N' LIMIT 1"; + ADD_SQL("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET ext_has_css='Y' WHERE ext_name='nickname' AND ext_has_css='N' LIMIT 1"); // This update depends on sql_patches update! - $EXT_UPDATE_DEPENDS = "sql_patches"; + EXT_SET_UPDATE_DEPENDS("sql_patches"); // Update notes (these will be set as task text!) - $UPDATE_NOTES = "CSS-Datei kann per Adminbereich ein- und ausgeschaltet werden."; + EXT_SET_UPDATE_NOTES("CSS-Datei kann per Adminbereich ein- und ausgeschaltet werden."); break; case "0.0.3": // SQL queries for v0.0.3 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist."; + EXT_SET_UPDATE_NOTES("Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist."); break; case "0.0.4": // SQL queries for v0.0.4 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert."; + EXT_SET_UPDATE_NOTES("Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert."); break; case "0.0.5": // SQL queries for v0.0.5 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."); break; case "0.0.6": // SQL queries for v0.0.6 - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD nickname_len tinyint(4) 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)"; + ADD_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD nickname_len TINYINT(3) UNSIGNED NOT NULL DEFAULT '5'"); + ADD_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD nickname_pattern VARCHAR(255) NOT NULL DEFAULT 'a-zA-Z0-9_'"); + ADD_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD nickname_chars VARCHAR(255) NOT NULL DEFAULT 'a-z, A-Z, 0-9, _'"); + ADD_SQL("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!"; + EXT_SET_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.0.7": // SQL queries for v0.0.7 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; + EXT_SET_UPDATE_NOTES("Problem mit Speicherung der Einstellungen beseitigt."); break; case "0.0.8": // SQL queries for v0.0.8 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."; + EXT_SET_UPDATE_NOTES("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."); break; case "0.0.9": // SQL queries for v0.0.9 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Design "Solid-Business" eingebaut."; + EXT_SET_UPDATE_NOTES("Design "Solid-Business" eingebaut."); break; case "0.1.0": // SQL queries for v0.2.1 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + EXT_SET_UPDATE_NOTES("Seit Patch 340 überflüssige HTML-Tags entfernt."); break; case "0.1.1": // SQL queries for v0.1.1 - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data DROP nick_uid"; + ADD_SQL("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."; + EXT_SET_UPDATE_NOTES("Auswahlfür Mitglied ob mit Nickname oder User-ID einloggen entfernt."); break; case "0.1.2": // SQL queries for v0.1.2 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Zum Zusenden eines neuen Passwortes kann jetzt entweder der Nickname / User-ID ODER die angemeldete EMail-Adresse eingegeben werden."; + EXT_SET_UPDATE_NOTES("Zum Zusenden eines neuen Passwortes kann jetzt entweder der Nickname / User-ID ODER die angemeldete EMail-Adresse eingegeben werden."); break; case "0.1.3": // SQL queries for v0.1.3 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "CSS-Datei in general.css verschmolzen (Patch 435!)"; + EXT_SET_UPDATE_NOTES("CSS-Datei in general.css verschmolzen (Patch 435!)"); break; case "0.1.4": // SQL queries for v0.1.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("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."); break; case "0.1.5": // SQL queries for v0.1.5 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert."); 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"; + ADD_SQL("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."; + EXT_SET_UPDATE_NOTES("Mitgliedsmenü komplett umgebaut."); break; case "0.1.7": // SQL queries for v0.1.7 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Mitglieder ohne Nickname sollten kein *failed* mehr sehen."; + EXT_SET_UPDATE_NOTES("Mitglieder ohne Nickname sollten kein *failed* mehr sehen."); break; case "0.1.8": // SQL queries for v0.1.8 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + EXT_SET_UPDATE_NOTES("Fehlerhinweis bei deaktivierter Erweiterung verbessert."); + break; + + case "0.1.9": // SQL queries for v0.1.9 + ADD_SQL("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)"); + ADD_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_nickname_history`"); + ADD_SQL("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={!_TABLE_TYPE!} COMMENT='History of used nicknames'"); + + // Update notes (these will be set as task text!) + EXT_SET_UPDATE_NOTES("Historie eingegebener Nicknames hinzugefügt. Mitglied kann auf bereits verwendeter zurückgreifen und Liste selbst löschen."); 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 - $dummy = LOAD_CONFIG(); - define('__NICKNAME_LANG_CHARS', $dummy['nickname_chars']); - define('__NICKNAME_LENGTH' , $dummy['nickname_len']); - define('__NICKNAME_PATTERN' , $dummy['nickname_pattern']); - unset($dummy); break; } -// Language file prefix -$EXT_LANG_PREFIX = "nickname"; - -// Extension is always active? -$EXT_ALWAYS_ACTIVE = 'N'; // ?>