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