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 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * -------------------------------------------------------------------- *
18 * Copyright (c) 2003 - 2009 by Roland Haeder *
19 * Copyright (c) 2009 - 2012 by Mailer Developer Team *
20 * For more information visit: http://mxchange.org *
22 * This program is free software; you can redistribute it and/or modify *
23 * it under the terms of the GNU General Public License as published by *
24 * the Free Software Foundation; either version 2 of the License, or *
25 * (at your option) any later version. *
27 * This program is distributed in the hope that it will be useful, *
28 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
30 * GNU General Public License for more details. *
32 * You should have received a copy of the GNU General Public License *
33 * along with this program; if not, write to the Free Software *
34 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
36 ************************************************************************/
38 // Some security stuff...
39 if (!defined('__SECURITY')) {
43 // @TODO Remove double tabs from all lines
44 switch (getCurrentExtensionVersion()) {
45 case '0.0.1': // SQL queries for v0.0.1
46 addAdminMenuSql('setup', 'config_extensions', 'Erweitungsmanagement', 'Alle Einstellungen am Erweiterungsmanagement.', 10);
48 // Update notes (these will be set as task text!)
49 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.");
52 case '0.0.2': // SQL queries for v0.0.2
53 // Update notes (these will be set as task text!)
54 setExtensionUpdateNotes("Nicht mehr verwendetes Update, da nach <strong>ext-autopurge</strong> verschoben.");
57 case '0.0.3': // SQL queries for v0.0.3
58 addConfigAddSql('points_word', "VARCHAR(255) NOT NULL DEFAULT '{OPEN_TEMPLATE}DEFAULT_POINTS{CLOSE_TEMPLATE}'");
60 // Update notes (these will be set as task text!)
61 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.");
64 case '0.0.4': // SQL queries for v0.0.4
65 addConfigAddSql('mails_page', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 10');
67 // Update notes (these will be set as task text!)
68 setExtensionUpdateNotes("Anzahl Mails pro Seite in <strong>EMail-Details ansehen</strong> und <strong>EMail-Archiv</strong> hinzugefügt.");
71 case '0.0.5': // SQL queries for v0.0.5
72 addConfigAddSql('index_home', "VARCHAR(255) NOT NULL DEFAULT 'welcome'");
73 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);
75 // Update notes (these will be set as task text!)
76 setExtensionUpdateNotes("Die what-welcome.php ist derzeit die "Home"-Seite (Eingangsseite). Dies kann nun per Datenbank geändert werden.");
79 case '0.0.6': // SQL queries for v0.0.6
80 addExtensionAddTableColumnSql('extensions', 'ext_has_css', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
82 // Update notes (these will be set as task text!)
83 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.");
86 case '0.0.7': // SQL queries for v0.0.7
87 addConfigAddSql('verbose_sql', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
89 // Update notes (these will be set as task text!)
90 setExtensionUpdateNotes("Die SQL-Anweisungen werden bei eingeschalteter Verbose-Funktion detailiert angezeigt.");
93 case '0.0.8': // SQL queries for v0.0.8
94 addConfigAddSql('menu_blur_spacer', "VARCHAR(255) NOT NULL DEFAULT ' <strong><big>·</big></strong> '");
96 // Update notes (these will be set as task text!)
97 setExtensionUpdateNotes("Nette Mouse-Hover-Effekte eingebaut (Anleitung <strong>MENUE_HOVER.txt</strong> zum Patchen der general.css bitte lesen!)");
100 case '0.0.9': // SQL queries for v0.0.9
101 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);
103 // Update notes (these will be set as task text!)
104 setExtensionUpdateNotes("Unbestätigte Maillinks können unter Email-Management -> Unbest. Mails auflisten aufgelistet werden.");
107 case '0.1.0': // SQL queries for v0.1.0
108 // Update notes (these will be set as task text!)
109 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?");
112 case '0.1.1': // SQL queries for v0.1.1
113 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");
114 addConfigAddSql('index_delay', 'TINYINT(3) NOT NULL DEFAULT 0');
115 addConfigAddSql('index_cookie', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 365));
117 // Update notes (these will be set as task text!)
118 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.");
121 case '0.1.2': // SQL queries for v0.1.2
122 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);
123 addConfigAddSql('def_refid', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
125 // Update notes (these will be set as task text!)
126 setExtensionUpdateNotes("Standard Referral-Id kann per Admin-Bereich eingestellt werden (war vorher nur in modules.php und index.php direkt eingebbar.)");
129 case '0.1.3': // SQL queries for v0.1.3
130 addConfigAddSql('refid_target', "ENUM('register','index') NOT NULL DEFAULT 'register'");
132 // Update notes (these will be set as task text!)
133 setExtensionUpdateNotes("Auf welche Seite soll der Ref-Link zeigen? Eingangsseite oder Anmeldeformular?");
136 case '0.1.4': // SQL queries for v0.1.4
137 // Update notes (these will be set as task text!)
138 setExtensionUpdateNotes("Ungültiges Update (nach ext-theme.php verschoben!).");
141 case '0.1.5': // SQL queries for v0.1.5
142 addExtensionDropTableColumnSql('extensions', 'ext_has_admin');
144 // Update notes (these will be set as task text!)
145 setExtensionUpdateNotes("Spalte <u>ext_has_admin</u> aus der Tabelle <u>{?_MYSQL_PREFIX?}_extensions</u> entfernt, da sie keinen Sinn mehr macht.");
148 case '0.1.6': // SQL queries for v0.1.6
149 addConfigAddSql('enable_title_deco', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
150 addConfigAddSql('title_left', "VARCHAR(10) NOT NULL DEFAULT '[--'");
151 addConfigAddSql('title_middle', "VARCHAR(10) NOT NULL DEFAULT '-'");
152 addConfigAddSql('title_right', "VARCHAR(10) NOT NULL DEFAULT '--]'");
153 addConfigAddSql('enable_mod_title', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
154 addConfigAddSql('enable_what_title', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
155 addAdminMenuSql('setup','config_title','Seitentitel ändern','De-/aktivieren Sie hier die Dekorationen, sowie Modul-Titel und what-Titel im Seitentitel.', 8);
157 // Update notes (these will be set as task text!)
158 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.");
161 case '0.1.7': // SQL queries for v0.1.7
162 // Update notes (these will be set as task text!)
163 setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
166 case '0.1.8': // SQL queries for v0.1.8
167 // Update notes (these will be set as task text!)
168 setExtensionUpdateNotes("mad_count und last_mad werden nun aus der Datenbank geladen");
171 case '0.1.9': // SQL queries for v0.1.9
172 // Update notes (these will be set as task text!)
173 setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
176 case '0.2.0': // SQL queries for v0.2.0
177 addExtensionChangeTableColumnSql('jackpot', 'points', 'points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
179 addExtensionChangeTableColumnSql('payments', 'payment', 'payment', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
180 addExtensionChangeTableColumnSql('payments', 'price', 'price', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000');
182 // Update notes (these will be set as task text!)
183 setExtensionUpdateNotes("5 Nachkommastellen implementiert");
186 case '0.2.1': // SQL queries for v0.2.1
187 addConfigAddSql('css_php', "ENUM('DIRECT','FILE','INLINE') NOT NULL DEFAULT 'FILE'");
189 // Update notes (these will be set as task text!)
190 setExtensionUpdateNotes("Ausgabe der CSS-Dateien entweder per css.php oder sie sind direkt eingebunden.");
193 case '0.2.2': // SQL queries for v0.2.2
194 // Update notes (these will be set as task text!)
195 setExtensionUpdateNotes("Erweiterung bleibt wegen integrierten Schalters immer aktiv.");
198 case '0.2.3': // SQL queries for v0.2.3
199 addConfigAddSql('guest_menu', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
200 addConfigAddSql('member_menu', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
201 addConfigAddSql('youre_here', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
203 // Update notes (these will be set as task text!)
204 setExtensionUpdateNotes("Gast- und Mitgliedsmenüs lassen sich getrennt voneinander abschalten.");
207 case '0.2.4': // SQL queries for v0.2.4
208 // PNG image is the default
211 // Is the JPEG file found and required PHP function there?
212 if ((!isFileReadable(getPath() . 'theme/' . getCurrentTheme() . '/images/code_bg.png')) || (!function_exists('imagecreatefrompng'))) {
213 // Switch to JPEG format because PNG is not available
216 addConfigAddSql('img_type', "ENUM('jpg','png') NOT NULL DEFAULT '" . $auto_type . "'");
218 // Update notes (these will be set as task text!)
219 setExtensionUpdateNotes("Generierung des Mailbestätigungscodes hängt davon ab, ob die PHP-Funktion <u>imagecreatefromjpeg()</u> und das JPEG-Bild vorhanden sind oder nicht.");
222 case '0.2.5': // SQL queries for v0.2.5
223 // Update notes (these will be set as task text!)
224 setExtensionUpdateNotes("Spalten <u>max_mails</u> und <u>receive_mails</u> auf BIGINT(20) gesetzt.");
227 case '0.2.6': // SQL queries for v0.2.6
228 // Update notes (these will be set as task text!)
229 setExtensionUpdateNotes("Verschoben nach <strong>ext-user</strong>.");
232 case '0.2.7': // SQL queries for v0.2.7
233 addConfigAddSql('stats_limit', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 10');
234 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='config_stats' WHERE `what`='stats' LIMIT 1");
236 // Update notes (these will be set as task text!)
237 setExtensionUpdateNotes("<ol>
238 <li>Das Mitglied kann das derzeitige Design in sein Profil abspeichern.</li>
239 <li>Mitgliederstatistik mit Seitennavigation.</li>
243 case '0.2.8': // SQL queries for v0.2.8
244 // Update notes (these will be set as task text!)
245 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
248 case '0.2.9': // SQL queries for v0.2.9
249 addConfigAddSql('mt_word', "VARCHAR(255) NOT NULL DEFAULT 'Mailtausch'");
250 addConfigAddSql('mt_word2', "VARCHAR(255) NOT NULL DEFAULT 'Mailtausches'");
251 addConfigAddSql('mt_word3', "VARCHAR(255) NOT NULL DEFAULT 'Mailtauscher'");
253 // Update notes (these will be set as task text!)
254 setExtensionUpdateNotes("Wörter <strong>{?mt_word?}</strong>, <strong>{?mt_word2?}</strong> und <strong>{?mt_word3?}</strong> sind austauschbar.");
257 case '0.3.0': // SQL queries for v0.3.0
258 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='{OPEN_CONFIG}POINTS{CLOSE_CONFIG}/Referral-Ebenen' WHERE `what`='config_points' LIMIT 1");
259 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Mailvergütungen...' WHERE `what`='payments' LIMIT 1");
261 // Update notes (these will be set as task text!)
262 setExtensionUpdateNotes("Zwei Menüpunkte umbenannt.");
265 case '0.3.1': // SQL queries for v0.3.1
266 addExtensionAddTableUniqueSql('extensions', 'ext_name', '(`ext_name`)');
267 addExtensionAddTableUniqueSql('admins', 'login', '(`login`)');
268 addExtensionAddTableIndexSql('refbanner', 'visible', '(`visible`)');
269 addExtensionAddTableUniqueSql('refdepths', 'level', '(`level`)');
270 addExtensionAddTableIndexSql('refsystem', 'level', '(`level`)');
271 addExtensionAddTableIndexSql('pool', 'data_type', '(`data_type`)');
272 addExtensionAddTableUniqueSql('mod_reg', 'module', '(`module`)');
273 addExtensionAddTableIndexSql('admin_menu', 'action', '(`action`)');
274 addExtensionAddTableIndexSql('admin_menu', 'what', '(`what`)');
275 addExtensionAddTableIndexSql('extensions', 'ext_active', '(`ext_active`)');
276 addExtensionAddTableIndexSql('guest_menu', 'action', '(`action`)');
277 addExtensionAddTableIndexSql('guest_menu', 'what', '(`what`)');
278 addExtensionAddTableIndexSql('guest_menu', 'sort', '(`sort`)');
279 addExtensionAddTableIndexSql('guest_menu', 'visible', '(`visible`)');
280 addExtensionAddTableIndexSql('guest_menu', 'locked', '(`locked`)');
281 addExtensionAddTableIndexSql('member_menu', 'what', '(`what`)');
282 addExtensionAddTableIndexSql('member_menu', 'sort', '(`sort`)');
283 addExtensionAddTableIndexSql('member_menu', 'visible', '(`visible`)');
284 addExtensionAddTableIndexSql('member_menu', 'locked', '(`locked`)');
285 addExtensionAddTableIndexSql('cats', 'visible', '(`visible`)');
286 addExtensionAddTableIndexSql('cats', 'sort', '(`sort`)');
288 // Update notes (these will be set as task text!)
289 setExtensionUpdateNotes("Eindeutige Schlüssel (UNIQUE) und normale Schlüssel (INDEX) gesetzt.");
292 case '0.3.2': // SQL queries for v0.3.2
293 // Connection table between the menu system and the "logical area system"
294 addDropTableSql('admin_menu_las');
295 addCreateTableSql('admin_menu_las', "
296 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
297 `la_id` VARCHAR(255) NOT NULL DEFAULT '',
298 `la_action` VARCHAR(255) NOT NULL DEFAULT '',
299 `la_what` VARCHAR(255) NOT NULL DEFAULT '',
304 'Menu system -> LAS');
306 // All "logical areas" together
307 addDropTableSql('admin_menu_las_data');
308 addCreateTableSql('admin_menu_las_data', "
309 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
310 `la_id` VARCHAR(255) NOT NULL DEFAULT '',
311 `la_title` VARCHAR(255) NOT NULL DEFAULT '',
312 `la_posx` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
313 `la_posy` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
315 UNIQUE INDEX (`la_id`),
318 'LAS position and title data');
320 // Which menu do you like?
321 addConfigAddSql('admin_menu', "ENUM('NEW','OLD') NOT NULL DEFAULT 'OLD'");
324 addAdminMenuSql('setup', 'config_admin', 'Adminmenü', 'Diverse Einstellungen am Adminmenü vornehmen.', 9);
326 // Update notes (these will be set as task text!)
327 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.");
330 case '0.3.3': // SQL queries for v0.3.3
331 // Switch of the "intelligent menu sorter" when you want to have a fixed menu structure...
332 addConfigAddSql('admin_menu_sorter', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
334 // The statistics table
335 addDropTableSql('admin_las_stats');
336 addCreateTableSql('admin_las_stats', "
337 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
338 `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
339 `type` ENUM('la','action','what') NOT NULL DEFAULT 'what',
340 `clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
345 // Update notes (these will be set as task text!)
346 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.");
349 case '0.3.4': // SQL queries for v0.3.4
350 // Update notes (these will be set as task text!)
351 setExtensionUpdateNotes("Veraltetes Update (what=list_user&mode=noref)");
354 case '0.3.5': // SQL queries for v0.3.5
355 // List accounts with no referral
356 addMemberMenuSql('stats', NULL, 'Statistiken', 4);
357 addMemberMenuSql('stats', 'stats2', 'Framekiller-Mails', 2);
358 addMemberMenuSql('extras', NULL, 'Extras', 5);
359 addMemberMenuSql('rals', NULL, 'Rallyes', 6);
360 addMemberMenuSql('account', NULL, 'Ihr Account', 7);
361 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='stats',`sort`=1,`title`='Klick-Mails' WHERE `what`='stats' LIMIT 1");
362 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='extras',`sort`=3 WHERE `what`='reflinks' LIMIT 1");
364 // Update notes (these will be set as task text!)
365 setExtensionUpdateNotes("Mitgliedsmenü komplett umgebaut.");
368 case '0.3.6': // SQL queries for v0.3.6
369 addConfigAddSql('salt_length', 'TINYINT(3) UNSIGNED NOT NULL DEFAULT 10');
370 addConfigAddSql('pass_scramble', "VARCHAR(255) NOT NULL DEFAULT ''");
371 addExtensionChangeTableColumnSql('admins', 'password', 'password', "VARCHAR(255) NOT NULL DEFAULT ''");
372 addConfigAddSql('rand_no', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
373 addConfigAddSql('file_hash', "VARCHAR(255) NOT NULL DEFAULT ''");
374 addConfigAddSql('master_salt', "VARCHAR(255) NOT NULL DEFAULT ''");
375 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_config` SET `rand_no`=(ROUND(RAND() * 99999) + 100000) WHERE `config`=0 LIMIT 1");
376 addExtensionAddTableColumnSql('mod_reg', 'has_menu', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
377 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `has_menu`='Y' WHERE `module`='admin' OR `module`='index' OR `module`='login' LIMIT 3");
379 // Update notes (these will be set as task text!)
380 setExtensionUpdateNotes("Passwort-System mit Zufallshash erweitert (Schutzt gegen Dictionary-Attacks!)");
383 case '0.3.7': // SQL queries for v0.3.7
384 setExtensionUpdateNotes("Problem während des Installationsvorganges behoben.");
387 case '0.3.8': // SQL queries for v0.3.8
388 addExtensionChangeTableColumnSql('admin_menu', 'descr', 'descr', 'MEDIUMTEXT NULL');
389 addExtensionChangeTableColumnSql('pool', 'text', 'text', 'LONGTEXT NOT NULL');
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.3.9': // SQL queries for v0.3.9
396 // Update notes (these will be set as task text!)
397 setExtensionUpdateNotes("Beschreibungstexte für Admin-Menüs können länger sein. Diverse Fixes.");
400 case '0.4.0': // SQL queries for v0.4.0
401 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title` = 'Email-Management' WHERE `action` = 'email' AND (`what`='' OR `what` IS NULL) LIMIT 1");
403 // Update notes (these will be set as task text!)
404 setExtensionUpdateNotes("Email-Verwaltung nach Email-Management umbenannt.");
407 case '0.4.1': // SQL queries for v0.4.1
408 addConfigAddSql('show_timings', "ENUM ('Y','N') NOT NULL DEFAULT 'Y'");
410 // Update notes (these will be set as task text!)
411 setExtensionUpdateNotes("Tabellen-Schlüssel neu gesetzt und Parsing-Zeit im Footer eingeblendet.");
414 case '0.4.2': // SQL queries for v0.4.2
415 // Update notes (these will be set as task text!)
416 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
419 case '0.4.3': // SQL queries for v0.4.3
420 addConfigAddSql('proxy_host', "VARCHAR(255) NOT NULL DEFAULT ''");
421 addConfigAddSql('proxy_port', 'INT(5) UNSIGNED NOT NULL DEFAULT 0');
422 addConfigAddSql('proxy_username', "VARCHAR(255) NOT NULL DEFAULT ''");
423 addConfigAddSql('proxy_password', "VARCHAR(255) NOT NULL DEFAULT ''");
424 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);
426 // Update notes (these will be set as task text!)
427 setExtensionUpdateNotes("Proxy-Einstellungen hinzugefügt.");
430 case '0.4.4': // SQL queries for v0.4.4
431 addExtensionChangeTableColumnSql('admin_menu', 'what', 'what', 'VARCHAR(255) NULL DEFAULT NULL');
432 addExtensionChangeTableColumnSql('guest_menu', 'what', 'what', 'VARCHAR(255) NULL DEFAULT NULL');
433 addExtensionChangeTableColumnSql('member_menu', 'what', 'what', 'VARCHAR(255) NULL DEFAULT NULL');
434 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`=NULL WHERE `what`=''");
435 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `what`=NULL WHERE `what`=''");
436 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `what`=NULL WHERE `what`=''");
438 // Make this depending on ext-menu
439 addExtensionDependency('menu');
441 // Update notes (these will be set as task text!)
442 setExtensionUpdateNotes("Schlüssel in Admin-, Gast- und Mitgliedsmenü verbessert.");
445 case '0.4.5': // SQL queries for v0.4.5
446 addConfigAddSql('last_daily' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
447 addConfigAddSql('last_weekly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
448 addConfigAddSql('last_monthly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
450 // Update notes (these will be set as task text!)
451 setExtensionUpdateNotes("Täglichen/wöchentlichen/monatlichen Reset verbessert.");
454 case '0.4.6': // SQL queries for v0.4.6
455 // Update notes (these will be set as task text!)
456 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
459 case '0.4.7': // SQL queries for v0.4.7
460 // Update notes (these will be set as task text!)
461 setExtensionUpdateNotes("Veraltetes Update.");
464 case '0.4.8': // SQL queries for v0.4.8
465 // Update notes (these will be set as task text!)
466 setExtensionUpdateNotes("Update nach <strong>ext-task</strong> verschoben.");
469 case '0.4.9': // SQL queries for v0.4.9
470 // Update notes (these will be set as task text!)
471 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
474 case '0.5.0': // SQL queries for v0.5.0
475 addExtensionDropTableIndexSql('refsystem', 'level');
476 addExtensionDropTableIndexSql('refsystem', 'userid');
477 addExtensionAddTableIndexSql('refsystem', 'userid_level', '(`userid`, `level`)');
479 // Update notes (these will be set as task text!)
480 setExtensionUpdateNotes("Referral-System unterstützt nun detailierte Referral-Übersicht und vieles mehr.");
483 case '0.5.1': // SQL queries for v0.5.1
484 addExtensionDropTableColumnSql('member_menu', 'descr');
486 // Update notes (these will be set as task text!)
487 setExtensionUpdateNotes("Beschreibungsspalte von Mitgliedsmenü entfernt, welche ohnehin nicht genutzt wird.");
490 case '0.5.2': // SQL queries for v0.5.2
491 addExtensionChangeTableColumnSql('refdepths', 'percents', 'percents', 'FLOAT(8,5) UNSIGNED NOT NULL DEFAULT 0.00000');
493 // Update notes (these will be set as task text!)
494 setExtensionUpdateNotes("Prozentsätze können nun fünf Stellen hinter dem Komma sein.");
497 case '0.5.3': // SQL queries for v0.5.3
498 addConfigAddSql('session_save_path', "VARCHAR(255) NOT NULL DEFAULT ''");
499 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);
501 // Update notes (these will be set as task text!)
502 setExtensionUpdateNotes("Session-Speicherpfad konfigurierbar. Beispielsweise ist dies bei all-inkl.com nötig.");
505 case '0.5.4': // SQL queries for v0.5.4
506 addMemberMenuSql('main', 'reflist', 'Ref-Übersicht', 5);
508 // Update notes (these will be set as task text!)
509 setExtensionUpdateNotes("Ref-Übersicht eingebaut. Diese hängt von der Erweiterung <strong>refback</strong> ab.");
512 case '0.5.5': // SQL queries for v0.5.5
513 addConfigAddSql('show_points_unconfirmed', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
515 // Update notes (these will be set as task text!)
516 setExtensionUpdateNotes("Anzeige der {?POINTS?} unter den unbestätigten Mails kann nun optional abgeschaltet werden.");
519 case '0.5.6': // SQL queries for v0.5.6
520 // Update notes (these will be set as task text!)
521 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
524 case '0.5.7': // SQL queries for v0.5.7
525 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='list_norefs' LIMIT 1");
527 // Update notes (these will be set as task text!)
528 setExtensionUpdateNotes("Auflistung der Mitglieder ohne Werber nach what=list_user&mode=norefs verschoben.");
531 case '0.5.8': // SQL queries for v0.5.8
532 addExtensionDropTableColumnSql('extensions', 'ext_lang_file');
534 // Update notes (these will be set as task text!)
535 setExtensionUpdateNotes("Sprachdateinamen werden nicht mehr in der Datenbank behalten.");
538 case '0.5.9': // SQL queries for v0.5.9
539 // Table 'filters' is vital because many functionality depends on it, so don't remove it
540 addCreateTableSql('filters', "
541 `filter_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
542 `filter_name` VARCHAR(50) NOT NULL DEFAULT '',
543 `filter_function` VARCHAR(100) NOT NULL DEFAULT '',
544 `filter_active` ENUM('N','Y') NOT NULL DEFAULT 'Y',
545 `filter_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
546 PRIMARY KEY (`filter_id`),
547 UNIQUE INDEX `name_function` (`filter_name`, `filter_function`)",
551 addAdminMenuSql('setup','list_filter','Filter-Management', 'Zeigt alle im System registrierten Filter an und lässt diese de- bzw. wieder aktivieren.', 17);
553 // Update notes (these will be set as task text!)
554 setExtensionUpdateNotes("Tabellen für Filter-System hinzugefügt.");
557 case '0.6.0': // SQL queries for v0.6.0
558 addConfigAddSql('update_filter_usage', "ENUM('N','Y') NOT NULL DEFAULT 'N'");
560 // Update notes (these will be set as task text!)
561 setExtensionUpdateNotes("Benutzungsstatistik eingebaut. Das Zählen der Filterverwendungen sollte <strong>ausschliesslich</strong> zu Debugging-Zwecken eingesetzt werden.");
564 case '0.6.1': // SQL queries for v0.6.1
565 // Update notes (these will be set as task text!)
566 setExtensionUpdateNotes("Nicht mehr gültiges Update.");
569 case '0.6.2': // SQL queries for v0.6.2
570 // Depends on refback extension
571 addExtensionDependency('user');
573 // Update notes (these will be set as task text!)
574 setExtensionUpdateNotes("Abhängigkeit von <u>ext-user</u> gesetzt.");
577 case '0.6.3': // SQL queries for v0.6.3
578 // Update notes (these will be set as task text!)
579 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.");
581 // Add special fix include to fix filters
582 addIncludeToPool('extension', 'inc/fix_filters.php');
585 case '0.6.4': // SQL queries for v0.6.4
587 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title` = REPLACE(`title`, '!POINTS!', '?POINTS?') WHERE `title` LIKE '%!POINTS!%'");
588 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `descr` = REPLACE(`descr`, '!POINTS!', '?POINTS?') WHERE `descr` LIKE '%!POINTS!%'");
589 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `title` = REPLACE(`title`, '!POINTS!', '?POINTS?') WHERE `title` LIKE '%!POINTS!%'");
590 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `title` = REPLACE(`title`, '!POINTS!', '?POINTS?') WHERE `title` LIKE '%!POINTS!%'");
592 // Update notes (these will be set as task text!)
593 setExtensionUpdateNotes("Datenbank umgestellt auf Konfigurationselemente.");
596 case '0.6.5': // SQL queries for v0.6.5
597 addConfigChangeSql('css_php', 'css_php', "ENUM('DIRECT','FILE','INLINE') NOT NULL DEFAULT 'FILE'");
599 // Update notes (these will be set as task text!)
600 setExtensionUpdateNotes("Ausgabe der CSS-Dateien entweder per css.php oder sie sind direkt eingebunden.");
603 case '0.6.6': // SQL queries for v0.6.6
604 addAdminMenuSql('setup', 'config_secure', 'Sicherheitseinstellungen', 'Stellen Sie ein, wie lange das Passwort eines Mitgliedes mindestens sein muss uvm.', 9);
605 addAdminMenuSql('setup', 'config_points', '{OPEN_CONFIG}POINTS{CLOSE_CONFIG}', 'Stellen Sie hier die Willkommensgutschrift, Referral-Gutschrift (einmalige) usw. ein.', 10);
606 addAdminMenuSql('email', 'email_archiv', 'E-Mail Archiv', 'Sehen Sie sich hier bereits gesendete Mails an.', 6);
608 // Update notes (these will be set as task text!)
609 setExtensionUpdateNotes("Die Sicherheitseinstellungen, {?POINTS?}-Einstellungen und Email-Archiv funktionieren nur, wenn diese Erweiterung installiert ist.");
612 case '0.6.7': // SQL queries for v0.6.7
613 addConfigChangeSql('index_delay', 'index_delay', 'TINYINT(3) NOT NULL DEFAULT 0');
615 // Update notes (these will be set as task text!)
616 setExtensionUpdateNotes("Die Weiterleitungseinstellung muss auch Werte kleiner Null akzeptieren.");
619 case '0.6.8': // SQL queries for v0.6.8
620 addExtensionChangeTableColumnSql('admin_menu', 'action', 'action', 'VARCHAR(50) NOT NULL');
621 addExtensionChangeTableColumnSql('admin_menu', 'what', 'what', 'VARCHAR(50) NULL DEFAULT NULL');
622 addExtensionChangeTableColumnSql('guest_menu', 'action', 'action', 'VARCHAR(50) NOT NULL');
623 addExtensionChangeTableColumnSql('admin_menu', 'what', 'what', 'VARCHAR(50) NULL DEFAULT NULL');
624 addExtensionChangeTableColumnSql('member_menu', 'action', 'action', 'VARCHAR(50) NOT NULL');
625 addExtensionChangeTableColumnSql('admin_menu', 'what', 'what', 'VARCHAR(50) NULL DEFAULT NULL');
627 // Update notes (these will be set as task text!)
628 setExtensionUpdateNotes("Spalten verkürzt, damit die Schlüssel passen.");
631 case '0.6.9': // SQL queries for 0.6.9
633 registerFilter(__FILE__, __LINE__, 'member_login_check', 'RESET_USER_LOGIN_FAILURE', FALSE, TRUE, isExtensionDryRun());
635 // Update notes (these will be set as task text!)
636 setExtensionUpdateNotes("Filter zum Zurücksetzens des fehlgeschlagenen Mitgliederlogins hinzugefügt (internes TODO).");
639 case '0.7.0': // SQL queries for 0.7.0
641 addDropTableSql('dns_cache');
642 addCreateTableSql('dns_cache', "
643 `hostname` VARCHAR(255) NOT NULL,
644 `ip` VARCHAR(15) NOT NULL,
645 `added` DATETIME NOT NULL,
646 PRIMARY KEY (`hostname`),
648 'Cache for DNS requests');
651 addConfigAddSql('dns_cache_timeout', 'BIGINT(20) NOT NULL DEFAULT ' . (60*60*24));
654 registerFilter(__FILE__, __LINE__, 'reset', 'CLEANUP_DNS_CACHE', FALSE, TRUE, isExtensionDryRun());
656 // Update notes (these will be set as task text!)
657 setExtensionUpdateNotes("IP-Resolver-Klasse hinzugefügt, um bei der Erweiterung ext-network DNS-Anfragen einzusparen.");
660 case '0.7.1': // SQL queries for v0.7.1
661 // This update just depends on ext-timezone to make integration of an essential extension much easier
662 addExtensionDependency('timezone');
664 // Update notes (these will be set as task text!)
665 setExtensionUpdateNotes("Zeitzone ist nun mit ext-timezone konfigurierbar.");
668 case '0.7.2': // SQL queries for v0.7.2
669 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_task_system` SET `task_type`='MEMBER_SUPPORT' WHERE `task_type`='SUPPORT_MEMBER'");
671 // Update notes (these will be set as task text!)
672 setExtensionUpdateNotes("Daten an Namenskonvention angepasst.");
675 case '0.7.3': // SQL queries for v0.7.3
676 addExtensionChangeTableColumnSql('filters', 'filter_name', 'filter_name', "VARCHAR(50) NOT NULL DEFAULT ''");
677 addExtensionChangeTableColumnSql('filters', 'filter_function', 'filter_function', "VARCHAR(100) NOT NULL DEFAULT ''");
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.4': // SQL queries for v0.7.4
684 addExtensionAddTableColumnSql('pool', 'mails_sent', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
686 // Update notes (these will be set as task text!)
687 setExtensionUpdateNotes("Spalten in Filtertabelle gekürzt (SQL-Fehler wegen zu grossem Schlüssel).");
690 case '0.7.5': // SQL queries for v0.7.5
691 addConfigAddSql('last_hourly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
693 // Update notes (these will be set as task text!)
694 setExtensionUpdateNotes("Aktuelle Stunde hinzugefügt (ist nicht konfigurierbar).");
697 case '0.7.6': // SQL queries for v0.7.6
698 addConfigChangeSql('last_month', 'last_monthly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
699 addConfigChangeSql('last_week' , 'last_weekly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
701 // Update notes (these will be set as task text!)
702 setExtensionUpdateNotes("Spaltentyp fuer kleine Zahlen sollten auch z.B. TINYINT sein.");
705 case '0.7.7': // SQL queries for v0.7.7
706 addMemberMenuSql('earn', NULL, 'Verdienen', 2);
707 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='earn',`sort`=1 WHERE `what`='unconfirmed' LIMIT 1");
709 // Update notes (these will be set as task text!)
710 setExtensionUpdateNotes("Menüpunkt <strong>Verdienen</strong> hinzugefügt und <strong>Unbestätigte Mails</strong> als ersten Punkt dort hin verschoben.");
713 case '0.7.8': // SQL queries for v0.7.8
714 // Update notes (these will be set as task text!)
715 setExtensionUpdateNotes("Konfigurationseinträge mit Spaltentyp <strong>ENUM</strong> werden nun immer komplett gross geschrieben.");
718 case '0.7.9': // SQL queries for v0.7.9
719 addExtensionSQL("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='list_email_max_rec' WHERE `what`='config_email' LIMIT 1");
721 // Update notes (these will be set as task text!)
722 setExtensionUpdateNotes("Adminscript <strong>what-config_email.php</strong> nach <strong>what-list_email_max_rec.php</strong> umbenannt.");
725 case '0.8.0': // SQL queries for v0.8.0
726 // Points account data (this table should not be dropped or else you may have to re-install a lot extensions)
727 addCreateTableSql('points_data', "
728 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
729 `subject` VARCHAR(255) NOT NULL DEFAULT '',
730 `column_name` VARCHAR(255) NOT NULL DEFAULT 'points',
731 `locked_mode` ENUM('LOCKED','UNLOCKED') NOT NULL DEFAULT 'LOCKED',
732 `payment_method` ENUM('DIRECT','REFERRAL') NOT NULL DEFAULT 'REFERRAL',
733 `notify_recipient` ENUM('Y','N') NOT NULL DEFAULT 'N',
735 UNIQUE KEY (`subject`)",
736 'Points account data');
739 addAdminMenuSql('setup', 'list_point_accounts', 'Guthabenkonten...', 'Veralten Sie hier bequem Einstellungen zu den Guthabenkonten.', 5);
741 // Update notes (these will be set as task text!)
742 setExtensionUpdateNotes("Tabelle <span class=\"bad\">points_data</span> erzeugt, diese soll das {?POINTS?}-Guthaben komplett lenken.");
745 case '0.8.1': // SQL queries for v0.8.1
746 addExtensionChangeTableColumnSql('refdepths', 'level', 'level', 'TINYINT(3) UNSIGNED NULL DEFAULT NULL');
747 addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_refdepths` SET `level`=NULL WHERE `level`=0 LIMIT 1');
749 // Update notes (these will be set as task text!)
750 setExtensionUpdateNotes("Level 0 ist nun auch NULL.");
753 case '0.8.2': // SQL queries for v0.8.2
754 addExtensionDropTableIndexSql('points_data', 'ext_name');
755 addExtensionChangeTableColumnSql('points_data', 'ext_name', 'subject', "VARCHAR(255) NOT NULL DEFAULT ''");
756 addExtensionAddTableColumnSql('points_data', 'notify_recipient', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
758 // Register points data
759 registerExtensionPointsData('pool_payback', 'points', 'LOCKED', 'DIRECT');
760 registerExtensionPointsData('mail_deleted', 'points', 'LOCKED', 'DIRECT');
762 // Remove deprecated configuration entry
763 addConfigDropSql('reg_points_mode');
765 // Update notes (these will be set as task text!)
766 setExtensionUpdateNotes("Es sollte der Gutschriftenbetreff und nicht der Erweiterungsname gepeichert werden, zudem brauchen wir einen Konfigurationseintrag nicht mehr.");
769 case '0.8.3': // SQL queries for v0.8.3
770 addConfigAddSql('display_home_in_index', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
772 // Update notes (these will be set as task text!)
773 setExtensionUpdateNotes("Es kann nun die "Home"-Seite in <strong>index.php</strong> angezeigt werden, anstelle der Weiterleitung.");
776 case '0.8.4': // SQL queries for v0.8.4
777 addCreateTableSql('history', "
778 `history_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
779 `history_subject` VARCHAR(255) NOT NULL DEFAULT 'GENERIC',
780 `history_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
781 `history_value` VARCHAR(255) NOT NULL DEFAULT '',
782 `history_added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
783 `history_last_used` TIMESTAMP NULL DEFAULT NULL,
784 PRIMARY KEY (`history_id`),
785 INDEX `userid` (`history_userid`),
786 INDEX (`history_last_used` DESC)",
787 'History of used data');
790 registerFilter(__FILE__, __LINE__, 'add_history_entry', 'ADD_HISTORY_ENTRY', FALSE, TRUE, isExtensionDryRun());
792 // Update notes (these will be set as task text!)
793 setExtensionUpdateNotes("Allgemeine Historie-Tabelle hinzugefügt.");
796 case '0.8.5': // SQL queries for v0.8.5
797 // Old-lost configuration entry
798 addConfigDropSql('ext_autopurge');
800 // Update notes (these will be set as task text!)
801 setExtensionUpdateNotes("Uralten Konfigurationseintrag entfernt.");
804 case '0.8.6': // SQL queries for v0.8.6
805 addExtensionChangeTableColumnSql('points_data', 'payment_method', 'payment_method', "ENUM('DIRECT','REFERRAL') NOT NULL DEFAULT 'REFERRAL'");
806 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_points_data` SET `payment_method`='REFERRAL' WHERE `payment_method` != 'DIRECT'");
808 // Update notes (these will be set as task text!)
809 setExtensionUpdateNotes("Referral/REFERRAL soll es überall heissen (ist ein Typo nur mit einem R zu schreiben).");
812 case '0.8.7': // SQL queries for v0.8.7
813 addConfigAddSql('admin_menu_javascript', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
815 // Update notes (these will be set as task text!)
816 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.");
819 case '0.8.8': // SQL queries for v0.8.8
820 addExtensionDropTableIndexSql('points_data', 'subject');
821 addExtensionAddTableUniqueSql('points_data', 'subject', '(`subject`)');
823 // Update notes (these will be set as task text!)
824 setExtensionUpdateNotes("Der Wert in der Spalte <strong>subject</strong> sollte nur einmal vorkommen, damit eventuell nichts mehrfach durchfl&auuml;ft.");
827 case '0.8.9': // SQL queries for v0.8.9
828 addExtensionAddTableColumnSql('points_data', 'account_provider', "ENUM('EXTENSION', 'CUSTOM') NOT NULL DEFAULT 'EXTENSION'");
829 addConfigAddSql('points_remove_account', "VARCHAR(255) NOT NULL DEFAULT 'points'");
831 // Update notes (these will be set as task text!)
832 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.");
835 case '0.9.0': // SQL queries for v0.9.0
837 registerFilter(__FILE__, __LINE__, 'init', 'GENERATE_FILE_SECRET_HASH', FALSE, TRUE, isExtensionDryRun());
839 // Register points data
840 registerExtensionPointsData('admin_add_single', 'points', 'LOCKED', 'DIRECT');
841 registerExtensionPointsData('admin_add_single_ref', 'points', 'LOCKED', 'DIRECT');
842 registerExtensionPointsData('admin_add_all', 'points', 'LOCKED', 'DIRECT');
843 registerExtensionPointsData('admin_add_all_ref', 'points', 'LOCKED', 'DIRECT');
845 // Update notes (these will be set as task text!)
846 setExtensionUpdateNotes("Filter zum Initialisieren von ext-sql_patches registriert und Einträge in <strong>{?_MYSQL_PREFIX?}_points_data</strong> hinzugefügt.");
849 case '0.9.1': // SQL queries for v0.9.1
851 addAdminMenuSql('misc', 'list_server_name', 'Verkehrte Domains auflisten', 'Listet alle als verkehrt erkannten Domains auf.', 4);
854 addCreateTableSql('server_name_log', "
855 `server_name_id` BIGINT (20) NOT NULL AUTO_INCREMENT,
856 `server_name` VARCHAR (255) NOT NULL DEFAULT 'invalid',
857 `server_name_remote_addr` VARCHAR (15) NOT NULL DEFAULT '0.0.0.0',
858 `server_name_ua` TINYTEXT NULL DEFAULT NULL,
859 `server_name_referrer` TINYTEXT NULL DEFAULT NULL,
860 `server_name_added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
861 `server_name_counter` BIGINT (20) NOT NULL DEFAULT 1,
862 PRIMARY KEY (`server_name_id`)
863 ", 'Logging of wrong SERVER_NAME');
865 // Update notes (these will be set as task text!)
866 setExtensionUpdateNotes("Loggen von falschen <strong>SERVER_NAME</strong> Einträgen hinzugefügt.");
869 case '0.9.2': // SQL queries for v0.9.2
870 addExtensionAddTableColumnSql('server_name_log', 'server_name_remote_addr', "VARCHAR (15) NOT NULL DEFAULT '0.0.0.0'");
871 addExtensionAddTableColumnSql('server_name_log', 'server_name_counter', 'BIGINT (20) NOT NULL DEFAULT 0');
872 addExtensionAddTableColumnSql('server_name_log', 'server_name_ua', 'TINYTEXT NULL DEFAULT NULL');
873 addExtensionAddTableColumnSql('server_name_log', 'server_name_referrer', 'TINYTEXT NULL DEFAULT NULL');
875 // Update notes (these will be set as task text!)
876 setExtensionUpdateNotes("Sorry, hatte noch IP-Nummer, User-Agent, aufrufende Seite und Zähler vergessen.");
879 case '0.9.3': // SQL queries for v0.9.3
880 addConfigAddSql('ap_server_name', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
881 addConfigAddSql('ap_server_name_since', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 7));
884 registerFilter(__FILE__, __LINE__, 'extra_autopurge', 'SERVER_NAME_EXTRA_AUTOPURGE', FALSE, TRUE, isExtensionDryRun());
886 // Update notes (these will be set as task text!)
887 setExtensionUpdateNotes("Bereinigung von verkehrten <strong>SERVER_NAME</strong> Einträgen hinzugefügt.");
890 case '0.9.4': // SQL queries for v0.9.4
891 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);
892 addExtensionChangeTableColumnSql('refdepths', 'percents', 'percents', 'FLOAT(8,5) UNSIGNED NOT NULL DEFAULT 0.00000');
894 // Update notes (these will be set as task text!)
895 setExtensionUpdateNotes("Auflisten (usw.) von Referral-Ebenen ausgelagert in eigenen Menüpunkt. Referral-Prozente dürfen nun auch 5 Stellen hinter dem Komma haben.");
898 case '0.9.5': // SQL queries for v0.9.5
899 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `what`='list_cats' WHERE `action`='setup' AND `what`='config_cats' LIMIT 1");
901 // Update notes (these will be set as task text!)
902 setExtensionUpdateNotes("Menüpunkt umbenannt, da "config" nur für die Konfigurationstabelle <strong>{?_MYSQL_PREFIX?}_config</strong> ist.");
905 case '0.9.6': // SQL queries for v0.9.6
907 registerFilter(__FILE__, __LINE__, 'determine_menu_mode', 'DETERMINE_MENU_MODE_GENERIC', FALSE, TRUE, isExtensionDryRun());
909 // Update notes (these will be set as task text!)
910 setExtensionUpdateNotes("Filter hinzugefügt, der den Menümodus für weitere von dieser Erweiterung benutzten Module erkennen soll.");
913 case '0.9.7': // SQL queries for v0.9.7
915 registerFilter(__FILE__, __LINE__, 'config_userid_exclusion_sql', 'EXCLUDE_DEFAULT_REFID', FALSE, TRUE, isExtensionDryRun());
917 // Update notes (these will be set as task text!)
918 setExtensionUpdateNotes("Filter hinzugefügt, der die Standard-Referral-Id für SQL-Befehle ausschliesst.");
921 case '0.9.8': // SQL queries for v0.9.8
922 addConfigChangeSql('last_hour' , 'last_hourly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
923 addConfigChangeSql('last_update', 'last_daily' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
924 addConfigChangeSql('last_week' , 'last_weekly' , 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
925 addConfigChangeSql('last_month' , 'last_monthly', 'TINYINT(2) UNSIGNED ZEROFILL NOT NULL DEFAULT 00');
927 // Update notes (these will be set as task text!)
928 setExtensionUpdateNotes("Spalten umbenannt, damit die Namen (Verwendung) nun eindeutiger sind.");