]> git.mxchange.org Git - mailer.git/blob - inc/extensions/ext-sql_patches.php
Debug message extended, ext-network continued:
[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  * 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                  *
23  *                                                                      *
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.                                  *
28  *                                                                      *
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.                         *
33  *                                                                      *
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,               *
37  * MA  02110-1301  USA                                                  *
38  ************************************************************************/
39
40 // Some security stuff...
41 if (!defined('__SECURITY')) {
42         die();
43 } // END - if
44
45 // Version number
46 setThisExtensionVersion('0.6.9');
47
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'));
50
51 // Keep this extension always active!
52 setExtensionAlwaysActive('Y');
53
54 switch (getExtensionMode()) {
55         case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
56                 // SQL commands to run
57                 addExtensionSql('');
58                 break;
59
60         case 'remove': // Do stuff when removing extension
61                 // Drop tables
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`");
66
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'");
79
80                 // Delete/update member menu entries
81                 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE
82 `what`='stats2' OR
83 `what`='reflist' OR
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
89 `action`='stats' OR
90 `action`='extras' OR
91 `action`='rals' OR
92 `action`='account'");
93
94                 // Drop indexes
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`");
122                 */
123
124                 // Unregister filter
125                 unregisterFilter('member_login_check', 'RESET_USER_LOGIN_FAILURE', true, getExtensionDryRun());
126                 break;
127
128         case 'activate': // Do stuff when admin activates this extension
129                 // SQL commands to run
130                 addExtensionSql('');
131                 break;
132
133         case 'deactivate': // Do stuff when admin deactivates this extension
134                 // SQL commands to run
135                 addExtensionSql('');
136                 break;
137
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);
143
144                                 // Update notes (these will be set as task text!)
145                                 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.");
146                                 break;
147
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)."");
150
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&ouml;schen von Best&auml;tigungsmails angepasst werden (war auf dem Testsystem auf TINYINT(4) gesetzt.)");
153                                 break;
154
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'");
157
158                                 // Update notes (these will be set as task text!)
159                                 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.");
160                                 break;
161
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");
164
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&uuml;gt.");
167                                 break;
168
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&uuml;punkt (what-welcome ist Standart) als Einstiegspunkt in das Men&uuml;system genutzt werden soll.', 5);
172
173                                 // Update notes (these will be set as task text!)
174                                 setExtensionUpdateNotes("Die what-welcome.php ist derzeit die &quot;Home&quot;-Seite (Eingangsseite). Dies kann nun per Datenbank ge&auml;ndert werden.");
175                                 break;
176
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'");
179
180                                 // Update notes (these will be set as task text!)
181                                 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.");
182                                 break;
183
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'");
186
187                                 // Update notes (these will be set as task text!)
188                                 setExtensionUpdateNotes("Die SQL-Anweisungen werden bei eingeschalteter Verbose-Funktion detailiert angezeigt.");
189                                 break;
190
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 '&nbsp;<strong><big>&middot;</big></strong>&nbsp;'");
193
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!)");
196                                 break;
197
198                         case '0.0.9': // SQL queries for v0.0.9
199                                 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);
200
201                                 // Update notes (these will be set as task text!)
202                                 setExtensionUpdateNotes("Unbest&auml;tigte Maillinks k&ouml;nnen unter Email-Management -&gt; Unbest. Mails auflisten aufgelistet werden.");
203                                 break;
204
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'");
207
208                                 // Update notes (these will be set as task text!)
209                                 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?");
210                                 break;
211
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&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");
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)."");
216
217                                 // Update notes (these will be set as task text!)
218                                 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.");
219                                 break;
220
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");
224
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.)");
227                                 break;
228
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'");
231
232                                 // Update notes (these will be set as task text!)
233                                 setExtensionUpdateNotes("Auf welche Seite soll der Ref-Link zeigen? Eingangsseite oder Anmeldeformular?");
234                                 break;
235
236                         case '0.1.4': // SQL queries for v0.1.4
237                                 // Update notes (these will be set as task text!)
238                                 setExtensionUpdateNotes("Ung&uuml;ltiges Update (nach ext-theme.php verschoben!).");
239                                 break;
240
241                         case '0.1.5': // SQL queries for v0.1.5
242                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` DROP ext_has_admin");
243
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.");
246                                 break;
247
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 &auml;ndern','De-/aktivieren Sie hier die Dekorationen, sowie Modul-Titel und what-Titel im Seitentitel.', 8);
256
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&uuml;gt werden.");
259                                 break;
260
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.");
264                                 break;
265
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");
269                                 break;
270
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.");
274                                 break;
275
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");
278
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");
281
282                                 // Update notes (these will be set as task text!)
283                                 setExtensionUpdateNotes("5 Nachkommastellen implementiert");
284                                 break;
285
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'");
288
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.");
291                                 break;
292
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.");
296                                 break;
297
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'");
302
303                                 // Update notes (these will be set as task text!)
304                                 setExtensionUpdateNotes("Gast- und Mitgliedsmen&uuml;s lassen sich getrennt voneinander abschalten.");
305                                 break;
306
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
311                                         $auto_type = 'jpg';
312                                 }
313                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `img_type` ENUM('jpg','png') NOT NULL DEFAULT '".$auto_type."'");
314
315                                 // Update notes (these will be set as task text!)
316                                 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.");
317                                 break;
318
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.");
322                                 break;
323
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);
326
327                                 // Update notes (these will be set as task text!)
328                                 setExtensionUpdateNotes("Abzug von {?POINTS?} nun m&ouml;glich.");
329                                 break;
330
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");
334
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>
339 </ol>");
340                                 break;
341
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&uuml;ltiges Update.");
345                                 break;
346
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'");
351
352                                 // Update notes (these will be set as task text!)
353                                 setExtensionUpdateNotes("W&ouml;rter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
354                                 break;
355
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&uuml;tungen...' WHERE `what`='payments' LIMIT 1");
359
360                                 // Update notes (these will be set as task text!)
361                                 setExtensionUpdateNotes("Zwei Men&uuml;punkte umbenannt.");
362                                 break;
363
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`)");
391
392                                 // Update notes (these will be set as task text!)
393                                 setExtensionUpdateNotes("Eindeutige Schl&uuml;ssel (UNIQUE KEY) und normale Schl&uuml;ssel (INDEX) gesetzt.");
394                                 break;
395
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 '',
404 INDEX (`la_id`),
405 INDEX (`la_action`),
406 INDEX (`la_what`),
407 PRIMARY KEY (`id`)
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`),
418 INDEX (`la_posx`),
419 INDEX (`la_posy`),
420 PRIMARY KEY (`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'");
424
425                                 // Insert menus
426                                 addAdminMenuSql('setup','config_admin','Adminmen&uuml;','Diverse Einstellungen am Adminmen&uuml; vornehmen.', 9);
427
428                                 // Update notes (these will be set as task text!)
429                                 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.");
430                                 break;
431
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'");
435
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,
443 INDEX (`admin_id`),
444 PRIMARY KEY (`id`)
445 ) TYPE={?_TABLE_TYPE?}");
446
447                                 // Update notes (these will be set as task text!)
448                                 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.");
449                                 break;
450
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&amp;mode=noref)");
454                                 break;
455
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");
465
466                                 // Update notes (these will be set as task text!)
467                                 setExtensionUpdateNotes("Mitgliedsmen&uuml; komplett umgebaut.");
468                                 break;
469
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");
480
481                                 // Update notes (these will be set as task text!)
482                                 setExtensionUpdateNotes("Passwort-System mit Zufallshash erweitert (Schutzt gegen Dictionary-Attacks!)");
483                                 break;
484
485                         case '0.3.7': // SQL queries for v0.3.7
486                                 setExtensionUpdateNotes("Problem w&auml;hrend des Installationsvorganges behoben.");
487                                 break;
488
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");
492
493                                 // Update notes (these will be set as task text!)
494                                 setExtensionUpdateNotes("Beschreibungstexte f&uuml;r Admin-Men&uuml;s k&ouml;nnen l&auml;nger sein. Diverse Fixes.");
495                                 break;
496
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&uuml;r Admin-Men&uuml;s k&ouml;nnen l&auml;nger sein. Diverse Fixes.");
500                                 break;
501
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");
504
505                                 // Update notes (these will be set as task text!)
506                                 setExtensionUpdateNotes("Email-Verwaltung nach Email-Management umbenannt.");
507                                 break;
508
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'");
511
512                                 // Update notes (these will be set as task text!)
513                                 setExtensionUpdateNotes("Tabellen-Schl&uuml;ssel neu gesetzt und Parsing-Zeit im Footer eingeblendet.");
514                                 break;
515
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&uuml;ltiges Update.");
519                                 break;
520
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&ouml;nnen Sie Ihren {?mt_word?} so konfigurieren, dass es Updates durch diesen hindurch sucht!', 15);
527
528                                 // Update notes (these will be set as task text!)
529                                 setExtensionUpdateNotes("Proxy-Einstellungen hinzugef&uuml;gt.");
530                                 break;
531
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`=''");
539
540                                 // Make this depending on ext-menu
541                                 addExtensionUpdateDependency('menu');
542
543                                 // Update notes (these will be set as task text!)
544                                 setExtensionUpdateNotes("Schl&uuml;ssel in Admin-, Gast- und Mitgliedsmen&uuml; verbessert.");
545                                 break;
546
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'");
550
551                                 // Update notes (these will be set as task text!)
552                                 setExtensionUpdateNotes("T&auml;glichen/w&ouml;chentlichen/monatlichen Reset verbessert.");
553                                 break;
554
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&uuml;ltiges Update.");
558                                 break;
559
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.");
563                                 break;
564
565                         case '0.4.8': // SQL queries for v0.4.8
566                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_task_system` ADD INDEX (`subject`)");
567
568                                 // Update notes (these will be set as task text!)
569                                 setExtensionUpdateNotes("Index f&uuml;r Betreff eingef&uuml;gt.");
570                                 break;
571
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&uuml;ltiges Update.");
575                                 break;
576
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`)");
581
582                                 // Update notes (these will be set as task text!)
583                                 setExtensionUpdateNotes("Referal-System unterst&uuml;tzt nun detailierte Referal-&Uuml;bersicht und vieles mehr.");
584                                 break;
585
586                         case '0.5.1': // SQL queries for v0.5.1
587                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_member_menu` DROP `descr`");
588
589                                 // Update notes (these will be set as task text!)
590                                 setExtensionUpdateNotes("Beschreibungsspalte von Mitgliedsmen&uuml; entfernt, welche ohnehin nicht genutzt wird.");
591                                 break;
592
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");
595
596                                 // Update notes (these will be set as task text!)
597                                 setExtensionUpdateNotes("Prozents&aum;tze k&ouml;nnen nun f&uuml;nf Stelle hinter dem Komma sein.");
598                                 break;
599
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','&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);
603
604                                 // Update notes (these will be set as task text!)
605                                 setExtensionUpdateNotes("Session-Speicherpfad konfigurierbar. Beispielsweise ist dies bei all-inkl.com n&ouml;tig.");
606                                 break;
607
608                         case '0.5.4': // SQL queries for v0.5.4
609                                 addMemberMenuSql('main','reflist','Ref-&Uuml;bersicht','N','Y',5);
610
611                                 // Depends on refback extension
612                                 addExtensionUpdateDependency('refback');
613
614                                 // Update notes (these will be set as task text!)
615                                 setExtensionUpdateNotes("Ref-&Uuml;bersicht eingebaut. Diese h&auml;ngt von der Erweiterung <strong>refback</strong> ab.");
616                                 break;
617
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'");
620
621                                 // Update notes (these will be set as task text!)
622                                 setExtensionUpdateNotes("Anzeige der {?POINTS?} unter den unbest&auml;tigten Mails kann nun optional abgeschaltet werden.");
623                                 break;
624
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&uuml;ltiges Update.");
628                                 break;
629
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");
632
633                                 // Update notes (these will be set as task text!)
634                                 setExtensionUpdateNotes("Auflistung der Mitglieder ohne Werber nach what=list_user&amp;mode=norefs verschoben.");
635                                 break;
636
637                         case '0.5.8': // SQL queries for v0.5.8
638                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_extensions` DROP `ext_lang_file`");
639
640                                 // Update notes (these will be set as task text!)
641                                 setExtensionUpdateNotes("Sprachdateinamen werden nicht mehr in der Datenbank behalten.");
642                                 break;
643
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&auml;sst diese de- bzw. wieder aktivieren.', 17);
656
657                                 // Update notes (these will be set as task text!)
658                                 setExtensionUpdateNotes("Tabellen f&uuml;r Filter-System hinzugef&uuml;gt.");
659                                 break;
660
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'");
663
664                                 // Update notes (these will be set as task text!)
665                                 setExtensionUpdateNotes("Benutzungsstatistik eingebaut. Das Z&auml;hlen der Filterverwendungen sollte <strong>ausschliesslich</strong> zu Debugging-Zwecken eingesetzt werden.");
666                                 break;
667
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&uuml;ltiges Update.");
671                                 break;
672
673                         case '0.6.2': // SQL queries for v0.6.2
674                                 // Depends on refback extension
675                                 addExtensionUpdateDependency('user');
676
677                                 // Update notes (these will be set as task text!)
678                                 setExtensionUpdateNotes("Abh&auml;ngigkeit von <u>ext-user</u> gesetzt.");
679                                 break;
680
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&auml;ge und Unique-Key auf <em>filter_name</em> und <em>filter_function</em> zusammen gesetzt.");
684
685                                 // Add special fix include to fix filters
686                                 addIncludeToPool('extension', 'inc/fix_filters.php');
687                                 break;
688
689                         case '0.6.4': // SQL queries for v0.6.4
690                                 // Update admin menu
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!%'");
695
696                                 // Update notes (these will be set as task text!)
697                                 setExtensionUpdateNotes("Datenbank umgestellt auf Konfigurationselemente.");
698                                 break;
699
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'");
702
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.");
705                                 break;
706
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);
711
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.");
714                                 break;
715
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.");
720                                 break;
721
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');
732
733                                 // Update notes (these will be set as task text!)
734                                 setExtensionUpdateNotes("Spalten verk&uuml;rzt, damit die Schl&uuml;ssel passen.");
735                                 break;
736
737                         case '0.6.9': // SQL queries for 0.6.9
738                                 // Register filter
739                                 registerFilter('member_login_check', 'RESET_USER_LOGIN_FAILURE', false, true, getExtensionDryRun());
740
741                                 // Update notes (these will be set as task text!)
742                                 setExtensionUpdateNotes("Filter zum Zur&uuml;cksetzens des fehlgeschlagenen Mitgliederlogins hinzugef&uuml;gt (internes TODO).");
743                                 break;
744                 } // END - switch
745                 break;
746
747         case 'modify': // When the extension got modified
748                 break;
749
750         case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
751                 break;
752
753         case 'init': // Do stuff when extension is initialized
754                 // Init key
755                 setConfigEntry('secret_key', '');
756
757                 // Read key from secret file
758                 if ((getConfig('file_hash') == '') || (getConfig('master_salt') == '') || (getConfig('pass_scramble') == '')) {
759                         // Cache instance
760                         // Maybe need setup of secret key!
761                         loadIncludeOnce('inc/gen_sql_patches.php');
762
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();
769                         } // END - if
770                 } // END - if
771
772                 // Test again
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)) {
777                                 // Read file
778                                 setConfigEntry('secret_key', readFromFile($hashFile));
779                         } else {
780                                 // Remove it from database
781                                 updateConfiguration('file_hash', '');
782
783                                 // Cannot read secret file!
784                                 app_die(__FILE__, __LINE__, 'Cannot read secret file! Please try to reload.');
785                         }
786                 } // END - if
787
788                 // Transfer words/numbers to constants
789                 setConfigEntry('POINTS', getConfig('points_word'));
790                 break;
791
792         default: // Unknown extension mode
793                 logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
794                 break;
795 } // END - switch
796
797 // [EOF]
798 ?>