X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fextensions%2Fext-register.php;h=4d3378fd9dae97b2b931f7dcdc283974e2a35fd7;hb=89d7185efed1ad8a862b30555b6ba6e0b668ed8d;hp=4c67e19779194b969ad341652276010a22bb0127;hpb=b8a6f8012aa3509d8e0f8fd078e044f20e80707a;p=mailer.git
diff --git a/inc/extensions/ext-register.php b/inc/extensions/ext-register.php
index 4c67e19779..4d3378fd9d 100644
--- a/inc/extensions/ext-register.php
+++ b/inc/extensions/ext-register.php
@@ -14,11 +14,10 @@
* $Date:: $ *
* $Tag:: 0.2.1-FINAL $ *
* $Author:: $ *
- * Needs to be in all Files and every File needs "svn propset *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
@@ -42,55 +41,61 @@ if (!defined('__SECURITY')) {
} // END - if
// Version number
-setThisExtensionVersion('0.5.4');
+setThisExtensionVersion('0.5.7');
-// Version history array (add more with , '0.1.0' and so on)
-setExtensionVersionHistory(array('0.0', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '0.4.0', '0.4.1', '0.4.2', '0.4.3', '0.4.4', '0.4.5', '0.4.6', '0.4.7', '0.4.8', '0.4.9', '0.5.0', '0.5.1', '0.5.2', '0.5.3', '0.5.4'));
+// Version history array (add more with , '0.0.1' and so on)
+setExtensionVersionHistory(array('0.0.0', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9', '0.4.0', '0.4.1', '0.4.2', '0.4.3', '0.4.4', '0.4.5', '0.4.6', '0.4.7', '0.4.8', '0.4.9', '0.5.0', '0.5.1', '0.5.2', '0.5.3', '0.5.4', '0.5.5', '0.5.6', '0.5.7'));
switch (getExtensionMode()) {
- case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
+ case 'setup': // Do stuff when installation is running
// SQL commands to run
- addExtensionSql('');
+ addGuestMenuSql('members', 'register', 'Anmeldung', 2);
break;
case 'remove': // Do stuff when removing extension
// SQL commands to run
- addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='config_register'");
- addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_must_register`");
-
- // Unregister a filter
- unregisterFilter('register_must_fillout', 'REGISTER_MUST_FILLOUT', false, true, getExtensionDryRun());
+ addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='config_register' LIMIT 1");
+ addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `what`='register' LIMIT 1");
+ addDropTableSql('must_register');
+
+ // Unregister points data
+ unregisterExtensionPointsData('register_welcome');
+ unregisterExtensionPointsData('referral_bonus');
+ unregisterExtensionPointsData('referral_bonus_ref');
+
+ // Unregister filter
+ unregisterFilter(__FILE__, __LINE__, 'register_must_fillout', 'REGISTER_MUST_FILLOUT', TRUE, isExtensionDryRun());
+ unregisterFilter(__FILE__, __LINE__, 'pre_user_registration', 'PRE_USER_REGISTRATION_GENERIC', TRUE, isExtensionDryRun());
break;
case 'activate': // Do stuff when admin activates this extension
// SQL commands to run
- addExtensionSql('');
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `locked`='N',`visible`='Y' WHERE `what`='register' LIMIT 1");
break;
case 'deactivate': // Do stuff when admin deactivates this extension
// SQL commands to run
- addExtensionSql('');
+ addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `locked`='Y',`visible`='N' WHERE `what`='register' LIMIT 1");
break;
case 'update': // Update an extension
- switch (getCurrentExtensionVersion())
- {
- case '0.1.0': // SQL queries for v0.1
- addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_must_register`");
- addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_must_register` (
-id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-field_name VARCHAR(255) NOT NULL DEFAULT '',
-field_required ENUM('Y','N') NOT NULL DEFAULT 'Y',
-PRIMARY KEY (id)
-) TYPE={?_TABLE_TYPE?}");
+ switch (getCurrentExtensionVersion()) {
+ case '0.1.0': // SQL queries for v0.1.0
+ addDropTableSql('must_register');
+ addCreateTableSql('must_register', "
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`field_name` VARCHAR(255) NOT NULL DEFAULT '',
+`field_required` ENUM('Y','N') NOT NULL DEFAULT 'Y',
+PRIMARY KEY (`id`)",
+ 'Data which fields the user must fill out');
// Add all entries as required (DO NOT DELETE THEM FROM DATABASE!)
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('surname','Y')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('family','Y')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('street_nr','Y')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('cntry','Y')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('zip','Y')");
- addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('city','Y')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('surname', 'Y')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('family', 'Y')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('street_nr', 'Y')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('cntry', 'Y')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('zip', 'Y')");
+ addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('city', 'Y')");
// Add admin menu
addAdminMenuSql('setup','config_register','Pflichtfelder','Stellen Sie hier die Pflichtfelder sowohl im Anmeldeformular, als auch im Mitgliedsbereich unter Profildaten ändern ein.', 12);
@@ -100,21 +105,13 @@ PRIMARY KEY (id)
break;
case '0.1.1': // SQL queries for v0.1.1
- addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_extensions` SET ext_has_css='Y' WHERE `ext_name`='register' AND ext_has_css='N' LIMIT 1");
-
- // This update depends on sql_patches update!
- addExtensionUpdateDependency('sql_patches');
-
// Update notes (these will be set as task text!)
- setExtensionUpdateNotes("CSS-Datei kann per Admin-Bereich ein- und ausgeschaltet werden.");
+ setExtensionUpdateNotes("Veraltetes Update entfernt.");
break;
case '0.1.3': // SQL queries for v0.1.3
- // This update depends on sql_patches update!
- addExtensionUpdateDependency('sql_patches');
-
// Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Standart Referal-Id kann per Admin-Bereich eingestellt werden (war vorher nur in modules.php und index.php direkt eingebbar.)");
+ setExtensionUpdateNotes("Standard Referral-Id kann per Admin-Bereich eingestellt werden (war vorher nur in modules.php und index.php direkt eingebbar.)");
break;
case '0.1.4': // SQL queries for v0.1.4
@@ -184,7 +181,7 @@ PRIMARY KEY (id)
case '0.2.7': // SQL queries for v0.2.7
// Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Referal-Id wird endlich korrekt gesetzt.");
+ setExtensionUpdateNotes("Referral-Id wird endlich korrekt gesetzt.");
break;
case '0.2.8': // SQL queries for v0.2.8
@@ -212,9 +209,6 @@ PRIMARY KEY (id)
setExtensionUpdateNotes("Einbindung der Erweiterung country, die Sie sich noch optional von meiner Seite herunterladen müssen.
Wichtig: Laden Sie noch das Template guest_register.tpl mit hoch, welches unter templates/".getLanguage()."/html/guest/ zu finden ist!");
-
- // Depends on 'country'
- addExtensionUpdateDependency('country');
break;
case '0.3.3': // SQL queries for v0.3.3
@@ -263,10 +257,10 @@ PRIMARY KEY (id)
break;
case '0.4.2': // SQL queries for v0.4.2
- addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD register_default ENUM('Y','N') NOT NULL DEFAULT 'N'");
+ addConfigAddSql('register_default', "ENUM('Y','N') NOT NULL DEFAULT 'N'");
// Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Bei der Anmeldung kann die Standart-Auswahl zwischen Ja/Nein umgeschaltet werden. Das Ändern des Templates templates/".getLanguage()."/html/guest/guest_register.tpl ist nicht mehr nötig.");
+ setExtensionUpdateNotes("Bei der Anmeldung kann die Standard-Auswahl zwischen Ja/Nein umgeschaltet werden. Das Ändern des Templates templates/".getLanguage()."/html/guest/guest_register.tpl ist nicht mehr nötig.");
break;
case '0.4.3': // SQL queries for v0.4.3
@@ -306,7 +300,7 @@ PRIMARY KEY (id)
case '0.5.0': // SQL queries for v0.5.0
// Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Fehlermeldung Fatal error: Call to undefined function registerGenerateCategoryTable() in {?PATH?}/inc/modules/guest/what-register.php on line 434 beseitigt.");
+ setExtensionUpdateNotes("Fehlermeldung Fatal error: Call to undefined function registerGenerateCategoryTable() in {?PATH?}/inc/modules/guest/what-register.php on line 434 beseitigt.");
break;
case '0.5.1': // SQL queries for v0.5.1
@@ -321,7 +315,7 @@ PRIMARY KEY (id)
case '0.5.3': // SQL queries for v0.5.3
// Register a filter
- registerFilter('register_must_fillout', 'REGISTER_MUST_FILLOUT', false, true, getExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'register_must_fillout', 'REGISTER_MUST_FILLOUT', FALSE, TRUE, isExtensionDryRun());
// Run these SQLs
addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('gender','Y')");
@@ -330,30 +324,56 @@ PRIMARY KEY (id)
addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('marker','Y')");
// Update notes (these will be set as task text!)
- setExtensionUpdateNotes("Filter register_must_fillout hinzugefügt, weitere Felder in {?_MYSQL_PREFIX?}_must_register eingefügt.");
+ setExtensionUpdateNotes("Filter register_must_fillout hinzugefügt, weitere Felder in {?_MYSQL_PREFIX?}_must_register eingefügt.");
break;
case '0.5.4': // SQL queries for v0.5.4
- addAdminMenuSql('setup','config_register2','Anmeldeformular','Stellen Sie ein, wie viel Kategorien der Gast bei der Anmeldung mindestens einstellen muss. Diese Einstellung gilt nachher auch im Mitgliedsbereich!',8);
+ addAdminMenuSql('setup', 'config_register2', 'Anmeldeformular', 'Stellen Sie ein, wie viel Kategorien der Gast bei der Anmeldung mindestens einstellen muss. Diese Einstellung gilt nachher auch im Mitgliedsbereich!', 8);
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Weiteren Menüpunkt aus menu-{?DEFAULT_LANG?} heraus geholt.");
break;
+ case '0.5.5': // SQL queries for v0.5.5
+ addConfigAddSql('register_generate_password_empty', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+ // Update notes (these will be set as task text!)
+ setExtensionUpdateNotes("Weiteren Menüpunkt aus menu-{?DEFAULT_LANG?} heraus geholt.");
+ break;
+
+ case '0.5.6': // SQL queries for v0.5.6
+ // Register points data
+ registerExtensionPointsData('register_welcome', 'points', 'LOCKED', 'DIRECT');
+
+ // Update notes
+ setExtensionUpdateNotes("Anmeldewillkommensgutschrift wird nun über die Tabelle {OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data verwaltet.");
+ break;
+
+ case '0.5.7': // SQL queries for v0.5.7
+ // Register a filter
+ registerFilter(__FILE__, __LINE__, 'pre_user_registration', 'PRE_USER_REGISTRATION_GENERIC', FALSE, TRUE, isExtensionDryRun());
+
+ // Register points data
+ registerExtensionPointsData('referral_bonus', 'points', 'LOCKED', 'DIRECT');
+ registerExtensionPointsData('referral_bonus_ref', 'points', 'LOCKED', 'DIRECT');
+
+ // Update notes
+ setExtensionUpdateNotes("Anmeldeformular komplett auf drei Filter umgestrickt (mehr dazu siehe Wiki) und weitere Verwendungszwecke registriert.");
+ break;
} // END - switch
break;
case 'modify': // When the extension got modified
break;
- case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+ case 'test': // For testing purposes
break;
case 'init': // Do stuff when extension is initialized
break;
default: // Unknown extension mode
- logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s detected.", getExtensionMode()));
+ reportBug(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
break;
} // END - switch