Changeset 2124


Ignore:
Timestamp:
Oct 6, 2007, 8:41:18 AM (17 years ago)
Author:
rub
Message:

Resolved 0000759: email unique for each user

Fix bug of last commit 2115

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/functions_user.inc.php

    r2115 r2124  
    3434// If the mail address doesn't correspond, an error message is returned.
    3535//
    36 function validate_mail_address($mail_address)
     36function validate_mail_address($user_id, $mail_address)
    3737{
    3838  global $conf;
    3939
    4040  if (empty($mail_address) and
    41       !($conf['obligatory_user_mail_address'] and in_array(script_basename(), array('register', 'profile'))))
     41      !($conf['obligatory_user_mail_address'] and
     42      in_array(script_basename(), array('register', 'profile'))))
    4243  {
    4344    return '';
     
    5657from '.USERS_TABLE.'
    5758where upper('.$conf['user_fields']['email'].') = upper(\''.$mail_address.'\')
     59'.(is_numeric($user_id) ? 'and '.$conf['user_fields']['id'].' != \''.$user_id.'\'' : '').'
    5860;';
    5961    list($count) = mysql_fetch_array(pwg_query($query));
     
    8587    array_push($errors, l10n('reg_err_login5'));
    8688  }
    87   $mail_error = validate_mail_address($mail_address);
     89  $mail_error = validate_mail_address(null, $mail_address);
    8890  if ('' != $mail_error)
    8991  {
  • trunk/install.php

    r2102 r2124  
    269269  else
    270270  {
    271     $error_mail_address = validate_mail_address($admin_mail);
     271    $error_mail_address = validate_mail_address(null, $admin_mail);
    272272    if (!empty($error_mail_address))
    273273      array_push( $errors, $error_mail_address );
  • trunk/profile.php

    r2048 r2124  
    116116  if (isset($_POST['mail_address']))
    117117  {
    118     $mail_error = validate_mail_address($_POST['mail_address']);
     118    // if $_POST and $userdata have are same email
     119    // validate_mail_address allows, however, to check email
     120    $mail_error = validate_mail_address($userdata['id'], $_POST['mail_address']);
    119121    if (!empty($mail_error))
    120122    {
Note: See TracChangeset for help on using the changeset viewer.