2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 01/14/2013 *
4 * =================== Last change: 01/14/2013 *
6 * -------------------------------------------------------------------- *
7 * File : mode-update.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Steps for updates of ext-sql_patches *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Schritte fuer Updates von ext-sql_patches *
12 * -------------------------------------------------------------------- *
13 * Copyright (c) 2003 - 2009 by Roland Haeder *
14 * Copyright (c) 2009 - 2016 by Mailer Developer Team *
15 * For more information visit: http://mxchange.org *
17 * This program is free software; you can redistribute it and/or modify *
18 * it under the terms of the GNU General Public License as published by *
19 * the Free Software Foundation; either version 2 of the License, or *
20 * (at your option) any later version. *
22 * This program is distributed in the hope that it will be useful, *
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
25 * GNU General Public License for more details. *
27 * You should have received a copy of the GNU General Public License *
28 * along with this program; if not, write to the Free Software *
29 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
31 ************************************************************************/
33 // Some security stuff...
34 if (!defined('__SECURITY')) {
38 // @TODO Remove double tabs from all lines
39 switch (getCurrentExtensionVersion()) {
40 case '0.0.1': // SQL queries for v0.0.1
41 addAdminMenuSql('setup', 'config_extensions', 'Erweitungsmanagement', 'Alle Einstellungen am Erweiterungsmanagement.', 10);
43 // Update notes (these will be set as task text!)
44 setExtensionUpdateNotes("Es kann nun bestimmt werden, ob vom Server gelöschte ext-xxx.php erkannt werden sollen und die verknüpften Daten auch aus der Datenbank entfernt werden sollen.");
47 case '0.0.2': // SQL queries for v0.0.2
48 // Update notes (these will be set as task text!)
49 setExtensionUpdateNotes("Nicht mehr verwendetes Update, da nach <strong>ext-autopurge</strong> verschoben.");
52 case '0.0.3': // SQL queries for v0.0.3
53 addConfigAddSql('points_word', "VARCHAR(255) NOT NULL DEFAULT '{OPEN_LANGUAGE}DEFAULT_POINTS{CLOSE_LANGUAGE}'");
55 // Update notes (these will be set as task text!)
56 setExtensionUpdateNotes("Das Wort "Punkte" kann nun per Datenbank geändert werden. Damit können anstelle des Wortes Punkte auch Klammlose, Wernis, Primera und auch € geschrieben werden.");
59 case '0.0.4': // SQL queries for v0.0.4
60 addConfigAddSql('mails_page', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 10');
62 // Update notes (these will be set as task text!)
63 setExtensionUpdateNotes("Anzahl Mails pro Seite in <strong>EMail-Details ansehen</strong> und <strong>EMail-Archiv</strong> hinzugefügt.");
66 case '0.0.5': // SQL queries for v0.0.5
67 addConfigAddSql('index_home', "VARCHAR(255) NOT NULL DEFAULT 'welcome'");
68 addAdminMenuSql('setup','config_home','Home-Seite festlegen','Stellen Sie hier ein, welcher Menüpunkt (what-welcome ist Standard) als Einstiegspunkt in das Menüsystem genutzt werden soll.', 5);
70 // Update notes (these will be set as task text!)
71 setExtensionUpdateNotes("Die what-welcome.php ist derzeit die "Home"-Seite (Eingangsseite). Dies kann nun per Datenbank geändert werden.");
74 case '0.0.6': // SQL queries for v0.0.6
75 addExtensionAddTableColumnSql('extensions', 'ext_has_css', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
77 // Update notes (these will be set as task text!)
78 setExtensionUpdateNotes("Es können nun SQL-Updates von einander abhängig gemacht werden und die CSS-Datei kann per Admin-Bereich (wegen Debuggings) ein- bzw. ausgeschaltet werden.");
81 case '0.0.7': // SQL queries for v0.0.7
82 addConfigAddSql('verbose_sql', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
84 // Update notes (these will be set as task text!)
85 setExtensionUpdateNotes("Die SQL-Anweisungen werden bei eingeschalteter Verbose-Funktion detailiert angezeigt.");
88 case '0.0.8': // SQL queries for v0.0.8
89 addConfigAddSql('menu_blur_spacer', "VARCHAR(255) NOT NULL DEFAULT ' <strong><big>·</big></strong> '");
91 // Update notes (these will be set as task text!)
92 setExtensionUpdateNotes("Nette Mouse-Hover-Effekte eingebaut (Anleitung <strong>MENUE_HOVER.txt</strong> zum Patchen der general.css bitte lesen!)");
95 case '0.0.9': // SQL queries for v0.0.9
96 addAdminMenuSql('email','list_unconfirmed','Unbest. Mails auflisten','Schauen Sie sich hier unbestätigte Maillinks an. Bitte diesen Link nur über dem EMail-Archiv oder EMail-Details aufrufen, direkt aufgerufen bekommen Sie eine Fehlermeldung.', 8);
98 // Update notes (these will be set as task text!)
99 setExtensionUpdateNotes("Unbestätigte Maillinks können unter Email-Management -> Unbest. Mails auflisten aufgelistet werden.");
102 case '0.1.0': // SQL queries for v0.1.0
103 // Update notes (these will be set as task text!)
104 setExtensionUpdateNotes("Soll der einmalige Ref-Bonus über das Referral-System (also alle oberen Refs bekommen auch etwas davon ab) oder direkt dem Werber aufgebucht werden?");
107 case '0.1.1': // SQL queries for v0.1.1
108 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Home-/Eingangsseite', descr='Stellen Sie hier ein, welcher Menüpunkt (what-welcome ist Standard) als Einstiegspunkt in das Menüsystem genutzt werden soll und wie die automatische Weiterleitung in der Eingangsseite funktionieren soll.' WHERE `what`='config_home' LIMIT 1");
109 addConfigAddSql('index_delay', 'TINYINT(3) NOT NULL DEFAULT 0');
110 addConfigAddSql('index_cookie', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 365));
112 // Update notes (these will be set as task text!)
113 setExtensionUpdateNotes("Sie können nun <a href=\"{%url=modules.php?module=admin&what=config_home%}\">hier</a> die Verzögerungszeit in der <a href=\"{%url=index.php%}\">Eingangsseite</a> einstellen.");
116 case '0.1.2': // SQL queries for v0.1.2
117 addAdminMenuSql('setup','config_refid','Standard-Ref-Id','Stellen Sie hier die Mitglieds-Id ein, die genommen werden soll, wenn der Gast n icht per Referral-Link Ihren {?mt_word?} aufgerufen hat.', 7);
118 addConfigAddSql('def_refid', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
120 // Update notes (these will be set as task text!)
121 setExtensionUpdateNotes("Standard Referral-Id kann per Admin-Bereich eingestellt werden (war vorher nur in modules.php und index.php direkt eingebbar.)");
124 case '0.1.3': // SQL queries for v0.1.3
125 addConfigAddSql('refid_target', "ENUM('register','index') NOT NULL DEFAULT 'register'");
127 // Update notes (these will be set as task text!)
128 setExtensionUpdateNotes("Auf welche Seite soll der Ref-Link zeigen? Eingangsseite oder Anmeldeformular?");
131 case '0.1.4': // SQL queries for v0.1.4
132 // Update notes (these will be set as task text!)
133 setExtensionUpdateNotes("Ungültiges Update (nach ext-theme.php verschoben!).");
136 case '0.1.5': // SQL queries for v0.1.5
137 addExtensionDropTableColumnSql('extensions', 'ext_has_admin');
139 // Update notes (these will be set as task text!)
140 setExtensionUpdateNotes("Spalte <u>ext_has_admin</u> aus der Tabelle <u>{?_MYSQL_PREFIX?}_extensions</u> entfernt, da sie keinen Sinn mehr macht.");
143 case '0.1.6': // SQL queries for v0.1.6
144 addConfigAddSql('enable_title_deco', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
145 addConfigAddSql('title_left', "VARCHAR(10) NOT NULL DEFAULT '[--'");
146 addConfigAddSql('title_middle', "VARCHAR(10) NOT NULL DEFAULT '-'");
147 addConfigAddSql('title_right', "VARCHAR(10) NOT NULL DEFAULT '--]'");
148 addConfigAddSql('enable_mod_title', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
149 addConfigAddSql('enable_what_title', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
150 addAdminMenuSql('setup','config_title','Seitentitel ändern','De-/aktivieren Sie hier die Dekorationen, sowie Modul-Titel und what-Titel im Seitentitel.', 8);
152 // Update notes (these will be set as task text!)
153 setExtensionUpdateNotes("Dekorationen des Seitentiteles lassen sich ein- und ausschalten und selber definieren; Modul-Titel und Titel der <strong>what</strong>-Dateien kann hinzugefügt werden.");
156 case '0.1.7': // SQL queries for v0.1.7
157 // Update notes (these will be set as task text!)
158 setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
161 case '0.1.8': // SQL queries for v0.1.8
162 // Update notes (these will be set as task text!)
163 setExtensionUpdateNotes("mad_count und last_mad werden nun aus der Datenbank geladen");
166 case '0.1.9': // SQL queries for v0.1.9
167 // Update notes (these will be set as task text!)
168 setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
171 case '0.2.0': // SQL queries for v0.2.0
172 addExtensionChangeTableColumnSql('jackpot', 'points', 'points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
174 addExtensionChangeTableColumnSql('payments', 'payment', 'payment', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
175 addExtensionChangeTableColumnSql('payments', 'price', 'price', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
177 // Update notes (these will be set as task text!)
178 setExtensionUpdateNotes("5 Nachkommastellen implementiert");
181 case '0.2.1': // SQL queries for v0.2.1
182 addConfigAddSql('css_php', "ENUM('DIRECT','FILE','INLINE') NOT NULL DEFAULT 'FILE'");
184 // Update notes (these will be set as task text!)
185 setExtensionUpdateNotes("Ausgabe der CSS-Dateien entweder per css.php oder sie sind direkt eingebunden.");
188 case '0.2.2': // SQL queries for v0.2.2
189 // Update notes (these will be set as task text!)
190 setExtensionUpdateNotes("Erweiterung bleibt wegen integrierten Schalters immer aktiv.");
193 case '0.2.3': // SQL queries for v0.2.3
194 addConfigAddSql('guest_menu', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
195 addConfigAddSql('member_menu', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
196 addConfigAddSql('youre_here', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
198 // Update notes (these will be set as task text!)
199 setExtensionUpdateNotes("Gast- und Mitgliedsmenüs lassen sich getrennt voneinander abschalten.");
202 case '0.2.4': // SQL queries for v0.2.4
203 // PNG image is the default
206 // Is the JPEG file found and required PHP function there?
207 if ((!isFileReadable(getPath() . 'theme/' . getCurrentTheme() . '/images/code_bg.png')) || (!function_exists('imagecreatefrompng'))) {
208 // Switch to JPEG format because PNG is not available
211 addConfigAddSql('img_type', "ENUM('jpg','png') NOT NULL DEFAULT '" . $auto_type . "'");
213 // Update notes (these will be set as task text!)
214 setExtensionUpdateNotes("Generierung des Mailbestätigungscodes hängt davon ab, ob die PHP-Funktion <u>imagecreatefromjpeg()</u> und das JPEG-Bild vorhanden sind oder nicht.");
217 case '0.2.5': // SQL queries for v0.2.5
218 // Update notes (these will be set as task text!)
219 setExtensionUpdateNotes("Spalten <u>max_mails</u> und <u>receive_mails</u> auf BIGINT(20) gesetzt.");
222 case '0.2.6': // SQL queries for v0.2.6
223 // Update notes (these will be set as task text!)
224 setExtensionUpdateNotes("Verschoben nach <strong>ext-user</strong>.");
227 case '0.2.7': // SQL queries for v0.2.7
228 addConfigAddSql('stats_limit', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 10');
229 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='config_stats' WHERE `what`='stats' LIMIT 1");
231 // Update notes (these will be set as task text!)
232 setExtensionUpdateNotes("<ol>
233 <li>Das Mitglied kann das derzeitige Design in sein Profil abspeichern.</li>
234 <li>Mitgliederstatistik mit Seitennavigation.</li>
238 case '0.2.8': // SQL queries for v0.2.8
239 // Update notes (these will be set as task text!)
240 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
243 case '0.2.9': // SQL queries for v0.2.9
244 addConfigAddSql('mt_word', "VARCHAR(255) NOT NULL DEFAULT 'Mailtausch'");
245 addConfigAddSql('mt_word2', "VARCHAR(255) NOT NULL DEFAULT 'Mailtausches'");
246 addConfigAddSql('mt_word3', "VARCHAR(255) NOT NULL DEFAULT 'Mailtauscher'");
248 // Update notes (these will be set as task text!)
249 setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
252 case '0.3.0': // SQL queries for v0.3.0
253 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='{OPEN_CONFIG}POINTS{CLOSE_CONFIG}/Referral-Ebenen' WHERE `what`='config_points' LIMIT 1");
254 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Mailvergütungen...' WHERE `what`='payments' LIMIT 1");
256 // Update notes (these will be set as task text!)
257 setExtensionUpdateNotes("Zwei Menüpunkte umbenannt.");
260 case '0.3.1': // SQL queries for v0.3.1
261 addExtensionAddTableUniqueSql('extensions', 'ext_name', '(`ext_name`)');
262 addExtensionAddTableUniqueSql('admins', 'login', '(`login`)');
263 addExtensionAddTableIndexSql('refbanner', 'visible', '(`visible`)');
264 addExtensionAddTableUniqueSql('refdepths', 'level', '(`level`)');
265 addExtensionAddTableIndexSql('refsystem', 'level', '(`level`)');
266 addExtensionAddTableIndexSql('pool', 'data_type', '(`data_type`)');
267 addExtensionAddTableUniqueSql('mod_reg', 'module', '(`module`)');
268 addExtensionAddTableIndexSql('admin_menu', 'action', '(`action`)');
269 addExtensionAddTableIndexSql('admin_menu', 'what', '(`what`)');
270 addExtensionAddTableIndexSql('extensions', 'ext_active', '(`ext_active`)');
271 addExtensionAddTableIndexSql('guest_menu', 'action', '(`action`)');
272 addExtensionAddTableIndexSql('guest_menu', 'what', '(`what`)');
273 addExtensionAddTableIndexSql('guest_menu', 'sort', '(`sort`)');
274 addExtensionAddTableIndexSql('guest_menu', 'visible', '(`visible`)');
275 addExtensionAddTableIndexSql('guest_menu', 'locked', '(`locked`)');
276 addExtensionAddTableIndexSql('member_menu', 'what', '(`what`)');
277 addExtensionAddTableIndexSql('member_menu', 'sort', '(`sort`)');
278 addExtensionAddTableIndexSql('member_menu', 'visible', '(`visible`)');
279 addExtensionAddTableIndexSql('member_menu', 'locked', '(`locked`)');
280 addExtensionAddTableIndexSql('cats', 'visible', '(`visible`)');
281 addExtensionAddTableIndexSql('cats', 'sort', '(`sort`)');
283 // Update notes (these will be set as task text!)
284 setExtensionUpdateNotes("Eindeutige Schlüssel (UNIQUE) und normale Schlüssel (INDEX) gesetzt.");
287 case '0.3.2': // SQL queries for v0.3.2
288 // Connection table between the menu system and the "logical area system"
289 addDropTableSql('admin_menu_las');
290 addCreateTableSql('admin_menu_las', "
291 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
292 `la_id` VARCHAR(255) NOT NULL DEFAULT '',
293 `la_action` VARCHAR(255) NOT NULL DEFAULT '',
294 `la_what` VARCHAR(255) NOT NULL DEFAULT '',
299 'Menu system -> LAS');
301 // All "logical areas" together
302 addDropTableSql('admin_menu_las_data');
303 addCreateTableSql('admin_menu_las_data', "
304 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
305 `la_id` VARCHAR(255) NOT NULL DEFAULT '',
306 `la_title` VARCHAR(255) NOT NULL DEFAULT '',
307 `la_posx` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
308 `la_posy` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
310 UNIQUE INDEX (`la_id`),
313 'LAS position and title data');
315 // Which menu do you like?
316 addConfigAddSql('admin_menu', "ENUM('NEW','OLD') NOT NULL DEFAULT 'OLD'");
319 addAdminMenuSql('setup', 'config_admin', 'Adminmenü', 'Diverse Einstellungen am Adminmenü vornehmen.', 9);
321 // Update notes (these will be set as task text!)
322 setExtensionUpdateNotes("Logische Bereiche (Logical Areas = LAs) eingeführt. Dadurch wird das immer stärker anwachsende Admin-Menü in grosse Hauptgruppen unterteilt, wodurch ein Auffinden von Menüpunkten verbessert wird.");
325 case '0.3.3': // SQL queries for v0.3.3
326 // Switch of the "intelligent menu sorter" when you want to have a fixed menu structure...
327 addConfigAddSql('admin_menu_sorter', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
329 // The statistics table
330 addDropTableSql('admin_las_stats');
331 addCreateTableSql('admin_las_stats', "
332 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
333 `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
334 `type` ENUM('la','action','what') NOT NULL DEFAULT 'what',
335 `clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
340 // Update notes (these will be set as task text!)
341 setExtensionUpdateNotes("Admin-abhängig werden nun Klicks im Admin-Menü gezählt, die zur automatischen Anpassung des Menüs in den logischen Bereichen diennen. Dieses "intelligente Unbauen" können Sie auch ganz abschalten.");
344 case '0.3.4': // SQL queries for v0.3.4
345 // Update notes (these will be set as task text!)
346 setExtensionUpdateNotes("Veraltetes Update (what=list_user&mode=noref)");
349 case '0.3.5': // SQL queries for v0.3.5
350 // List accounts with no referral
351 addMemberMenuSql('stats', NULL, 'Statistiken', 4);
352 addMemberMenuSql('stats', 'stats2', 'Framekiller-Mails', 2);
353 addMemberMenuSql('extras', NULL, 'Extras', 5);
354 addMemberMenuSql('rals', NULL, 'Rallyes', 6);
355 addMemberMenuSql('account', NULL, 'Ihr Account', 7);
356 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='stats',`sort`=1,`title`='Klick-Mails' WHERE `what`='stats' LIMIT 1");
357 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='extras',`sort`=3 WHERE `what`='reflinks' LIMIT 1");
359 // Update notes (these will be set as task text!)
360 setExtensionUpdateNotes("Mitgliedsmenü komplett umgebaut.");
363 case '0.3.6': // SQL queries for v0.3.6
364 addConfigAddSql('salt_length', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10');
365 addConfigAddSql('pass_scramble', "VARCHAR(255) NOT NULL DEFAULT ''");
366 addExtensionChangeTableColumnSql('admins', 'password', 'password', "VARCHAR(255) NOT NULL DEFAULT ''");
367 addConfigAddSql('rand_no', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
368 addConfigAddSql('file_hash', "VARCHAR(255) NOT NULL DEFAULT ''");
369 addConfigAddSql('master_salt', "VARCHAR(255) NOT NULL DEFAULT ''");
370 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_config` SET `rand_no`=(ROUND(RAND() * 99999) + 100000) WHERE `config`=0 LIMIT 1");
371 addExtensionAddTableColumnSql('mod_reg', 'has_menu', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
372 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `has_menu`='Y' WHERE `module`='admin' OR `module`='index' OR `module`='login' LIMIT 3");
374 // Update notes (these will be set as task text!)
375 setExtensionUpdateNotes("Passwort-System mit Zufallshash erweitert (Schutzt gegen Dictionary-Attacks!)");
378 case '0.3.7': // SQL queries for v0.3.7
379 setExtensionUpdateNotes("Problem während des Installationsvorganges behoben.");
382 case '0.3.8': // SQL queries for v0.3.8
383 addExtensionChangeTableColumnSql('admin_menu', 'descr', 'descr', 'MEDIUMTEXT NULL');
384 addExtensionChangeTableColumnSql('pool', 'text', 'text', 'LONGTEXT NOT NULL');
386 // Update notes (these will be set as task text!)
387 setExtensionUpdateNotes("Beschreibungstexte für Admin-Menüs können länger sein. Diverse Fixes.");
390 case '0.3.9': // SQL queries for v0.3.9
391 // Update notes (these will be set as task text!)
392 setExtensionUpdateNotes("Beschreibungstexte für Admin-Menüs können länger sein. Diverse Fixes.");
395 case '0.4.0': // SQL queries for v0.4.0
396 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title` = 'Email-Management' WHERE `action` = 'email' AND (`what`='' OR `what` IS NULL) LIMIT 1");
398 // Update notes (these will be set as task text!)
399 setExtensionUpdateNotes("Email-Verwaltung nach Email-Management umbenannt.");
402 case '0.4.1': // SQL queries for v0.4.1
403 addConfigAddSql('show_timings', "ENUM ('Y','N') NOT NULL DEFAULT 'Y'");
405 // Update notes (these will be set as task text!)
406 setExtensionUpdateNotes("Tabellen-Schlüssel neu gesetzt und Parsing-Zeit im Footer eingeblendet.");
409 case '0.4.2': // SQL queries for v0.4.2
410 // Update notes (these will be set as task text!)
411 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
414 case '0.4.3': // SQL queries for v0.4.3
415 addConfigAddSql('proxy_host', "VARCHAR(255) NOT NULL DEFAULT ''");
416 addConfigAddSql('proxy_port', 'INT(5) UNSIGNED NOT NULL DEFAULT 0');
417 addConfigAddSql('proxy_username', "VARCHAR(255) NOT NULL DEFAULT ''");
418 addConfigAddSql('proxy_password', "VARCHAR(255) NOT NULL DEFAULT ''");
419 addAdminMenuSql('setup','config_proxy','Proxy-Einstellungen','Sollte Ihr Webserver sich hinter einem Proxy befinden, so können Sie Ihren {?mt_word?} so konfigurieren, dass es z.B. Updates, Abfragen von Netzwerkupdates über diesen tätigt.', 15);
421 // Update notes (these will be set as task text!)
422 setExtensionUpdateNotes("Proxy-Einstellungen hinzugefügt.");
425 case '0.4.4': // SQL queries for v0.4.4
426 addExtensionChangeTableColumnSql('admin_menu', 'what', 'what', 'VARCHAR(255) NULL DEFAULT NULL');
427 addExtensionChangeTableColumnSql('guest_menu', 'what', 'what', 'VARCHAR(255) NULL DEFAULT NULL');
428 addExtensionChangeTableColumnSql('member_menu', 'what', 'what', 'VARCHAR(255) NULL DEFAULT NULL');
429 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`=NULL WHERE `what`=''");
430 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `what`=NULL WHERE `what`=''");
431 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `what`=NULL WHERE `what`=''");
433 // Make this depending on ext-menu
434 addExtensionDependency('menu');
436 // Update notes (these will be set as task text!)
437 setExtensionUpdateNotes("Schlüssel in Admin-, Gast- und Mitgliedsmenü verbessert.");
440 case '0.4.5': // SQL queries for v0.4.5
441 addConfigAddSql('last_daily' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
442 addConfigAddSql('last_weekly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
443 addConfigAddSql('last_monthly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
445 // Update notes (these will be set as task text!)
446 setExtensionUpdateNotes("Täglichen/wöchentlichen/monatlichen Reset verbessert.");
449 case '0.4.6': // SQL queries for v0.4.6
450 // Update notes (these will be set as task text!)
451 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
454 case '0.4.7': // SQL queries for v0.4.7
455 // Update notes (these will be set as task text!)
456 setExtensionUpdateNotes("Veraltetes Update.");
459 case '0.4.8': // SQL queries for v0.4.8
460 // Update notes (these will be set as task text!)
461 setExtensionUpdateNotes("Update nach <strong>ext-task</strong> verschoben.");
464 case '0.4.9': // SQL queries for v0.4.9
465 // Update notes (these will be set as task text!)
466 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
469 case '0.5.0': // SQL queries for v0.5.0
470 addExtensionDropTableIndexSql('refsystem', 'level');
471 addExtensionDropTableIndexSql('refsystem', 'userid');
472 addExtensionAddTableIndexSql('refsystem', 'userid_level', '(`userid`, `level`)');
474 // Update notes (these will be set as task text!)
475 setExtensionUpdateNotes("Referral-System unterstützt nun detailierte Referral-Übersicht und vieles mehr.");
478 case '0.5.1': // SQL queries for v0.5.1
479 addExtensionDropTableColumnSql('member_menu', 'descr');
481 // Update notes (these will be set as task text!)
482 setExtensionUpdateNotes("Beschreibungsspalte von Mitgliedsmenü entfernt, welche ohnehin nicht genutzt wird.");
485 case '0.5.2': // SQL queries for v0.5.2
486 addExtensionChangeTableColumnSql('refdepths', 'percents', 'percents', 'FLOAT(8,5) UNSIGNED NOT NULL DEFAULT 0.00000');
488 // Update notes (these will be set as task text!)
489 setExtensionUpdateNotes("Prozentsätze können nun fünf Stellen hinter dem Komma sein.");
492 case '0.5.3': // SQL queries for v0.5.3
493 addConfigAddSql('session_save_path', "VARCHAR(255) NOT NULL DEFAULT ''");
494 addAdminMenuSql('setup','config_session','Session-Einstellungen','Ändern Sie hier den Speicherpfad für Sessiondateien (Sitzungsdateien) ab, falls die Standard-Einstellung bei Ihrem Hoster zu Problem führen sollte.', 16);
496 // Update notes (these will be set as task text!)
497 setExtensionUpdateNotes("Session-Speicherpfad konfigurierbar. Beispielsweise ist dies bei all-inkl.com nötig.");
500 case '0.5.4': // SQL queries for v0.5.4
501 // Update notes (these will be set as task text!)
502 setExtensionUpdateNotes("Dieses Update wurde nach ext-refback verschoben.");
505 case '0.5.5': // SQL queries for v0.5.5
506 addConfigAddSql('show_points_unconfirmed', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
508 // Update notes (these will be set as task text!)
509 setExtensionUpdateNotes("Anzeige der {?POINTS?} unter den unbestätigten Mails kann nun optional abgeschaltet werden.");
512 case '0.5.6': // SQL queries for v0.5.6
513 // Update notes (these will be set as task text!)
514 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
517 case '0.5.7': // SQL queries for v0.5.7
518 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='list_norefs' LIMIT 1");
520 // Update notes (these will be set as task text!)
521 setExtensionUpdateNotes("Auflistung der Mitglieder ohne Werber nach what=list_user&mode=norefs verschoben.");
524 case '0.5.8': // SQL queries for v0.5.8
525 addExtensionDropTableColumnSql('extensions', 'ext_lang_file');
527 // Update notes (these will be set as task text!)
528 setExtensionUpdateNotes("Sprachdateinamen werden nicht mehr in der Datenbank behalten.");
531 case '0.5.9': // SQL queries for v0.5.9
532 // Table 'filters' is vital because many functionality depends on it, so don't remove it
533 addCreateTableSql('filters', "
534 `filter_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
535 `filter_name` VARCHAR(50) NOT NULL DEFAULT '',
536 `filter_function` VARCHAR(100) NOT NULL DEFAULT '',
537 `filter_active` ENUM('N','Y') NOT NULL DEFAULT 'Y',
538 `filter_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
539 PRIMARY KEY (`filter_id`),
540 UNIQUE INDEX `name_function` (`filter_name`, `filter_function`)",
544 addAdminMenuSql('setup','list_filter','Filter-Management', 'Zeigt alle im System registrierten Filter an und lässt diese de- bzw. wieder aktivieren.', 17);
546 // Update notes (these will be set as task text!)
547 setExtensionUpdateNotes("Tabellen für Filter-System hinzugefügt.");
550 case '0.6.0': // SQL queries for v0.6.0
551 addConfigAddSql('update_filter_usage', "ENUM('N','Y') NOT NULL DEFAULT 'N'");
553 // Update notes (these will be set as task text!)
554 setExtensionUpdateNotes("Benutzungsstatistik eingebaut. Das Zählen der Filterverwendungen sollte <strong>ausschliesslich</strong> zu Debugging-Zwecken eingesetzt werden.");
557 case '0.6.1': // SQL queries for v0.6.1
558 // Update notes (these will be set as task text!)
559 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
562 case '0.6.2': // SQL queries for v0.6.2
563 // Depends on refback extension
564 addExtensionDependency('user');
566 // Update notes (these will be set as task text!)
567 setExtensionUpdateNotes("Abhängigkeit von <u>ext-user</u> gesetzt.");
570 case '0.6.3': // SQL queries for v0.6.3
571 // Update notes (these will be set as task text!)
572 setExtensionUpdateNotes("Filter-Tabelle bereinigt um doppelte Einträge und Unique-Key auf <span class=\"bad\">filter_name</span> und <span class=\"bad\">filter_function</span> zusammen gesetzt.");
574 // Add special fix include to fix filters
575 addIncludeToPool('extension', 'inc/fixes/fix_filters.php');
578 case '0.6.4': // SQL queries for v0.6.4
580 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title` = REPLACE(`title`, '!POINTS!', '?POINTS?') WHERE `title` LIKE '%!POINTS!%'");
581 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `descr` = REPLACE(`descr`, '!POINTS!', '?POINTS?') WHERE `descr` LIKE '%!POINTS!%'");
582 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `title` = REPLACE(`title`, '!POINTS!', '?POINTS?') WHERE `title` LIKE '%!POINTS!%'");
583 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `title` = REPLACE(`title`, '!POINTS!', '?POINTS?') WHERE `title` LIKE '%!POINTS!%'");
585 // Update notes (these will be set as task text!)
586 setExtensionUpdateNotes("Datenbank umgestellt auf Konfigurationselemente.");
589 case '0.6.5': // SQL queries for v0.6.5
590 addConfigChangeSql('css_php', 'css_php', "ENUM('DIRECT','FILE','INLINE') NOT NULL DEFAULT 'FILE'");
592 // Update notes (these will be set as task text!)
593 setExtensionUpdateNotes("Ausgabe der CSS-Dateien entweder per css.php oder sie sind direkt eingebunden.");
596 case '0.6.6': // SQL queries for v0.6.6
597 addAdminMenuSql('setup', 'config_secure', 'Sicherheitseinstellungen', 'Stellen Sie ein, wie lange das Passwort eines Mitgliedes mindestens sein muss uvm.', 9);
598 addAdminMenuSql('setup', 'config_points', '{OPEN_CONFIG}POINTS{CLOSE_CONFIG}', 'Stellen Sie hier die Willkommensgutschrift, Referral-Gutschrift (einmalige) usw. ein.', 10);
599 addAdminMenuSql('email', 'email_archiv', 'E-Mail Archiv', 'Sehen Sie sich hier bereits gesendete Mails an.', 6);
601 // Update notes (these will be set as task text!)
602 setExtensionUpdateNotes("Die Sicherheitseinstellungen, {?POINTS?}-Einstellungen und Email-Archiv funktionieren nur, wenn diese Erweiterung installiert ist.");
605 case '0.6.7': // SQL queries for v0.6.7
606 addConfigChangeSql('index_delay', 'index_delay', 'TINYINT(3) NOT NULL DEFAULT 0');
608 // Update notes (these will be set as task text!)
609 setExtensionUpdateNotes("Die Weiterleitungseinstellung muss auch Werte kleiner Null akzeptieren.");
612 case '0.6.8': // SQL queries for v0.6.8
613 addExtensionChangeTableColumnSql('admin_menu', 'action', 'action', 'VARCHAR(50) NOT NULL');
614 addExtensionChangeTableColumnSql('admin_menu', 'what', 'what', 'VARCHAR(50) NULL DEFAULT NULL');
615 addExtensionChangeTableColumnSql('guest_menu', 'action', 'action', 'VARCHAR(50) NOT NULL');
616 addExtensionChangeTableColumnSql('admin_menu', 'what', 'what', 'VARCHAR(50) NULL DEFAULT NULL');
617 addExtensionChangeTableColumnSql('member_menu', 'action', 'action', 'VARCHAR(50) NOT NULL');
618 addExtensionChangeTableColumnSql('admin_menu', 'what', 'what', 'VARCHAR(50) NULL DEFAULT NULL');
620 // Update notes (these will be set as task text!)
621 setExtensionUpdateNotes("Spalten verkürzt, damit die Schlüssel passen.");
624 case '0.6.9': // SQL queries for 0.6.9
626 registerFilter(__FILE__, __LINE__, 'member_login_check', 'RESET_USER_LOGIN_FAILURE', FALSE, TRUE, isExtensionDryRun());
628 // Update notes (these will be set as task text!)
629 setExtensionUpdateNotes("Filter zum Zurücksetzens des fehlgeschlagenen Mitgliederlogins hinzugefügt (internes TODO).");
632 case '0.7.0': // SQL queries for 0.7.0
634 addDropTableSql('dns_cache');
635 addCreateTableSql('dns_cache', "
636 `hostname` VARCHAR(255) NOT NULL,
637 `ip` VARCHAR(15) NOT NULL,
638 `added` DATETIME NOT NULL,
639 PRIMARY KEY (`hostname`),
641 'Cache for DNS requests');
644 addConfigAddSql('dns_cache_timeout', 'BIGINT(20) NOT NULL DEFAULT ' . (60*60*24));
647 registerFilter(__FILE__, __LINE__, 'reset', 'CLEANUP_DNS_CACHE', FALSE, TRUE, isExtensionDryRun());
649 // Update notes (these will be set as task text!)
650 setExtensionUpdateNotes("IP-Resolver-Klasse hinzugefügt, um bei der Erweiterung ext-network DNS-Anfragen einzusparen.");
653 case '0.7.1': // SQL queries for v0.7.1
654 // This update just depends on ext-timezone to make integration of an essential extension much easier
655 addExtensionDependency('timezone');
657 // Update notes (these will be set as task text!)
658 setExtensionUpdateNotes("Zeitzone ist nun mit ext-timezone konfigurierbar.");
661 case '0.7.2': // SQL queries for v0.7.2
662 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_task_system` SET `task_type`='MEMBER_SUPPORT' WHERE `task_type`='SUPPORT_MEMBER'");
664 // Update notes (these will be set as task text!)
665 setExtensionUpdateNotes("Daten an Namenskonvention angepasst.");
668 case '0.7.3': // SQL queries for v0.7.3
669 addExtensionChangeTableColumnSql('filters', 'filter_name', 'filter_name', "VARCHAR(50) NOT NULL DEFAULT ''");
670 addExtensionChangeTableColumnSql('filters', 'filter_function', 'filter_function', "VARCHAR(100) NOT NULL DEFAULT ''");
672 // Update notes (these will be set as task text!)
673 setExtensionUpdateNotes("Spalten in Filtertabelle gekürzt (SQL-Fehler wegen zu grossem Schlüssel).");
676 case '0.7.4': // SQL queries for v0.7.4
677 addExtensionAddTableColumnSql('pool', 'mails_sent', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
679 // Update notes (these will be set as task text!)
680 setExtensionUpdateNotes("Spalten in Filtertabelle gekürzt (SQL-Fehler wegen zu grossem Schlüssel).");
683 case '0.7.5': // SQL queries for v0.7.5
684 addConfigAddSql('last_hourly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
686 // Update notes (these will be set as task text!)
687 setExtensionUpdateNotes("Aktuelle Stunde hinzugefügt (ist nicht konfigurierbar).");
690 case '0.7.6': // SQL queries for v0.7.6
691 addConfigChangeSql('last_month', 'last_monthly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
692 addConfigChangeSql('last_week' , 'last_weekly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
694 // Update notes (these will be set as task text!)
695 setExtensionUpdateNotes("Spaltentyp fuer kleine Zahlen sollten auch z.B. TINYINT sein.");
698 case '0.7.7': // SQL queries for v0.7.7
699 addMemberMenuSql('earn', NULL, 'Verdienen', 2);
700 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='earn',`sort`=1 WHERE `what`='unconfirmed' LIMIT 1");
702 // Update notes (these will be set as task text!)
703 setExtensionUpdateNotes("Menüpunkt <strong>Verdienen</strong> hinzugefügt und <strong>Unbestätigte Mails</strong> als ersten Punkt dort hin verschoben.");
706 case '0.7.8': // SQL queries for v0.7.8
707 // Update notes (these will be set as task text!)
708 setExtensionUpdateNotes("Konfigurationseinträge mit Spaltentyp <strong>ENUM</strong> werden nun immer komplett gross geschrieben.");
711 case '0.7.9': // SQL queries for v0.7.9
712 addExtensionSQL("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='list_email_max_rec' WHERE `what`='config_email' LIMIT 1");
714 // Update notes (these will be set as task text!)
715 setExtensionUpdateNotes("Adminscript <strong>what-config_email.php</strong> nach <strong>what-list_email_max_rec.php</strong> umbenannt.");
718 case '0.8.0': // SQL queries for v0.8.0
719 // Points account data (this table should not be dropped or else you may have to re-install a lot extensions)
720 addCreateTableSql('points_data', "
721 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
722 `subject` VARCHAR(255) NOT NULL DEFAULT '',
723 `column_name` VARCHAR(255) NOT NULL DEFAULT 'points',
724 `locked_mode` ENUM('LOCKED','UNLOCKED') NOT NULL DEFAULT 'LOCKED',
725 `payment_method` ENUM('DIRECT','REFERRAL') NOT NULL DEFAULT 'REFERRAL',
726 `notify_recipient` ENUM('Y','N') NOT NULL DEFAULT 'N',
728 UNIQUE KEY (`subject`)",
729 'Points account data');
732 addAdminMenuSql('setup', 'list_point_accounts', 'Guthabenkonten...', 'Veralten Sie hier bequem Einstellungen zu den Guthabenkonten.', 5);
734 // Update notes (these will be set as task text!)
735 setExtensionUpdateNotes("Tabelle <span class=\"bad\">points_data</span> erzeugt, diese soll das {?POINTS?}-Guthaben komplett lenken.");
738 case '0.8.1': // SQL queries for v0.8.1
739 addExtensionChangeTableColumnSql('refdepths', 'level', 'level', 'TINYINT(3) UNSIGNED NULL DEFAULT NULL');
740 addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_refdepths` SET `level`=NULL WHERE `level`=0 LIMIT 1');
742 // Update notes (these will be set as task text!)
743 setExtensionUpdateNotes("Level 0 ist nun auch NULL.");
746 case '0.8.2': // SQL queries for v0.8.2
747 addExtensionDropTableIndexSql('points_data', 'ext_name');
748 addExtensionChangeTableColumnSql('points_data', 'ext_name', 'subject', "VARCHAR(255) NOT NULL DEFAULT ''");
749 addExtensionAddTableColumnSql('points_data', 'notify_recipient', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
751 // Remove deprecated configuration entry
752 addConfigDropSql('reg_points_mode');
754 // Update notes (these will be set as task text!)
755 setExtensionUpdateNotes("Es sollte der Gutschriftenbetreff und nicht der Erweiterungsname gepeichert werden, zudem brauchen wir einen Konfigurationseintrag nicht mehr.");
758 case '0.8.3': // SQL queries for v0.8.3
759 addConfigAddSql('display_home_in_index', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
761 // Update notes (these will be set as task text!)
762 setExtensionUpdateNotes("Es kann nun die "Home"-Seite in <strong>index.php</strong> angezeigt werden, anstelle der Weiterleitung.");
765 case '0.8.4': // SQL queries for v0.8.4
766 addCreateTableSql('history', "
767 `history_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
768 `history_subject` VARCHAR(255) NOT NULL DEFAULT 'GENERIC',
769 `history_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
770 `history_value` VARCHAR(255) NOT NULL DEFAULT '',
771 `history_added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
772 `history_last_used` TIMESTAMP NULL DEFAULT NULL,
773 PRIMARY KEY (`history_id`),
774 INDEX `userid` (`history_userid`),
775 INDEX (`history_last_used` DESC)",
776 'History of used data');
779 registerFilter(__FILE__, __LINE__, 'add_history_entry', 'ADD_HISTORY_ENTRY', FALSE, TRUE, isExtensionDryRun());
781 // Update notes (these will be set as task text!)
782 setExtensionUpdateNotes("Allgemeine Historie-Tabelle hinzugefügt.");
785 case '0.8.5': // SQL queries for v0.8.5
786 // Old-lost configuration entry
787 addConfigDropSql('ext_autopurge');
789 // Update notes (these will be set as task text!)
790 setExtensionUpdateNotes("Uralten Konfigurationseintrag entfernt.");
793 case '0.8.6': // SQL queries for v0.8.6
794 addExtensionChangeTableColumnSql('points_data', 'payment_method', 'payment_method', "ENUM('DIRECT','REFERRAL') NOT NULL DEFAULT 'REFERRAL'");
795 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_points_data` SET `payment_method`='REFERRAL' WHERE `payment_method` != 'DIRECT'");
797 // Update notes (these will be set as task text!)
798 setExtensionUpdateNotes("Referral/REFERRAL soll es überall heissen (ist ein Typo nur mit einem R zu schreiben).");
801 case '0.8.7': // SQL queries for v0.8.7
802 addConfigAddSql('admin_menu_javascript', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
804 // Update notes (these will be set as task text!)
805 setExtensionUpdateNotes("Es kann ausgewählt werden, ob das herkömliche JavaScrit-lose Menü oder mit JavaScript aktiv sein soll. Das herkömliche ist erstmal Standardeinstellung, bis das JavaScript-Menü funktioniert.");
808 case '0.8.8': // SQL queries for v0.8.8
809 addExtensionDropTableIndexSql('points_data', 'subject');
810 addExtensionAddTableUniqueSql('points_data', 'subject', '(`subject`)');
812 // Update notes (these will be set as task text!)
813 setExtensionUpdateNotes("Der Wert in der Spalte <strong>subject</strong> sollte nur einmal vorkommen, damit eventuell nichts mehrfach durchfl&auuml;ft.");
816 case '0.8.9': // SQL queries for v0.8.9
817 addExtensionAddTableColumnSql('points_data', 'account_provider', "ENUM('EXTENSION', 'CUSTOM') NOT NULL DEFAULT 'EXTENSION'");
818 addConfigAddSql('points_remove_account', "VARCHAR(255) NOT NULL DEFAULT 'points'");
820 // Update notes (these will be set as task text!)
821 setExtensionUpdateNotes(""Provider" hinzugefügt, welcher nur <strong>Erweiterung</strong> oder <strong>Selbstdefiniert sein kann. Es können dann auch nur selbstdefinierte gelöscht oder editiert werden, Erweiterungen können auch nur "einige" Einträge löschen.");
824 case '0.9.0': // SQL queries for v0.9.0
826 registerFilter(__FILE__, __LINE__, 'init', 'GENERATE_FILE_SECRET_HASH', FALSE, TRUE, isExtensionDryRun());
828 // Register points data
829 registerExtensionPointsData('admin_add_single', 'points', 'LOCKED', 'DIRECT');
830 registerExtensionPointsData('admin_add_all', 'points', 'LOCKED', 'DIRECT');
832 // Update notes (these will be set as task text!)
833 setExtensionUpdateNotes("Filter zum Initialisieren von ext-sql_patches registriert und Einträge in <strong>{?_MYSQL_PREFIX?}_points_data</strong> hinzugefügt.");
836 case '0.9.1': // SQL queries for v0.9.1
837 case '0.9.2': // SQL queries for v0.9.2
838 case '0.9.3': // SQL queries for v0.9.3
839 // Update notes (these will be set as task text!)
840 setExtensionUpdateNotes("Dieses Update wurde nach ext-server_name verschoben.");
843 case '0.9.4': // SQL queries for v0.9.4
844 addAdminMenuSql('setup', 'list_referral_levels', 'Referral-Ebenen', 'Erlaubt das Auflisten, hinzufügen, ändern und löschen von Referral-Ebenen. Seien Sie beim Löschen vorsichtig, da deren Id-Nummern zum Verknüpfen verwendet werden. Sollten Sie also eine Ebene löschen, in der Mitglieder {OPEN_CONFIG}POINTS{CLOSE_CONFIG} haben sollten, sind diese verloren.', 15);
845 addExtensionChangeTableColumnSql('refdepths', 'percents', 'percents', 'FLOAT(8,5) UNSIGNED NOT NULL DEFAULT 0.00000');
847 // Update notes (these will be set as task text!)
848 setExtensionUpdateNotes("Auflisten (usw.) von Referral-Ebenen ausgelagert in eigenen Menüpunkt. Referral-Prozente dürfen nun auch 5 Stellen hinter dem Komma haben.");
851 case '0.9.5': // SQL queries for v0.9.5
852 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='list_cats' WHERE `action`='setup' AND `what`='config_cats' LIMIT 1");
854 // Update notes (these will be set as task text!)
855 setExtensionUpdateNotes("Menüpunkt umbenannt, da "config" nur für die Konfigurationstabelle <strong>{?_MYSQL_PREFIX?}_config</strong> ist.");
858 case '0.9.6': // SQL queries for v0.9.6
860 registerFilter(__FILE__, __LINE__, 'determine_menu_mode', 'DETERMINE_MENU_MODE_GENERIC', FALSE, TRUE, isExtensionDryRun());
862 // Update notes (these will be set as task text!)
863 setExtensionUpdateNotes("Filter hinzugefügt, der den Menümodus für weitere von dieser Erweiterung benutzten Module erkennen soll.");
866 case '0.9.7': // SQL queries for v0.9.7
868 registerFilter(__FILE__, __LINE__, 'config_userid_exclusion_sql', 'EXCLUDE_DEFAULT_REFID', FALSE, TRUE, isExtensionDryRun());
870 // Update notes (these will be set as task text!)
871 setExtensionUpdateNotes("Filter hinzugefügt, der die Standard-Referral-Id für SQL-Befehle ausschliesst.");
874 case '0.9.8': // SQL queries for v0.9.8
875 addConfigChangeSql('last_hour' , 'last_hourly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
876 addConfigChangeSql('last_update', 'last_daily' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
877 addConfigChangeSql('last_week' , 'last_weekly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
878 addConfigChangeSql('last_month' , 'last_monthly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
880 // Update notes (these will be set as task text!)
881 setExtensionUpdateNotes("Spalten umbenannt, damit die Namen (Verwendung) nun eindeutiger sind.");
884 case '0.9.9': // SQL queries for v0.9.9
885 addConfigAddSql('last_yearly', 'SMALLINT(4) UNSIGNED ZEROFILL NOT NULL DEFAULT ' . getYear());
886 addConfigChangeSql('pass_len', 'min_password_length', 'TINYINT(2) UNSIGNED NOT NULL DEFAULT 5');
887 addConfigAddSql('min_password_score', 'TINYINT(2) UNSIGNED NOT NULL DEFAULT 3');
888 addModuleSql('api', '{OPEN_LANGUAGE}MODULE_GENERIC_API_TITLE{CLOSE_LANGUAGE}', 'Y', 'Y', 'N', 'N');
890 // Make this depending on ext-mods
891 addExtensionDependency('mods');
893 // Update notes (these will be set as task text!)
894 setExtensionUpdateNotes("Jahres-Reset + generelles API-Modul hinzugefügt.");
897 case '1.0.0': // SQL queries for v1.0.0
898 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='account' WHERE `what`='categories'");
900 // Update notes (these will be set as task text!)
901 setExtensionUpdateNotes("Auswahl im Mitgliedsbereich verschoben nach "Ihr Account".");
904 case '1.0.1': // SQL queries for v1.0.1
905 addModuleSql('ajax', 'AJAX', 'N', 'Y', 'N', 'N');;
907 // Update notes (these will be set as task text!)
908 setExtensionUpdateNotes("AJAX-Modul hinzugefügt.");
911 case '1.0.2': // SQL queries for v1.0.2
912 // Register points data
913 registerExtensionPointsData('pool_payback', 'points', 'LOCKED', 'DIRECT');
914 registerExtensionPointsData('mail_deleted', 'points', 'LOCKED', 'DIRECT');
916 // Update notes (these will be set as task text!)
917 setExtensionUpdateNotes("registerExtensionPointsData() klappt bei der ersten Installation nicht, da die Spalte <em>account_provider</em> fehlt.");
920 case '1.0.3': // SQL queries for v1.0.3
922 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='list_server_name' LIMIT 1");
924 // Unregister filter (moved to ext-server_name)
925 unregisterFilter(__FILE__, __LINE__, 'extra_autopurge', 'SERVER_NAME_EXTRA_AUTOPURGE', TRUE, isExtensionDryRun());
927 // Update notes (these will be set as task text!)
928 setExtensionUpdateNotes("Dieses Feature wurde nach ext-server_name verschoben, damit dies klappt, muss zuvor der Filter manuell aus der Datenbank gelöscht werden, da sonst ein Auto-Unregister erfolgt, was auskommentiert ist. Dies gilt nur für bestehende Installationen, nicht neue.");