}
if ($existinguser->$column !== $user->$column) {
if ($column === 'email') {
- if ($DB->record_exists('user', array('email'=>$user->email))) {
- if ($noemailduplicates) {
+ $select = $DB->sql_like('email', ':email', false, true, false, '|');
+ $params = array('email' => $DB->sql_like_escape($user->email, '|'));
+ if ($DB->record_exists_select('user', $select , $params)) {
+
+ $changeincase = core_text::strtolower($existinguser->$column) === core_text::strtolower(
+ $user->$column);
+
+ if ($changeincase) {
+ // If only case is different then switch to lower case and carry on.
+ $user->$column = core_text::strtolower($user->$column);
+ continue;
+ } else if ($noemailduplicates) {
$upt->track('email', $stremailduplicate, 'error');
$upt->track('status', $strusernotupdated, 'error');
$userserrors++;
if (!validate_email($rowcols['email'])) {
$rowcols['status'][] = get_string('invalidemail');
}
- if ($DB->record_exists('user', array('email'=>$rowcols['email']))) {
+
+ $select = $DB->sql_like('email', ':email', false, true, false, '|');
+ $params = array('email' => $DB->sql_like_escape($rowcols['email'], '|'));
+ if ($DB->record_exists_select('user', $select , $params)) {
$rowcols['status'][] = $stremailduplicate;
}
}