2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 08/21/2004 *
4 * =================== Last change: 12/04/2004 *
6 * -------------------------------------------------------------------- *
7 * File : ext-sql_patches.php *
8 * -------------------------------------------------------------------- *
9 * Short description : SQL fixes for pro versions *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Ausgelagertes "Profildaten aendern" *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * Needs to be in all Files and every File needs "svn propset *
18 * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
19 * -------------------------------------------------------------------- *
20 * Copyright (c) 2003 - 2009 by Roland Haeder *
21 * Copyright (c) 2009, 2010 by Mailer Developer Team *
22 * For more information visit: http://www.mxchange.org *
24 * This program is free software; you can redistribute it and/or modify *
25 * it under the terms of the GNU General Public License as published by *
26 * the Free Software Foundation; either version 2 of the License, or *
27 * (at your option) any later version. *
29 * This program is distributed in the hope that it will be useful, *
30 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
31 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
32 * GNU General Public License for more details. *
34 * You should have received a copy of the GNU General Public License *
35 * along with this program; if not, write to the Free Software *
36 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
38 ************************************************************************/
40 // Some security stuff...
41 if (!defined('__SECURITY')) {
46 setThisExtensionVersion('0.6.9');
48 // Version history array (add more with , '0.1.0' and so on)
49 setExtensionVersionHistory(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', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '0.4.0', '0.4.1', '0.4.2', '0.4.3', '0.4.4', '0.4.5', '0.4.6', '0.4.7', '0.4.8', '0.4.9', '0.5.0', '0.5.1', '0.5.2', '0.5.3', '0.5.4', '0.5.5', '0.5.6', '0.5.7', '0.5.8', '0.5.9', '0.6.0', '0.6.1', '0.6.2', '0.6.3', '0.6.4', '0.6.4', '0.6.5', '0.6.6', '0.6.7', '0.6.8', '0.6.9'));
51 // Keep this extension always active!
52 setExtensionAlwaysActive('Y');
54 switch (getExtensionMode()) {
55 case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
56 // SQL commands to run
60 case 'remove': // Do stuff when removing extension
62 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_admin_menu_las`");
63 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_admin_menu_las_data`");
64 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_admin_menu_stats`");
65 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_filters`");
67 // Delete admin menu entries
68 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE
69 `what`='config_extensions' OR
70 `what`='config_home' OR
71 `what`='list_unconfirmed' OR
72 `what`='config_refid' OR
73 `what`='config_title' OR
74 `what`='sub_points' OR
75 `what`='config_admin' OR
76 `what`='config_proxy' OR
77 `what`='config_session' OR
78 `what`='list_filter'");
80 // Delete/update member menu entries
81 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE
84 (`action`='stats' AND (`what`='' OR `what` IS NULL)) OR
85 (`action`='extras' AND (`what`='' OR `what` IS NULL)) OR
86 (`action`='rals' AND (`what`='' OR `what` IS NULL)) OR
87 (`action`='account' AND (`what`='' OR `what` IS NULL))");
88 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='main' WHERE
95 /* @TODO SQL_ALTER_TABLE() should work now properly
96 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` DROP UNIQUE KEY `ext_name`");
97 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` DROP UNIQUE KEY `login`");
98 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refbanner` DROP INDEX `visible`");
99 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refdepths` DROP UNIQUE KEY `level`");
100 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` DROP INDEX `level`");
101 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` DROP INDEX `data_type`");
102 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_mod_reg` DROP UNIQUE KEY `module`");
103 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` DROP INDEX `action`");
104 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` DROP INDEX `what`");
105 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` DROP INDEX `task_type`");
106 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` DROP INDEX `status`");
107 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` DROP INDEX `task_created`");
108 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` DROP FULLTEXT `subject`");
109 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` DROP INDEX `subject`");
110 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` DROP INDEX `ext_active`");
111 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` DROP INDEX `action`");
112 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` DROP INDEX `what`");
113 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` DROP INDEX `sort`");
114 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` DROP INDEX `visible`");
115 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` DROP INDEX `locked`");
116 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP INDEX `what`");
117 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP INDEX `sort`");
118 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP INDEX `visible`");
119 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP INDEX `locked`");
120 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_cats` DROP INDEX `visible`");
121 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_cats` DROP INDEX `sort`");
125 unregisterFilter('member_login_check', 'RESET_USER_LOGIN_FAILURE', true, getExtensionDryRun());
128 case 'activate': // Do stuff when admin activates this extension
129 // SQL commands to run
133 case 'deactivate': // Do stuff when admin deactivates this extension
134 // SQL commands to run
138 case 'update': // Update an extension
139 switch (getCurrentExtensionVersion()) {
140 case '0.0.1': // SQL queries for v0.0.1
141 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `ext_autopurge` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
142 addAdminMenuSql('setup','config_extensions','Erweitungsmanagement','Alle Einstellungen am Erweiterungsmanagement.', 10);
144 // Update notes (these will be set as task text!)
145 setExtensionUpdateNotes("Es kann nun bestimmt werden, ob vom Server gelöschte ext-xxx.php erkannt werden sollen und die verknüpften Daten auch aus der Datenbank entfernt werden sollen.");
148 case '0.0.2': // SQL queries for v0.0.2
149 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` CHANGE `auto_purge` `auto_purge` BIGINT(20) UNSIGNED NOT NULL DEFAULT ".(getConfig('ONE_DAY')*14)."");
151 // Update notes (these will be set as task text!)
152 setExtensionUpdateNotes("In der Tabelle <strong>{?_MYSQL_PREFIX?}_config</strong> musste die Spalte <strong>auto_purge</strong> (autom. Löschen von Bestätigungsmails angepasst werden (war auf dem Testsystem auf TINYINT(4) gesetzt.)");
155 case '0.0.3': // SQL queries for v0.0.3
156 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `points_word` VARCHAR(255) NOT NULL DEFAULT 'Punkte'");
158 // Update notes (these will be set as task text!)
159 setExtensionUpdateNotes("Das Wort "Punkte" kann nun per Datenbank geändert werden. Damit können Sie anstelle des Wortes Punkte auch Klammlose, Wernis, Primera oder € schreiben.");
162 case '0.0.4': // SQL queries for v0.0.4
163 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `mails_page` BIGINT(20) UNSIGNED NOT NULL DEFAULT 10");
165 // Update notes (these will be set as task text!)
166 setExtensionUpdateNotes("Anzahl Mails pro Seite in <strong>EMail-Details ansehen</strong> und <strong>EMail-Archiv</strong> hinzugefügt.");
169 case '0.0.5': // SQL queries for v0.0.5
170 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `index_home` VARCHAR(255) NOT NULL DEFAULT 'welcome'");
171 addAdminMenuSql('setup','config_home','Home-Seite festlegen','Stellen Sie hier ein, welcher Menüpunkt (what-welcome ist Standart) als Einstiegspunkt in das Menüsystem genutzt werden soll.', 5);
173 // Update notes (these will be set as task text!)
174 setExtensionUpdateNotes("Die what-welcome.php ist derzeit die "Home"-Seite (Eingangsseite). Dies kann nun per Datenbank geändert werden.");
177 case '0.0.6': // SQL queries for v0.0.6
178 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` ADD `ext_has_css` ENUM('Y','N') NOT NULL DEFAULT 'N'");
180 // Update notes (these will be set as task text!)
181 setExtensionUpdateNotes("Es können nun SQL-Updates von einander abhängig gemacht werden und die CSS-Datei kann per Admin-Bereich (wegen Debuggings) ein- bzw. ausgeschaltet werden.");
184 case '0.0.7': // SQL queries for v0.0.7
185 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `verbose_sql` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
187 // Update notes (these will be set as task text!)
188 setExtensionUpdateNotes("Die SQL-Anweisungen werden bei eingeschalteter Verbose-Funktion detailiert angezeigt.");
191 case '0.0.8': // SQL queries for v0.0.8
192 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `menu_blur_spacer` VARCHAR(255) NOT NULL DEFAULT ' <strong><big>·</big></strong> '");
194 // Update notes (these will be set as task text!)
195 setExtensionUpdateNotes("Nette Mouse-Hover-Effekte eingebaut (Anleitung <strong>MENUE_HOVER.txt</strong> zum Patchen der general.css bitte lesen!)");
198 case '0.0.9': // SQL queries for v0.0.9
199 addAdminMenuSql('email','list_unconfirmed','Unbest. Mails auflisten','Schauen Sie sich hier unbestätigte Maillinks an. Bitte diesen Link nur über dem EMail-Archiv oder EMail-Details aufrufen, direkt aufgerufen bekommen Sie eine Fehlermeldung.', 8);
201 // Update notes (these will be set as task text!)
202 setExtensionUpdateNotes("Unbestätigte Maillinks können unter Email-Management -> Unbest. Mails auflisten aufgelistet werden.");
205 case '0.1.0': // SQL queries for v0.2.1
206 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `reg_points_mode` ENUM('ref','direct') NOT NULL DEFAULT 'ref'");
208 // Update notes (these will be set as task text!)
209 setExtensionUpdateNotes("Soll der einmalige Ref-Bonus über das Referal-System (also alle oberen Refs bekommen auch etwas davon ab) oder direkt dem Werber aufgebucht werden?");
212 case '0.1.1': // SQL queries for v0.1.1
213 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Home-/Eingangsseite', descr='Stellen Sie hier ein, welcher Menüpunkt (what-welcome ist Standart) als Einstiegspunkt in das Menüsystem genutzt werden soll und wie die automatische Weiterleitung in der Eingangsseite funktionieren soll.' WHERE `what`='config_home' LIMIT 1");
214 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `index_delay` TINYINT(3) NOT NULL DEFAULT 0");
215 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `index_cookie` BIGINT(20) UNSIGNED NOT NULL DEFAULT ".(getConfig('ONE_DAY')*365)."");
217 // Update notes (these will be set as task text!)
218 setExtensionUpdateNotes("Sie können nun <a href=\"{%url=modules.php?module=admin&what=config_home%}\">hier</a> die Verzögerungszeit in der <a href=\"{%url=index.php%}\">Eingangsseite</a> einstellen.");
221 case '0.1.2': // SQL queries for v0.1.2
222 addAdminMenuSql('setup','config_refid','Standart-Ref-Id','Stellen Sie hier die Mitglieder-Id ein, die genommen werden soll, wenn der Gast n icht per Referal-Link Ihren {?mt_word?} aufgerufen hat.', 7);
223 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `def_refid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
225 // Update notes (these will be set as task text!)
226 setExtensionUpdateNotes("Standart Referal-Id kann per Admin-Bereich eingestellt werden (war vorher nur in modules.php und index.php direkt eingebbar.)");
229 case '0.1.3': // SQL queries for v0.1.3
230 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD refid_target ENUM('register','index') NOT NULL DEFAULT 'register'");
232 // Update notes (these will be set as task text!)
233 setExtensionUpdateNotes("Auf welche Seite soll der Ref-Link zeigen? Eingangsseite oder Anmeldeformular?");
236 case '0.1.4': // SQL queries for v0.1.4
237 // Update notes (these will be set as task text!)
238 setExtensionUpdateNotes("Ungültiges Update (nach ext-theme.php verschoben!).");
241 case '0.1.5': // SQL queries for v0.1.5
242 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` DROP ext_has_admin");
244 // Update notes (these will be set as task text!)
245 setExtensionUpdateNotes("Spalte <u>ext_has_admin</u> aus der Tabelle <u>{?_MYSQL_PREFIX?}_extensions</u> entfernt, da sie keinen Sinn mehr macht.");
248 case '0.1.6': // SQL queries for v0.1.6
249 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `enable_title_deco` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
250 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `title_left` VARCHAR(10) NOT NULL DEFAULT '[--'");
251 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `title_middle` VARCHAR(10) NOT NULL DEFAULT '-'");
252 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `title_right` VARCHAR(10) NOT NULL DEFAULT '--]'");
253 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `enable_mod_title` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
254 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `enable_what_title` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
255 addAdminMenuSql('setup','config_title','Seitentitel ändern','De-/aktivieren Sie hier die Dekorationen, sowie Modul-Titel und what-Titel im Seitentitel.', 8);
257 // Update notes (these will be set as task text!)
258 setExtensionUpdateNotes("Dekorationen des Seitentiteles lassen sich ein- und ausschalten und selber definieren; Modul-Titel und Titel der <strong>what</strong>-Dateien kann hinzugefügt werden.");
261 case '0.1.7': // SQL queries for v0.1.7
262 // Update notes (these will be set as task text!)
263 setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
266 case '0.1.8': // SQL queries for v0.1.8
267 // Update notes (these will be set as task text!)
268 setExtensionUpdateNotes("mad_count und last_mad werden nun aus der Datenbank geladen");
271 case '0.1.9': // SQL queries for v0.1.9
272 // Update notes (these will be set as task text!)
273 setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
276 case '0.2.0': // SQL queries for v0.2.0
277 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_jackpot` CHANGE `points` `points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
279 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payments` CHANGE `payment` `payment` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
280 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_payments` CHANGE `price` `price` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
282 // Update notes (these will be set as task text!)
283 setExtensionUpdateNotes("5 Nachkommastellen implementiert");
286 case '0.2.1': // SQL queries for v0.2.1
287 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `css_php` ENUM('DIRECT','FILE') NOT NULL DEFAULT 'FILE'");
289 // Update notes (these will be set as task text!)
290 setExtensionUpdateNotes("Ausgabe der CSS-Dateien entweder per css.php oder sie sind direkt eingebunden.");
293 case '0.2.2': // SQL queries for v0.2.2
294 // Update notes (these will be set as task text!)
295 setExtensionUpdateNotes("Erweiterung bleibt wegen integrierten Schalters immer aktiv.");
298 case '0.2.3': // SQL queries for v0.2.3
299 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `guest_menu` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
300 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `member_menu` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
301 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `youre_here` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
303 // Update notes (these will be set as task text!)
304 setExtensionUpdateNotes("Gast- und Mitgliedsmenüs lassen sich getrennt voneinander abschalten.");
307 case '0.2.4': // SQL queries for v0.2.4
308 $auto_type = 'png'; // PNG image is the default
309 if ((isIncludeReadable('theme/'.getCurrentTheme().'/images/code_bg.jpg')) && function_exists('imagecreatefromjpeg')) {
310 // Switch to JPEG format
313 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `img_type` ENUM('jpg','png') NOT NULL DEFAULT '".$auto_type."'");
315 // Update notes (these will be set as task text!)
316 setExtensionUpdateNotes("Generierung des Mailbestätigungscodes hängt davon ab, ob die PHP-Funktion <u>imagecreatefromjpeg()</u> und das JPEG-Bild vorhanden sind oder nicht.");
319 case '0.2.5': // SQL queries for v0.2.5
320 // Update notes (these will be set as task text!)
321 setExtensionUpdateNotes("Spalten <u>max_mails</u> und <u>receive_mails</u> auf BIGINT(20) gesetzt.");
324 case '0.2.6': // SQL queries for v0.2.6
325 addAdminMenuSql('user','sub_points','{OPEN_CONFIG}POINTS{CLOSE_CONFIG} abziehen','Allen oder einem Mitglied {OPEN_CONFIG}POINTS{CLOSE_CONFIG} abziehen.', 8);
327 // Update notes (these will be set as task text!)
328 setExtensionUpdateNotes("Abzug von {?POINTS?} nun möglich.");
331 case '0.2.7': // SQL queries for v0.2.7
332 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `stats_limit` BIGINT(20) UNSIGNED NOT NULL DEFAULT 10");
333 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='config_stats' WHERE `what`='stats' LIMIT 1");
335 // Update notes (these will be set as task text!)
336 setExtensionUpdateNotes("<ol>
337 <li>Das Mitglied kann das derzeitige Design in sein Profil abspeichern.</li>
338 <li>Mitgliederstatistik mit Seitennavigation.</li>
342 case '0.2.8': // SQL queries for v0.2.8
343 // Update notes (these will be set as task text!)
344 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
347 case '0.2.9': // SQL queries for v0.2.9
348 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `mt_word` VARCHAR(255) NOT NULL DEFAULT 'Mailtausch'");
349 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `mt_word2` VARCHAR(255) NOT NULL DEFAULT 'Mailtausches'");
350 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `mt_word3` VARCHAR(255) NOT NULL DEFAULT 'Mailtauscher'");
352 // Update notes (these will be set as task text!)
353 setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
356 case '0.3.0': // SQL queries for v0.3.0
357 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='{OPEN_CONFIG}POINTS{CLOSE_CONFIG}/Referal-Ebenen' WHERE `what`='config_points' LIMIT 1");
358 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Mailvergütungen...' WHERE `what`='payments' LIMIT 1");
360 // Update notes (these will be set as task text!)
361 setExtensionUpdateNotes("Zwei Menüpunkte umbenannt.");
364 case '0.3.1': // SQL queries for v0.3.1
365 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` ADD UNIQUE KEY `ext_name` (`ext_name`)");
366 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` ADD UNIQUE KEY `login` (`login`)");
367 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refbanner` ADD INDEX `visible` (`visible`)");
368 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refdepths` ADD UNIQUE KEY `level` (`level`)");
369 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` ADD INDEX `level` (`level`)");
370 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` ADD INDEX `data_type` (`data_type`)");
371 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_mod_reg` ADD UNIQUE KEY `module` (`module`)");
372 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` ADD INDEX `action` (`action`)");
373 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` ADD INDEX `what` (`what`)");
374 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD INDEX `task_type` (`task_type`)");
375 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD INDEX `status` (`status`)");
376 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD INDEX `task_created` (`task_created`)");
377 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD FULLTEXT `subject` (`subject`)");
378 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD INDEX `subject` (`subject`)");
379 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` ADD INDEX `ext_active` (`ext_active`)");
380 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` ADD INDEX `action` (`action`)");
381 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` ADD INDEX `what` (`what`)");
382 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` ADD INDEX `sort` (`sort`)");
383 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` ADD INDEX `visible` (`visible`)");
384 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` ADD INDEX `locked` (`locked`)");
385 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` ADD INDEX `what` (`what`)");
386 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` ADD INDEX `sort` (`sort`)");
387 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` ADD INDEX `visible` (`visible`)");
388 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` ADD INDEX `locked` (`locked`)");
389 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_cats` ADD INDEX `visible` (`visible`)");
390 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_cats` ADD INDEX `sort` (`sort`)");
392 // Update notes (these will be set as task text!)
393 setExtensionUpdateNotes("Eindeutige Schlüssel (UNIQUE KEY) und normale Schlüssel (INDEX) gesetzt.");
396 case '0.3.2': // SQL queries for v0.3.2
397 // Connection table between the menu system and the "logical area" system
398 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_admin_menu_las`");
399 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_admin_menu_las` (
400 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
401 `la_id` VARCHAR(255) NOT NULL DEFAULT '',
402 `la_action` VARCHAR(255) NOT NULL DEFAULT '',
403 `la_what` VARCHAR(255) NOT NULL DEFAULT '',
408 ) TYPE={?_TABLE_TYPE?}");
409 // All "logical areas" together
410 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_admin_menu_las_data`");
411 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_admin_menu_las_data` (
412 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
413 `la_id` VARCHAR(255) NOT NULL DEFAULT '',
414 `la_title` VARCHAR(255) NOT NULL DEFAULT '',
415 `la_posx` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
416 `la_posy` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
417 UNIQUE KEY (`la_id`),
421 ) TYPE={?_TABLE_TYPE?}");
422 // Which menu do you like?
423 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `admin_menu` ENUM('NEW','OLD') NOT NULL DEFAULT 'OLD'");
426 addAdminMenuSql('setup','config_admin','Adminmenü','Diverse Einstellungen am Adminmenü vornehmen.', 9);
428 // Update notes (these will be set as task text!)
429 setExtensionUpdateNotes("Logische Bereiche (Logical Areas = LAs) eingeführt. Dadurch wird das immer stärker anwachsende Admin-Menü in grosse Hauptgruppen unterteilt, wodurch ein Auffinden von Menüpunkten verbessert wird.");
432 case '0.3.3': // SQL queries for v0.3.3
433 // Switch of the "intelligent menu sorter" when you want to have a fixed menu structure...
434 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `admin_menu_sorter` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
436 // The statistics table
437 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_admin_menu_stats`");
438 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_admin_menu_stats` (
439 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
440 `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
441 `type` ENUM('la','action','what') NOT NULL DEFAULT 'what',
442 `clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
445 ) TYPE={?_TABLE_TYPE?}");
447 // Update notes (these will be set as task text!)
448 setExtensionUpdateNotes("Admin-abhängig werden nun Klicks im Admin-Menü gezählt, die zur automatischen Anpassung des Menüs in den logischen Bereichen diennen. Dieses "intelligente Unbauen" können Sie auch ganz abschalten.");
451 case '0.3.4': // SQL queries for v0.3.4
452 // Update notes (these will be set as task text!)
453 setExtensionUpdateNotes("Veraltetes Update (what=list_user&mode=noref)");
456 case '0.3.5': // SQL queries for v0.3.5
457 // List accounts with no referal
458 addMemberMenuSql('stats',NULL,'Statistiken','Y','N',4);
459 addMemberMenuSql('stats','stats2','Framekiller-Mails','Y','N',2);
460 addMemberMenuSql('extras',NULL,'Extras','Y','N',5);
461 addMemberMenuSql('rals',NULL,'Rallyes','Y','N',6);
462 addMemberMenuSql('account',NULL,'Ihr Account','Y','N',7);
463 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='stats', `sort`=1, `title`='Klick-Mails' WHERE `what`='stats' LIMIT 1");
464 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='extras', `sort`=3 WHERE `what`='reflinks' LIMIT 1");
466 // Update notes (these will be set as task text!)
467 setExtensionUpdateNotes("Mitgliedsmenü komplett umgebaut.");
470 case '0.3.6': // SQL queries for v0.3.6
471 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `salt_length` TINYINT(3) UNSIGNED NOT NULL DEFAULT 9");
472 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `pass_scramble` VARCHAR(255) NOT NULL DEFAULT ''");
473 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admins` MODIFY `password` VARCHAR(255) NOT NULL DEFAULT ''");
474 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `rand_no` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
475 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `file_hash` VARCHAR(255) NOT NULL DEFAULT ''");
476 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `master_salt` VARCHAR(255) NOT NULL DEFAULT ''");
477 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_config` SET `rand_no`=(ROUND(RAND() * 99999) + 100000) WHERE `config`=0 LIMIT 1");
478 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_mod_reg` ADD `has_menu` ENUM('Y','N') NOT NULL DEFAULT 'N'");
479 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `has_menu`='Y' WHERE `module`='admin' OR `module`='index' OR `module`='login' LIMIT 3");
481 // Update notes (these will be set as task text!)
482 setExtensionUpdateNotes("Passwort-System mit Zufallshash erweitert (Schutzt gegen Dictionary-Attacks!)");
485 case '0.3.7': // SQL queries for v0.3.7
486 setExtensionUpdateNotes("Problem während des Installationsvorganges behoben.");
489 case '0.3.8': // SQL queries for v0.3.8
490 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` CHANGE `descr` `descr` MEDIUMTEXT NULL");
491 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_pool` CHANGE `text` `text` LONGTEXT NOT NULL");
493 // Update notes (these will be set as task text!)
494 setExtensionUpdateNotes("Beschreibungstexte für Admin-Menüs können länger sein. Diverse Fixes.");
497 case '0.3.9': // SQL queries for v0.3.9
498 // Update notes (these will be set as task text!)
499 setExtensionUpdateNotes("Beschreibungstexte für Admin-Menüs können länger sein. Diverse Fixes.");
502 case '0.4.0': // SQL queries for v0.4.0
503 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title` = 'Email-Management' WHERE `action` = 'email' AND (`what`='' OR `what` IS NULL) LIMIT 1");
505 // Update notes (these will be set as task text!)
506 setExtensionUpdateNotes("Email-Verwaltung nach Email-Management umbenannt.");
509 case '0.4.1': // SQL queries for v0.4.1
510 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `show_timings` ENUM ('Y','N') NOT NULL DEFAULT 'Y'");
512 // Update notes (these will be set as task text!)
513 setExtensionUpdateNotes("Tabellen-Schlüssel neu gesetzt und Parsing-Zeit im Footer eingeblendet.");
516 case '0.4.2': // SQL queries for v0.4.2
517 // Update notes (these will be set as task text!)
518 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
521 case '0.4.3': // SQL queries for v0.4.3
522 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `proxy_host` VARCHAR(255) NOT NULL DEFAULT ''");
523 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `proxy_port` INT(5) UNSIGNED NOT NULL DEFAULT 0");
524 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `proxy_username` VARCHAR(255) NOT NULL DEFAULT ''");
525 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `proxy_password` VARCHAR(255) NOT NULL DEFAULT ''");
526 addAdminMenuSql('setup','config_proxy','Proxy-Einstellungen','Sollte Ihr Webserver sich hinter einem Proxy befinden, so können Sie Ihren {?mt_word?} so konfigurieren, dass es Updates durch diesen hindurch sucht!', 15);
528 // Update notes (these will be set as task text!)
529 setExtensionUpdateNotes("Proxy-Einstellungen hinzugefügt.");
532 case '0.4.4': // SQL queries for v0.4.4
533 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu` CHANGE `what` `what` VARCHAR(255) NULL DEFAULT NULL");
534 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu` CHANGE `what` `what` VARCHAR(255) NULL DEFAULT NULL");
535 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` CHANGE `what` `what` VARCHAR(255) NULL DEFAULT NULL");
536 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`=NULL WHERE `what`=''");
537 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `what`=NULL WHERE `what`=''");
538 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `what`=NULL WHERE `what`=''");
540 // Make this depending on ext-menu
541 addExtensionUpdateDependency('menu');
543 // Update notes (these will be set as task text!)
544 setExtensionUpdateNotes("Schlüssel in Admin-, Gast- und Mitgliedsmenü verbessert.");
547 case '0.4.5': // SQL queries for v0.4.5
548 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `last_month` CHAR(2) NOT NULL DEFAULT '00'");
549 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `last_week` CHAR(2) NOT NULL DEFAULT '00'");
551 // Update notes (these will be set as task text!)
552 setExtensionUpdateNotes("Täglichen/wöchentlichen/monatlichen Reset verbessert.");
555 case '0.4.6': // SQL queries for v0.4.6
556 // Update notes (these will be set as task text!)
557 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
560 case '0.4.7': // SQL queries for v0.4.7
561 // Update notes (these will be set as task text!)
562 setExtensionUpdateNotes("Veraltetes Update.");
565 case '0.4.8': // SQL queries for v0.4.8
566 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD INDEX (`subject`)");
568 // Update notes (these will be set as task text!)
569 setExtensionUpdateNotes("Index für Betreff eingefügt.");
572 case '0.4.9': // SQL queries for v0.4.9
573 // Update notes (these will be set as task text!)
574 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
577 case '0.5.0': // SQL queries for v0.5.0
578 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` DROP INDEX `level`");
579 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` DROP INDEX `userid`");
580 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refsystem` ADD UNIQUE `userid_level` (`userid`,`level`)");
582 // Update notes (these will be set as task text!)
583 setExtensionUpdateNotes("Referal-System unterstützt nun detailierte Referal-Übersicht und vieles mehr.");
586 case '0.5.1': // SQL queries for v0.5.1
587 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP `descr`");
589 // Update notes (these will be set as task text!)
590 setExtensionUpdateNotes("Beschreibungsspalte von Mitgliedsmenü entfernt, welche ohnehin nicht genutzt wird.");
593 case '0.5.2': // SQL queries for v0.5.2
594 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_refdepths` CHANGE `percents` `percents` FLOAT(8,5) UNSIGNED NOT NULL DEFAULT 0.00000");
596 // Update notes (these will be set as task text!)
597 setExtensionUpdateNotes("Prozents&aum;tze können nun fünf Stelle hinter dem Komma sein.");
600 case '0.5.3': // SQL queries for v0.5.3
601 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `session_save_path` VARCHAR(255) NOT NULL DEFAULT ''");
602 addAdminMenuSql('setup','config_session','Session-Einstellungen','Ändern Sie hier den Speicherpfad für Sessiondateien (Sitzungsdateien) ab, falls die Standart-Einstellung bei Ihrem Hoster zu Problem führen sollte.', 16);
604 // Update notes (these will be set as task text!)
605 setExtensionUpdateNotes("Session-Speicherpfad konfigurierbar. Beispielsweise ist dies bei all-inkl.com nötig.");
608 case '0.5.4': // SQL queries for v0.5.4
609 addMemberMenuSql('main','reflist','Ref-Übersicht','N','Y',5);
611 // Depends on refback extension
612 addExtensionUpdateDependency('refback');
614 // Update notes (these will be set as task text!)
615 setExtensionUpdateNotes("Ref-Übersicht eingebaut. Diese hängt von der Erweiterung <strong>refback</strong> ab.");
618 case '0.5.5': // SQL queries for v0.5.5
619 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `show_points_unconfirmed` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
621 // Update notes (these will be set as task text!)
622 setExtensionUpdateNotes("Anzeige der {?POINTS?} unter den unbestätigten Mails kann nun optional abgeschaltet werden.");
625 case '0.5.6': // SQL queries for v0.5.6
626 // Update notes (these will be set as task text!)
627 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
630 case '0.5.7': // SQL queries for v0.5.7
631 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='list_norefs' LIMIT 1");
633 // Update notes (these will be set as task text!)
634 setExtensionUpdateNotes("Auflistung der Mitglieder ohne Werber nach what=list_user&mode=norefs verschoben.");
637 case '0.5.8': // SQL queries for v0.5.8
638 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` DROP `ext_lang_file`");
640 // Update notes (these will be set as task text!)
641 setExtensionUpdateNotes("Sprachdateinamen werden nicht mehr in der Datenbank behalten.");
644 case '0.5.9': // SQL queries for v0.5.9
645 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_filters`");
646 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_filters` (
647 `filter_id` BIGINT(20) UNSIGNED AUTO_INCREMENT,
648 `filter_name` VARCHAR(255) NOT NULL DEFAULT '',
649 `filter_function` VARCHAR(255) NOT NULL DEFAULT '',
650 `filter_active` ENUM('N','Y') NOT NULL DEFAULT 'Y',
651 `filter_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
652 UNIQUE `name_function` (`filter_name` , `filter_function`),
653 PRIMARY KEY (`filter_id`)
654 ) TYPE={?_TABLE_TYPE?} COMMENT='Filter system'");
655 addAdminMenuSql('setup','list_filter','Filter-Management', 'Zeigt alle im System registrierten Filter an und lässt diese de- bzw. wieder aktivieren.', 17);
657 // Update notes (these will be set as task text!)
658 setExtensionUpdateNotes("Tabellen für Filter-System hinzugefügt.");
661 case '0.6.0': // SQL queries for v0.6.0
662 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `update_filter_usage` ENUM('N','Y') NOT NULL DEFAULT 'N'");
664 // Update notes (these will be set as task text!)
665 setExtensionUpdateNotes("Benutzungsstatistik eingebaut. Das Zählen der Filterverwendungen sollte <strong>ausschliesslich</strong> zu Debugging-Zwecken eingesetzt werden.");
668 case '0.6.1': // SQL queries for v0.6.1
669 // Update notes (these will be set as task text!)
670 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
673 case '0.6.2': // SQL queries for v0.6.2
674 // Depends on refback extension
675 addExtensionUpdateDependency('user');
677 // Update notes (these will be set as task text!)
678 setExtensionUpdateNotes("Abhängigkeit von <u>ext-user</u> gesetzt.");
681 case '0.6.3': // SQL queries for v0.6.3
682 // Update notes (these will be set as task text!)
683 setExtensionUpdateNotes("Filter-Tabelle bereinigt um doppelte Einträge und Unique-Key auf <em>filter_name</em> und <em>filter_function</em> zusammen gesetzt.");
685 // Add special fix include to fix filters
686 addIncludeToPool('extension', 'inc/fix_filters.php');
689 case '0.6.4': // SQL queries for v0.6.4
691 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title` = REPLACE(`title`, '!POINTS!', '?POINTS?') WHERE `title` LIKE '%!POINTS!%'");
692 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `descr` = REPLACE(`descr`, '!POINTS!', '?POINTS?') WHERE `descr` LIKE '%!POINTS!%'");
693 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `title` = REPLACE(`title`, '!POINTS!', '?POINTS?') WHERE `title` LIKE '%!POINTS!%'");
694 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `title` = REPLACE(`title`, '!POINTS!', '?POINTS?') WHERE `title` LIKE '%!POINTS!%'");
696 // Update notes (these will be set as task text!)
697 setExtensionUpdateNotes("Datenbank umgestellt auf Konfigurationselemente.");
700 case '0.6.5': // SQL queries for v0.6.5
701 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` CHANGE `css_php` `css_php` ENUM('DIRECT','FILE','INLINE') NOT NULL DEFAULT 'FILE'");
703 // Update notes (these will be set as task text!)
704 setExtensionUpdateNotes("Ausgabe der CSS-Dateien entweder per css.php oder sie sind direkt eingebunden.");
707 case '0.6.6': // SQL queries for v0.6.6
708 addAdminMenuSql('setup','config_secure','Sicherheitseinstellungen','Stellen Sie ein, wie lange das Passwort eines Mitgliedes mindestens sein muss uvm.',9);
709 addAdminMenuSql('setup','config_points','{OPEN_CONFIG}POINTS{CLOSE_CONFIG}','Stellen Sie hier die Willkommensgutschrift, Referal-Gutschrift (einmalige) usw. ein.',10);
710 addAdminMenuSql('email','email_archiv','E-Mail Archiv','Sehen Sie sich hier bereits gesendete Mails an.',6);
712 // Update notes (these will be set as task text!)
713 setExtensionUpdateNotes("Die Sicherheitseinstellungen, {?POINTS?}-Einstellungen und Email-Archiv funktionieren nur, wenn diese Erweiterung installiert ist.");
716 case '0.6.7': // SQL queries for v0.6.7
717 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` CHANGE `index_delay` `index_delay` TINYINT(3) NOT NULL DEFAULT 0");
718 // Update notes (these will be set as task text!)
719 setExtensionUpdateNotes("Die Weiterleitungseinstellung muss auch Werte kleiner Null akzeptieren.");
722 case '0.6.8': // SQL queries for v0.6.8
723 addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_admin_menu`
724 CHANGE `action` `action` VARCHAR(50) NOT NULL,
725 CHANGE `what` `what` VARCHAR(50) NULL DEFAULT NULL');
726 addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_guest_menu`
727 CHANGE `action` `action` VARCHAR(50) NOT NULL,
728 CHANGE `what` `what` VARCHAR(50) NULL DEFAULT NULL');
729 addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu`
730 CHANGE `action` `action` VARCHAR(50) NOT NULL,
731 CHANGE `what` `what` VARCHAR(50) NULL DEFAULT NULL');
733 // Update notes (these will be set as task text!)
734 setExtensionUpdateNotes("Spalten verkürzt, damit die Schlüssel passen.");
737 case '0.6.9': // SQL queries for 0.6.9
739 registerFilter('member_login_check', 'RESET_USER_LOGIN_FAILURE', false, true, getExtensionDryRun());
741 // Update notes (these will be set as task text!)
742 setExtensionUpdateNotes("Filter zum Zurücksetzens des fehlgeschlagenen Mitgliederlogins hinzugefügt (internes TODO).");
747 case 'modify': // When the extension got modified
750 case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
753 case 'init': // Do stuff when extension is initialized
755 setConfigEntry('secret_key', '');
757 // Read key from secret file
758 if ((getConfig('file_hash') == '') || (getConfig('master_salt') == '') || (getConfig('pass_scramble') == '')) {
760 // Maybe need setup of secret key!
761 loadIncludeOnce('inc/gen_sql_patches.php');
763 // @TODO Rewrite this to a filter
764 if ((isExtensionInstalledAndNewer('cache', '0.1.2')) && (isCacheInstanceValid())) {
765 // Destroy some cache files
766 if ($GLOBALS['cache_instance']->loadCacheFile('config')) $GLOBALS['cache_instance']->removeCacheFile();
767 if ($GLOBALS['cache_instance']->loadCacheFile('extension')) $GLOBALS['cache_instance']->removeCacheFile();
768 if ($GLOBALS['cache_instance']->loadCacheFile('modules')) $GLOBALS['cache_instance']->removeCacheFile();
773 if ((getConfig('file_hash') != '') && (getConfig('master_salt') != '') && (getConfig('pass_scramble') != '')) {
774 // File hash fas generated so we can also file the secret file... hopefully.
775 $hashFile = sprintf("%sinc/.secret/.%s", getConfig('PATH'), getConfig('file_hash'));
776 if (isFileReadable($hashFile)) {
778 setConfigEntry('secret_key', readFromFile($hashFile));
780 // Remove it from database
781 updateConfiguration('file_hash', '');
783 // Cannot read secret file!
784 app_die(__FILE__, __LINE__, 'Cannot read secret file! Please try to reload.');
788 // Transfer words/numbers to constants
789 setConfigEntry('POINTS', getConfig('points_word'));
792 default: // Unknown extension mode
793 logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));