2 /************************************************************************
3 * MXChange v0.2.1 Start: 04/29/2004 *
4 * ================ Last change: 11/23/2004 *
6 * -------------------------------------------------------------------- *
7 * File : ext-register.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Swapped out registration system for new members *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Ausgelagertes Anmeldesystem fuer Mitglieder *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * Needs to be in all Files and every File needs "svn propset *
18 * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
19 * -------------------------------------------------------------------- *
20 * Copyright (c) 2003 - 2008 by Roland Haeder *
21 * For more information visit: http://www.mxchange.org *
23 * This program is free software; you can redistribute it and/or modify *
24 * it under the terms of the GNU General Public License as published by *
25 * the Free Software Foundation; either version 2 of the License, or *
26 * (at your option) any later version. *
28 * This program is distributed in the hope that it will be useful, *
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
31 * GNU General Public License for more details. *
33 * You should have received a copy of the GNU General Public License *
34 * along with this program; if not, write to the Free Software *
35 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
37 ************************************************************************/
39 // Some security stuff...
40 if (!defined('__SECURITY')) {
41 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
46 EXT_SET_VERSION("0.5.2");
48 // Version history array (add more with , "0.1" and so on)
49 EXT_SET_VER_HISTORY(array("0.0", "0.1", "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"));
51 switch ($EXT_LOAD_MODE)
53 case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
54 // SQL commands to run
58 case "remove": // Do stuff when removing extension
59 // SQL commands to run
60 ADD_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what`='config_register' LIMIT 1");
63 case "activate": // Do stuff when admin activates this extension
64 // SQL commands to run
68 case "deactivate": // Do stuff when admin deactivates this extension
69 // SQL commands to run
73 case "update": // Update an extension
76 case "0.1": // SQL queries for v0.1
77 ADD_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_must_register`");
78 ADD_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_must_register` (
79 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
80 field_name VARCHAR(255) NOT NULL DEFAULT '',
81 field_required ENUM('Y','N') NOT NULL DEFAULT 'Y',
83 ) TYPE={!_TABLE_TYPE!}");
85 // Add all entries as required (DO NOT DELETE THEM FROM DATABASE!)
86 ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_must_register` (field_name, field_required) VALUES ('surname','Y')");
87 ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_must_register` (field_name, field_required) VALUES ('family_name','Y')");
88 ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_must_register` (field_name, field_required) VALUES ('street_nr','Y')");
89 ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_must_register` (field_name, field_required) VALUES ('cntry','Y')");
90 ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_must_register` (field_name, field_required) VALUES ('zip','Y')");
91 ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_must_register` (field_name, field_required) VALUES ('city','Y')");
94 ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_register','Pflichtfelder','Stellen Sie hier die Pflichtfelder sowohl im Anmeldeformular, als auch im Mitgliedsbereich unter <strong>Profildaten ändern</strong> ein.', 12)");
96 // Update notes (these will be set as task text!)
97 EXT_SET_UPDATE_NOTES("Einstellbare Pflichtfelder hinzugefügt.");
100 case "0.1.1": // SQL queries for v0.1.1
101 ADD_SQL("UPDATE `{!_MYSQL_PREFIX!}_extensions` SET ext_has_css='Y' WHERE ext_name='register' AND ext_has_css='N' LIMIT 1");
103 // This update depends on sql_patches update!
104 EXT_SET_UPDATE_DEPENDS("sql_patches");
106 // Update notes (these will be set as task text!)
107 EXT_SET_UPDATE_NOTES("CSS-Datei kann per Admin-Bereich ein- und ausgeschaltet werden.");
110 case "0.1.3": // SQL queries for v0.1.3
111 // This update depends on sql_patches update!
112 EXT_SET_UPDATE_DEPENDS("sql_patches");
114 // Update notes (these will be set as task text!)
115 EXT_SET_UPDATE_NOTES("Standart Referal-ID kann per Admin-Bereich eingestellt werden (war vorher nur in modules.php und index.php direkt eingebbar.)");
118 case "0.1.4": // SQL queries for v0.1.4
119 // Update notes (these will be set as task text!)
120 EXT_SET_UPDATE_NOTES("Wegen des Theme-Supportes hat sich die URL zur CSS-Datei geändert.");
123 case "0.1.5": // SQL queries for v0.1.5
124 // Update notes (these will be set as task text!)
125 EXT_SET_UPDATE_NOTES("Konfiguration der Pflichtangaben ausgelagert in Template");
128 case "0.1.6": // SQL queries for v0.1.6
129 // Update notes (these will be set as task text!)
130 EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
133 case "0.1.7": // SQL queries for v0.1.7
134 // Update notes (these will be set as task text!)
135 EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
138 case "0.1.8": // SQL queries for v0.1.8
139 // Update notes (these will be set as task text!)
140 EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
143 case "0.1.9": // SQL queries for v0.1.9
144 // Update notes (these will be set as task text!)
145 EXT_SET_UPDATE_NOTES("Pflichtfelder wieder eingebaut (waren irgentwie ausgebaut???)");
148 case "0.2.0": // SQL queries for v0.2.0
149 // Update notes (these will be set as task text!)
150 EXT_SET_UPDATE_NOTES("Problem mit Speicherung der Einstellungen beseitigt.");
153 case "0.2.1": // SQL queries for v0.2.1
154 // Update notes (these will be set as task text!)
155 EXT_SET_UPDATE_NOTES("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
158 case "0.2.2": // SQL queries for v0.2.2
159 // Update notes (these will be set as task text!)
160 EXT_SET_UPDATE_NOTES("Sämtliche Sperren bei eingeloggten Admin deaktiviert.");
163 case "0.2.3": // SQL queries for v0.2.3
164 // Update notes (these will be set as task text!)
165 EXT_SET_UPDATE_NOTES("Cookie <u>refid</u> aus Anmeldeformular entfernt.");
168 case "0.2.4": // SQL queries for v0.2.4
169 // Update notes (these will be set as task text!)
170 EXT_SET_UPDATE_NOTES("Design "Solid-Business" eingebaut.");
173 case "0.2.5": // SQL queries for v0.2.5
174 // Update notes (these will be set as task text!)
175 EXT_SET_UPDATE_NOTES("Seit <a href=\"#\">Patch 340</a> überflüssige HTML-Tags entfernt.");
178 case "0.2.6": // SQL queries for v0.2.6
179 // Update notes (these will be set as task text!)
180 EXT_SET_UPDATE_NOTES("IP-Nummer und Browserbezeichnung wird in Admin-Mails eingesetzt.");
183 case "0.2.7": // SQL queries for v0.2.7
184 // Update notes (these will be set as task text!)
185 EXT_SET_UPDATE_NOTES("Referal-ID wird endlich korrekt gesetzt.");
188 case "0.2.8": // SQL queries for v0.2.8
189 // Update notes (these will be set as task text!)
190 EXT_SET_UPDATE_NOTES("Parse error in <u>what-register.php</u> beseitigt.");
193 case "0.2.9": // SQL queries for v0.2.9
194 // Update notes (these will be set as task text!)
195 EXT_SET_UPDATE_NOTES("Anrede "Firma" hinzugefügt.");
198 case "0.3.0": // SQL queries for v0.3.0
199 // Update notes (these will be set as task text!)
200 EXT_SET_UPDATE_NOTES("Wörter <strong>Mailtausch</strong>, <strong>Mailtausches</strong> und <strong>Mailtauscher</strong> sind austauschbar.");
203 case "0.3.1": // SQL queries for v0.3.1
204 // Update notes (these will be set as task text!)
205 EXT_SET_UPDATE_NOTES("Email-Adresse wird vor dem Speichern auf G¨tigkeit hin getestet.");
208 case "0.3.2": // SQL queries for v0.3.2
209 // Update notes (these will be set as task text!)
210 EXT_SET_UPDATE_NOTES("Einbindung der Erweiterung <strong>country</strong>, die Sie sich noch optional von <a href=\"{!URL!}/modules.php?module=admin&what=extensions&do=search\">meiner Seite herunterladen</a> müssen.<br />
212 <strong>Wichtig: Laden Sie noch das Template <strong>guest_register.tpl</strong> mit hoch, welches unter templates/".GET_LANGUAGE()."/html/guest/ zu finden ist!</strong>");
214 // Depends on 'country'
215 EXT_SET_UPDATE_DEPENDS("country");
218 case "0.3.3": // SQL queries for v0.3.3
219 // Update notes (these will be set as task text!)
220 EXT_SET_UPDATE_NOTES("Es werden dem Mitglied nur aktivierte Ländercodes zur Auswahl angeboten.");
223 case "0.3.4": // SQL queries for v0.3.4
224 // Update notes (these will be set as task text!)
225 EXT_SET_UPDATE_NOTES("Auf Grund der Integration der neue Erweiterung <strong>country</strong> in die Anmeldephase klappte die Anmeldung nicht. Die dazu nütige Verknüpfung ist nun eingebaut und die Anmeldung klappt wieder. Vielen Dank nochmals an den Bug-Reporter (Fehlermelder)!");
228 case "0.3.5": // SQL queries for v0.3.5
229 // Update notes (these will be set as task text!)
230 EXT_SET_UPDATE_NOTES("Design wird nach Anmeldung auch endlich im Mitgliedsmenü übernommen.");
233 case "0.3.6": // SQL queries for v0.3.6
234 // Update notes (these will be set as task text!)
235 EXT_SET_UPDATE_NOTES("Fehlermeldung <strong>Fatal error: Call to undefined function: get_theme() in /../../guest/what-register.php on line 190</strong> beseitigt.");
238 case "0.3.7": // SQL queries for v0.3.7
239 // Update notes (these will be set as task text!)
240 EXT_SET_UPDATE_NOTES("Fehlermeldung <strong>Fatal error: Call to undefined function: get_curr_theme<u>e</u>() in /../../guest/what-register.php on line 190</strong> beseitigt.");
243 case "0.3.8": // SQL queries for v0.3.8
244 // Update notes (these will be set as task text!)
245 EXT_SET_UPDATE_NOTES("Weitere SQL-Befehle abgesichert.");
248 case "0.3.9": // SQL queries for v0.3.9
249 // Update notes (these will be set as task text!)
250 EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
253 case "0.4.0": // SQL queries for v0.4.0
254 // Update notes (these will be set as task text!)
255 EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert.");
258 case "0.4.1": // SQL queries for v0.4.1
259 // Update notes (these will be set as task text!)
260 EXT_SET_UPDATE_NOTES("Vorbereitung auf die neue Mediendaten v0.0.4.");
263 case "0.4.2": // SQL queries for v0.4.2
264 ADD_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD register_default ENUM('Y','N') NOT NULL DEFAULT 'N'");
265 ADD_SQL("UPDATE `{!_MYSQL_PREFIX!}_admin_menu` SET `what`='config_register2' WHERE `what`='config_reg' LIMIT 1");
267 // Update notes (these will be set as task text!)
268 EXT_SET_UPDATE_NOTES("Bei der Anmeldung kann die Standart-Auswahl zwischen Ja/Nein umgeschaltet werden. Das Ändern des Templates <strong>templates/".GET_LANGUAGE()."/html/guest/guest_register.tpl</strong> ist nicht mehr nötig.");
271 case "0.4.3": // SQL queries for v0.4.3
272 // Update notes (these will be set as task text!)
273 EXT_SET_UPDATE_NOTES("Parser-Error in <strong>inc/modules/guest/what-register.php</strong> beseitigt.");
276 case "0.4.4": // SQL queries for v0.4.4
277 // Update notes (these will be set as task text!)
278 EXT_SET_UPDATE_NOTES("Anmeldefehler (EMail-Adresse war immer ein Ausrufezeichen) beseitigt.");
281 case "0.4.5": // SQL queries for v0.4.5
282 // Update notes (these will be set as task text!)
283 EXT_SET_UPDATE_NOTES("if-Anweisungen auf Funktion <strong>empty()</strong> umgestellt.");
286 case "0.4.6": // SQL queries for v0.4.6
287 // Update notes (these will be set as task text!)
288 EXT_SET_UPDATE_NOTES("Einstellung nach {!POINTS!}-Einstellungen verlagert.");
291 case "0.4.7": // SQL queries for v0.4.7
292 // Update notes (these will be set as task text!)
293 EXT_SET_UPDATE_NOTES("<strong>set_session()</strong> mit @-Zeichen gegen ungewollte Ausgaben abgesichert.");
296 case "0.4.8": // SQL queries for v0.4.8
297 // Update notes (these will be set as task text!)
298 EXT_SET_UPDATE_NOTES("Hash-Erstellung von <strong>md5()</strong> auf bessere Funktion <strong>generateHash()</strong> umgestellt.");
301 case "0.4.9": // SQL queries for v0.4.9
302 // Update notes (these will be set as task text!)
303 EXT_SET_UPDATE_NOTES("Problem mit nicht anzeigbaren Kategorien in der Anmeldung beseitigt.");
306 case "0.5.0": // SQL queries for v0.5.0
307 // Update notes (these will be set as task text!)
308 EXT_SET_UPDATE_NOTES("Fehlermeldung <em><strong>Fatal error:</strong> Call to undefined function REGISTER_ADD_CATEGORY_TABLE() in <strong>{!PATH!}/inc/modules/guest/what-register.php</strong> on line <strong>434</strong></em> beseitigt.");
311 case "0.5.1": // SQL queries for v0.5.1
312 // Update notes (these will be set as task text!)
313 EXT_SET_UPDATE_NOTES("Mail-Template <strong>register-member.tpl</strong> gefixt. Danke an <a href=\"http://forum.mxchange.org/profile-59.html\" target=\"_blank\" title=\"Mitgliedsprofil aufrufen\">wliepe</a> für die Fehlerfindung!");
316 case "0.5.2": // SQL queries for v0.5.2
317 // Update notes (these will be set as task text!)
318 EXT_SET_UPDATE_NOTES("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
323 case "modify": // When the extension got modified
326 case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
329 default: // Do stuff when extension is loaded