Changeset 6707ca4 in github


Ignore:
Timestamp:
Apr 21, 2012 12:32:55 PM (13 months ago)
Author:
thomascube <thomas@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo
Children:
55dce68
Parents:
862de1b
Message:

Support mutliple name/email pairs for Bcc and Reply-To identity settings (#1488445)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • program/steps/settings/save_identity.inc

    r7fe3811 r6707ca4  
    2626 
    2727$a_save_cols = array('name', 'email', 'organization', 'reply-to', 'bcc', 'standard', 'signature', 'html_signature'); 
    28 $a_html_cols = array('signature', 'name', 'organization'); 
    2928$a_boolean_cols = array('standard', 'html_signature'); 
    3029$updated = $default_id = false; 
     
    4443  $fname = '_'.$col; 
    4544  if (isset($_POST[$fname])) 
    46     $save_data[$col] = get_input_value($fname, RCUBE_INPUT_POST, in_array($col, $a_html_cols)); 
     45    $save_data[$col] = get_input_value($fname, RCUBE_INPUT_POST, true); 
    4746} 
    4847 
     
    6160 
    6261// Validate e-mail addresses 
    63 foreach (array('email', 'reply-to', 'bcc') as $item) { 
    64   if ($email = $save_data[$item]) { 
    65     $ascii_email = rcube_idn_to_ascii($email); 
    66     if (!check_email($ascii_email)) { 
    67       // show error message 
    68       $OUTPUT->show_message('emailformaterror', 'error', array('email' => $email), false); 
    69       rcmail_overwrite_action('edit-identity'); 
    70       return; 
    71     } 
     62$email_checks = array(rcube_idn_to_ascii($save_data['email'])); 
     63foreach (array('reply-to', 'bcc') as $item) { 
     64  foreach (rcube_mime::decode_address_list(rcube_idn_to_ascii($save_data[$item]), null, false) as $rcpt) 
     65    $email_checks[] = $rcpt['mailto']; 
     66} 
     67 
     68foreach ($email_checks as $email) { 
     69  if ($email && !check_email($email)) { 
     70    // show error message 
     71    $OUTPUT->show_message('emailformaterror', 'error', array('email' => rcube_idn_to_utf8($email)), false); 
     72    rcmail_overwrite_action('edit-identity'); 
     73    return; 
    7274  } 
    7375} 
Note: See TracChangeset for help on using the changeset viewer.