- LOAD_TEMPLATE("member_mydata_edit");
- }
- break;
-
-case "save": // Save entered data
- // Load old email / password: 0 1 2
- $result = SQL_QUERY_ESC("SELECT email, password, last_update FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
- array(UID_VALUE), __FILE__, __LINE__);
- $DATA = SQL_FETCHROW($result);
- SQL_FREERESULT($result);
- $DATA[3] = $DATA[2] + getConfig('profile_lock');
-
- // How far is last change on his profile away from now?
- if (($DATA[3] > time()) && (!IS_ADMIN()) && (getConfig('profile_lock') > 0)) {
- $DATA[3] = MAKE_DATETIME($DATA[3] + getConfig('profile_lock'), "0");
- // You cannot change your account
- LOAD_TEMPLATE("member_mydata_locked");
- } elseif (!VALIDATE_EMAIL(REQUEST_POST('addy'))) {
- // Invalid email address!
- LOAD_TEMPLATE("admin_settings_saved", false, getMessage('INVALID_EMAIL_ADDRESS_ENTERED'));
- } else {
- // Generate hash
- $hash = generateHash(REQUEST_POST('pass1'), substr($DATA[1], 0, -40));
- if ((($hash == $DATA[1]) || (REQUEST_POST('pass1') == REQUEST_POST('pass2'))) && (REQUEST_ISSET_POST(('pass1')))) {
- // Only on simple changes normal mode is active = no email or password changed
- $MODE = "normal"; $AND = "";
-
- // Did the user changed the password?
- if ($hash != $DATA[1]) { $AND = ", password='".$hash."'"; $MODE = "pass"; }
-
- // Or did he changed his password?
- if (REQUEST_POST('addy') != $DATA[0]) {
- // Jupp
- if ($MODE == "normal") { $MODE = "email"; } else { $MODE .= ";email"; }
- REQUEST_SET_POST('old_addy', $DATA[0]);
- }
-
- // Update member's profile
- if (EXT_IS_ACTIVE("country")) {
- // New way
- SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET
+ LOAD_TEMPLATE('member_mydata_overview');
+ break;
+
+ case 'edit': // Edit data
+ if (EXT_IS_ACTIVE('country', true)) {
+ // New way 0 1 2 3 4 5 6 7 8 9 10 11 12 13
+ $result = SQL_QUERY_ESC("SELECT surname, family, street_nr, country_code, zip, city, email, birth_day, birth_month, birth_year, gender, max_mails, receive_mails, last_update
+FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
+ array(constant('UID_VALUE')), __FILE__, __LINE__);
+ } else {
+ // Old way 0 1 2 3 4 5 6 7 8 9 10 11 12 13
+ $result = SQL_QUERY_ESC("SELECT surname, family, street_nr, country, zip, city, email, birth_day, birth_month, birth_year, gender, max_mails, receive_mails, last_update
+FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
+ array(constant('UID_VALUE')), __FILE__, __LINE__);
+ }
+
+ $DATA = SQL_FETCHROW($result);
+ SQL_FREERESULT($result);
+ $DATA[13] = $DATA[12] + getConfig('profile_lock');
+
+ // How far is last change on his profile away from now?
+ if (($DATA[13] > time()) && (!IS_ADMIN()) && (getConfig('profile_lock') > 0)) {
+ $DATA[13] = generateDateTime($DATA[13] + getConfig('profile_lock'), '0');
+ // You cannot change your account
+ LOAD_TEMPLATE('member_mydata_locked');
+ } else {
+ // He is allowed to change his profile
+ switch ($DATA[10])
+ {
+ case 'M':
+ define('M_DEFAULT', ' selected="selected"');
+ define('F_DEFAULT', '');
+ define('C_DEFAULT', '');
+ break;
+
+ case 'F':
+ define('M_DEFAULT', '');
+ define('F_DEFAULT', ' selected="selected"');
+ define('C_DEFAULT', '');
+ break;
+
+ case 'C':
+ define('M_DEFAULT', '');
+ define('F_DEFAULT', '');
+ define('C_DEFAULT', ' selected="selected"');
+ break;
+ }
+ $DOB = '';
+ switch (getLanguage())
+ {
+ case 'de': // German date format
+ // Day
+ $DOB .= ADD_SELECTION('day', $DATA[7]);
+
+ // Month
+ $DOB .= ADD_SELECTION('month', $DATA[8]);
+
+ // Year
+ $DOB .= ADD_SELECTION('year', $DATA[9]);
+ break;
+
+ default: // Default is the US date format... :)
+ break;
+ }
+
+ define('DOB', $DOB);
+ define('MAX_REC_LIST', addMaxReceiveList('member', $DATA[11], true));
+
+ if (EXT_IS_ACTIVE('country')) {
+ // Generate selection box
+ $OUT = "<select name=\"country_code\" class=\"member_select\" size=\"1\">\n";
+ $whereStatement = "WHERE is_active='Y'";
+ if (IS_ADMIN()) $whereStatement = '';
+ $OUT .= generateOptionList("countries", "id", "descr", $DATA[3], "code", $whereStatement);
+ $OUT .= "</select>";
+ define('__COUNTRY_CONTENT', $OUT);
+ } else {
+ // Ouput default input box
+ define('__COUNTRY_CONTENT', "<input type=\"text\" name=\"cntry\" class=\"member_normal\" size=\"2\" maxlength=\"3\" value=\"".$DATA[3]."\" />");
+ }
+
+ // Load template
+ LOAD_TEMPLATE('member_mydata_edit');
+ }
+ break;
+
+ case 'save': // Save entered data
+ // Load old email / password: 0 1 2
+ $result = SQL_QUERY_ESC("SELECT email, password, last_update FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
+ array(getUserId()), __FILE__, __LINE__);
+ $DATA = SQL_FETCHROW($result);
+ SQL_FREERESULT($result);
+ $DATA[3] = $DATA[2] + getConfig('profile_lock');
+
+ // How far is last change on his profile away from now?
+ if (($DATA[3] > time()) && (!IS_ADMIN()) && (getConfig('profile_lock') > 0)) {
+ $DATA[3] = generateDateTime($DATA[3] + getConfig('profile_lock'), '0');
+ // You cannot change your account
+ LOAD_TEMPLATE("member_mydata_locked");
+ } elseif (!isEmailValid(REQUEST_POST('addy'))) {
+ // Invalid email address!
+ LOAD_TEMPLATE('admin_settings_saved', false, getMessage('INVALID_EMAIL_ADDRESS_ENTERED'));
+ } else {
+ // Generate hash
+ $hash = generateHash(REQUEST_POST('pass1'), substr($DATA[1], 0, -40));
+ if ((($hash == $DATA[1]) || (REQUEST_POST('pass1') == REQUEST_POST('pass2'))) && (REQUEST_ISSET_POST(('pass1')))) {
+ // Only on simple changes normal mode is active = no email or password changed
+ $mode = 'normal'; $AND = '';
+
+ // Did the user changed the password?
+ if ($hash != $DATA[1]) { $AND = ", password='".$hash."'"; $mode = 'pass'; }
+
+ // Or did he changed his password?
+ if (REQUEST_POST('addy') != $DATA[0]) {
+ // Jupp
+ if ($mode == 'normal') { $mode = 'email'; } else { $mode .= ";email"; }
+ REQUEST_SET_POST('old_addy', $DATA[0]);
+ }
+
+ // Update member's profile
+ if (EXT_IS_ACTIVE('country')) {
+ // New way
+ SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET