Changeset 1236

Show
Ignore:
Timestamp:
06/21/08 13:49:30 (2 months ago)
Author:
kilburn
Message:

* GUI: Fixed #1360 - Editing mail forwarded accounts (no mailbox) fails.
* GUI: Fixed #1361 - Password for forwarded+mailbox mail accounts can't be changed.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/gui/client/edit_mail_acc.php

    r1140 r1236  
    161161function update_email_pass($sql) { 
    162162        if (!isset($_POST['uaction'])) { 
    163                 return
     163                return false
    164164        } 
    165165        if (preg_match('/update_pass/', $_POST['uaction']) == 0) { 
    166                 return
     166                return true
    167167        } 
    168168        if (preg_match('/update_forward/', $_POST['uaction']) == 1 || isset($_POST['mail_forward'])) { 
    169169                // The user only wants to update the forward list, not the password 
    170170                if ($_POST['pass'] === '' || $_POST['pass_rep'] === '') { 
    171                         return
     171                        return true
    172172                } 
    173173        } 
     
    180180        if (trim($pass) === '' || trim($pass_rep) === '' || $mail_id === '' || !is_numeric($mail_id)) { 
    181181                set_page_message(tr('Missing or wrong data!')); 
    182                 return
     182                return false
    183183        } else if ($pass !== $pass_rep) { 
    184184                set_page_message(tr('Entered passwords differ!')); 
    185                 return
     185                return false
    186186        } else if (preg_match("/[`\xB4'\"\\|<>^\x00-\x1f]/i", $pass)) { // Not permitted chars 
    187187                set_page_message(tr('Password data includes not valid signs!')); 
    188                 return
     188                return false
    189189        } else { 
    190190                global $cfg; 
     
    207207                write_log($_SESSION['user_logged'] . ": change mail account password: $mail_account"); 
    208208 
    209                 if (preg_match('/update_forward/', $_POST['uaction']) == 0 && !isset($_POST['mail_forward'])) { 
    210                         send_request(); 
    211                         set_page_message(tr("Mail were updated successfully!")); 
    212                         header("Location: email_accounts.php"); 
    213                         die(); 
    214                 } 
     209                return true; 
    215210        } 
    216211} 
     
    218213function update_email_forward(&$tpl, &$sql) { 
    219214        if (!isset($_POST['uaction'])) { 
    220                 return
     215                return false
    221216        } 
    222217        if (preg_match('/update_forward/', $_POST['uaction']) == 0 && !isset($_POST['mail_forward'])) { 
    223                 return
     218                return true
    224219        } 
    225220 
     
    229224        $mail_accs = array(); 
    230225 
    231         if (isset($_POST['mail_forward'])) { 
    232                 $faray = preg_split ("/[\n,]+/", $forward_list); 
     226        if (isset($_POST['mail_forward']) || $_POST['uaction'] == 'update_forward') { 
     227                $faray = preg_split ('/[\n\s,]+/', $forward_list); 
    233228 
    234229                foreach ($faray as $value) { 
     
    237232                                /* ERR .. strange :) not email in this line - warrning */ 
    238233                                set_page_message(tr("Mail forward list error!")); 
    239                                 return
     234                                return false
    240235                        } else if ($value === '') { 
    241236                                set_page_message(tr("Mail forward list error!")); 
    242                                 return
     237                                return false
    243238                        } 
    244239                        $mail_accs[] = $value; 
     
    287282        $rs = exec_query($sql, $query, array($forward_list, $mail_type, $status, $mail_id)); 
    288283 
    289         send_request(); 
    290284        write_log($_SESSION['user_logged'] . ": change mail forward: $mail_account"); 
    291         set_page_message(tr("Mail were updated successfully!")); 
    292         header("Location: email_accounts.php"); 
    293         die(); 
     285        return true; 
    294286} 
    295287 
     
    311303 
    312304edit_mail_account($tpl, $sql); 
    313 update_email_pass($sql); 
    314 update_email_forward($tpl, $sql); 
     305$ok  = update_email_pass($sql); 
     306$ok2 = update_email_forward($tpl, $sql); 
     307 
     308if ($ok && $ok2) { 
     309        set_page_message(tr("Mail were updated successfully!")); 
     310
     311if ($ok || $ok2) { 
     312        send_request(); 
     313        header("Location: email_accounts.php"); 
     314        die(); 
     315
    315316 
    316317// static page messages. 
  • trunk/gui/themes/omega_original/client/edit_mail_acc.tpl

    r1234 r1236  
    1111<!-- 
    1212        function begin_js() { 
    13                 if (document.forms[0].elements['mail_forward'].checked == false) { 
    14                         document.forms[0].elements['forward_list'].disabled = true; 
     13                if (typeof(document.forms[0].elements['mail_forward']) != 'undefined') { 
     14                        if (document.forms[0].elements['mail_forward'].checked == false) { 
     15                                document.forms[0].elements['forward_list'].disabled = true; 
     16                        } 
    1517                } 
    1618        } 
     
    129131              <input type="hidden" name="mail_type" value="{MAIL_TYPE}"> 
    130132              <input type="hidden" name="mail_account" value="{EMAIL_ACCOUNT}"> 
    131               <input type="hidden" name="uaction" value=""> 
     133              <input type="hidden" name="uaction" value="{ACTION}"> 
    132134              </form> 
    133135             </td>