Updated copyright year.
[mailer.git] / inc / modules / member / what-mydata.php
index d2644c773c77c9953652a036fcdfb538d1822671..27ec77bc17e048f7f5d9202f6d3b70304c6e63e1 100644 (file)
@@ -16,7 +16,7 @@
  * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2012 by Mailer Developer Team                   *
+ * Copyright (c) 2009 - 2016 by Mailer Developer Team                   *
  * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -73,18 +73,16 @@ switch ($mode) {
                // How far is last change on his profile away from now?
                if ((($content['last_update'] + getProfileLock()) > time()) && (!isAdmin()) && (getProfileLock() > 0)) {
                        // You cannot change your account
-                       $content['change'] = displayMessage('<div class="notice">{%message,MEMBER_PROFILE_LOCKED=' . generateDateTime($content['last_update'] + getProfileLock(), 0) . '%}</div>', TRUE);
+                       $content['change'] = returnMessage('<div class="notice">{%message,MEMBER_PROFILE_LOCKED=' . generateDateTime($content['last_update'] + getProfileLock(), 0) . '%}</div>');
                } else {
                        // He is allowed to change his profile
                        $content['change'] = loadTemplate('member_mydata_button', TRUE);
                }
 
-               $content['birth_day']   = padLeftZero($content['birth_day']);
-               $content['birth_month'] = padLeftZero($content['birth_month']);
-
+               // @TODO Move this to a function (for better EL code)
                switch (getLanguage()) {
-                       case 'de': $content['dob'] = $content['birth_day']   . '.' . $content['birth_month'] . '.' . $content['birth_year']; break;
-                       default  : $content['dob'] = $content['birth_month'] . '-' . $content['birth_day']   . '-' . $content['birth_year']; break;
+                       case 'de': $content['dob'] = '{%pipe,padLeftZero=' . $content['birth_day']   . '%}.{%pipe,padLeftZero=' . $content['birth_month'] . '%}.' . $content['birth_year']; break;
+                       default  : $content['dob'] = '{%pipe,padLeftZero=' . $content['birth_month'] . '%}-{%pipe,padLeftZero=' . $content['birth_day']   . '%}-' . $content['birth_year']; break;
                } // END - switch
 
                if (isExtensionActive('country')) {
@@ -99,7 +97,7 @@ switch ($mode) {
        case 'edit': // Edit data
                if (isExtensionActive('country', TRUE)) {
                        // New way
-                       $result = SQL_QUERY_ESC('SELECT
+                       $result = sqlQueryEscaped('SELECT
        `surname`,
        `family`,
        `street_nr`,
@@ -122,7 +120,7 @@ LIMIT 1',
                        array(getMemberId()), __FILE__, __LINE__);
                } else {
                        // Old way
-                       $result = SQL_QUERY_ESC('SELECT
+                       $result = sqlQueryEscaped('SELECT
        `surname`,
        `family`,
        `street_nr`,
@@ -146,10 +144,10 @@ LIMIT 1',
                }
 
                // Get line
-               $content = merge_array($content, SQL_FETCHARRAY($result));
+               $content = merge_array($content, sqlFetchArray($result));
 
                // Free result
-               SQL_FREERESULT($result);
+               sqlFreeResult($result);
 
                $content['update_check'] = $content['last_update'] + getProfileLock();
 
@@ -167,24 +165,24 @@ LIMIT 1',
                        switch (getLanguage()) {
                                case 'de': // German date format
                                        // Day
-                                       $content['dob'] .= addSelectionBox('day', $content['birth_day']);
+                                       $content['dob'] .= addSelectionBox('da', $content['birth_day']);
 
                                        // Month
-                                       $content['dob'] .= addSelectionBox('month', $content['birth_month']);
+                                       $content['dob'] .= addSelectionBox('mo', $content['birth_month']);
 
                                        // Year
-                                       $content['dob'] .= addSelectionBox('year', $content['birth_year']);
+                                       $content['dob'] .= addSelectionBox('ye', $content['birth_year']);
                                        break;
 
                                default: // Default is the US date format... :)
                                        // Month
-                                       $content['dob'] .= addSelectionBox('month', $content['birth_month']);
+                                       $content['dob'] .= addSelectionBox('mo', $content['birth_month']);
 
                                        // Day
-                                       $content['dob'] .= addSelectionBox('day', $content['birth_day']);
+                                       $content['dob'] .= addSelectionBox('da', $content['birth_day']);
 
                                        // Year
-                                       $content['dob'] .= addSelectionBox('year', $content['birth_year']);
+                                       $content['dob'] .= addSelectionBox('ye', $content['birth_year']);
                                        break;
                        } // END - if
 
@@ -226,7 +224,7 @@ LIMIT 1',
                } elseif ((!isEmailValid(postRequestElement('email'))) && (!isAdmin())) {
                        // Invalid email address!
                        displayMessage('{--INVALID_EMAIL_ENTERED--}');
-               } elseif ((isEmailTaken(postRequestElement('email'))) && (isCheckDoubleEmailEnabled()) && (!isAdmin())) {
+               } elseif ((isExtensionInstalledAndNewer('other', '0.3.0')) && (isCheckDoubleEmailEnabled()) && (!isAdmin()) && (isEmailTaken(postRequestElement('email')))) {
                        // Email address is already registered
                        displayMessage('{--MEMBER_EMAIL_IS_ALREADY_REGISTERED--}');
                } else {
@@ -239,13 +237,29 @@ LIMIT 1',
 
                                // Did the user changed the password?
                                if ($hash != $content['password']) {
+                                       // Yes
                                        $AND = ",`password`='" . $hash . "'";
                                        $mode = 'password';
                                } // END - if
 
-                               // Or did he changed his password?
+                               // Or did he changed his email address?
                                if (postRequestElement('email') != $content['email']) {
-                                       // Jupp
+                                       // Yes, but is it maybe blacklisted?
+                                       $filterData = array(
+                                               'init_done'   => TRUE,
+                                               'post_data'   => postRequestArray(),
+                                               'blacklisted' => '',
+                                               'message'     => '{--PRE_UPDATE_USER_DATA_FAILED--}',
+                                       );
+                                       $filterData = runFilterChain('pre_update_user_data', $filterData);
+
+                                       // Is it blacklisted?
+                                       if ($filterData['init_done'] === FALSE) {
+                                               // Found something blacklisted
+                                               displayMessage($filterData['message']);
+                                               return;
+                                       } // END - if
+
                                        if ($mode == 'normal') {
                                                $mode = 'email';
                                        } else {
@@ -257,7 +271,7 @@ LIMIT 1',
                                // Update member's profile
                                if (isExtensionActive('country')) {
                                        // New way
-                                       SQL_QUERY_ESC("UPDATE
+                                       sqlQueryEscaped("UPDATE
        `{?_MYSQL_PREFIX?}_user_data`
 SET
        `gender`='%s',
@@ -295,7 +309,7 @@ LIMIT 1",
                                                ), __FILE__, __LINE__);
                                } else {
                                        // Old way
-                                       SQL_QUERY_ESC("UPDATE
+                                       sqlQueryEscaped("UPDATE
        `{?_MYSQL_PREFIX?}_user_data`
 SET
        `gender`='%s',
@@ -334,7 +348,7 @@ LIMIT 1",
                                }
 
                                // Did something change?
-                               if (!SQL_HASZEROAFFECTED()) {
+                               if (!ifSqlHasZeroAffectedRows()) {
                                        // Get all modes ...
                                        $modes = explode(';', $mode);
 
@@ -346,13 +360,13 @@ LIMIT 1",
                                }
                        } else {
                                // Entered wrong pass for updating profile
-                               displayMessage('{--MEBER_UPDATE_PWD_WRONG--}');
+                               displayMessage('{--MEMBER_UPDATE_WRONG_PASSWORD--}');
                        }
                }
                break;
 
        case 'notify': // Switch off notfication
-               SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `notified`='N',`last_update`=UNIX_TIMESTAMP() WHERE `userid`=%s LIMIT 1",
+               sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `notified`='N',`last_update`=UNIX_TIMESTAMP() WHERE `userid`=%s LIMIT 1",
                        array(getMemberId()), __FILE__, __LINE__);
                $url = 'modules.php?module=login&amp;what=mydata&amp;code=' . getCode('PROFILE_UPDATED');
                break;