bernd commited on 2008-02-01 19:33:15
              Zeige 4 geänderte Dateien mit 103 Einfügungen und 87 Löschungen.
            
git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@923 87cf0b9e-d624-0410-a070-f6ee81989793
| ... | ... | 
                      @@ -11,15 +11,13 @@ $accounts = get_vmail_accounts();  | 
                  
| 11 | 11 | 
                         output('<h3>E-Mail-Accounts</h3>
                       | 
                    
| 12 | 12 | 
                        <p>Folgende E-Mail-Konten sind eingerichtet:</p>  | 
                    
| 13 | 13 | 
                        <table style="margin-bottom: 1em;">  | 
                    
| 14 | 
                        -<tr><th>Adresse</th><th>Aktion</th><th>...</th><th> </th></tr>  | 
                    |
| 14 | 
                        +<tr><th>Adresse</th><th>...</th><th> </th></tr>  | 
                    |
| 15 | 15 | 
                        ');  | 
                    
| 16 | 16 | 
                         | 
                    
| 17 | 17 | 
                        foreach ($accounts as $account)  | 
                    
| 18 | 18 | 
                                 {
                       | 
                    
| 19 | 
                        - $action = ($account['type'] == 'mailbox' ? 'Speichern in Postfach' : 'Weiterleiten an '.filter_input_general($account['data']));  | 
                    |
| 20 | 19 | 
                                     output('<tr>
                       | 
                    
| 21 | 20 | 
                                     <td>'.internal_link('edit.php', $account['local'].'@'.$account['domain'], 'id='.$account['id']).'</td>
                       | 
                    
| 22 | 
                        - <td>'.$action.'</td>  | 
                    |
| 23 | 21 | 
                        <td><a href="save.php?action=delete&id='.$account['id'].'">löschen</a></td></tr>');  | 
                    
| 24 | 22 | 
                        }  | 
                    
| 25 | 23 | 
                                 output('</table>
                       | 
                    
| ... | ... | 
                      @@ -25,12 +25,13 @@ else {
                     | 
                  
| 25 | 25 | 
                        }  | 
                    
| 26 | 26 | 
                         | 
                    
| 27 | 27 | 
                         | 
                    
| 28 | 
                        -$is_forward = ($account['type'] == 'forward');  | 
                    |
| 29 | 
                        -$is_mailbox = ( ! $is_forward);  | 
                    |
| 28 | 
                        +$is_forward = (count($account['forwards']) > 0);  | 
                    |
| 29 | 
                        +$is_mailbox = ($account['password'] != NULL || $id == 0);  | 
                    |
| 30 | 
                        +$numforwards = max(count($account['forwards']), 1);  | 
                    |
| 30 | 31 | 
                         | 
                    
| 31 | 32 | 
                         output("<script type=\"text/javascript\">
                       | 
                    
| 32 | 33 | 
                         | 
                    
| 33 | 
                        - var numForwards = 1;  | 
                    |
| 34 | 
                        +  var numForwards = {$numforwards};
                       | 
                    |
| 34 | 35 | 
                         | 
                    
| 35 | 36 | 
                        function moreForward()  | 
                    
| 36 | 37 | 
                           {
                       | 
                    
| ... | ... | 
                      @@ -117,12 +118,12 @@ $form .= "<p style=\"margin-left: 2em;\" id=\"virusfilter_options\">  | 
                  
| 117 | 118 | 
                        */  | 
                    
| 118 | 119 | 
                         | 
                    
| 119 | 120 | 
                        $password_message = '';  | 
                    
| 120 | 
                        -if ($is_mailbox and ($account['data'] != ''))  | 
                    |
| 121 | 
                        +if ($is_mailbox and ($account['password'] != ''))  | 
                    |
| 121 | 122 | 
                        $password_message = '<span style="font-size: 80%"><br /><em>Sie haben bereits ein Passwort gesetzt. Wenn Sie dieses Feld leer lassen, wird das bisherige Passwort beibehalten.</em></span>';  | 
                    
| 122 | 123 | 
                         | 
                    
| 123 | 124 | 
                         | 
                    
| 124 | 125 | 
                        $form .= "  | 
                    
| 125 | 
                        - <p><input type=\"checkbox\" id=\"mailbox\" name=\"type\" value=\"mailbox\" ".($is_mailbox ? 'checked="checked" ' : '')." /><label for=\"mailbox\"> In Mailbox speichern</label></p>  | 
                    |
| 126 | 
                        + <p><input type=\"checkbox\" id=\"mailbox\" name=\"mailbox\" value=\"yes\" ".($is_mailbox ? 'checked="checked" ' : '')." /><label for=\"mailbox\"> In Mailbox speichern</label></p>  | 
                    |
| 126 | 127 | 
                             <p style=\"margin-left: 2em;\" id=\"mailbox_options\">Passwort für Abruf: <input type=\"password\" id=\"password\" name=\"password\" value=\"\" />{$password_message}</p>";
                       | 
                    
| 127 | 128 | 
                         | 
                    
| 128 | 129 | 
                         | 
                    
| ... | ... | 
                      @@ -136,24 +137,38 @@ $form .= "  | 
                  
| 136 | 137 | 
                        </p>  | 
                    
| 137 | 138 | 
                        ";  | 
                    
| 138 | 139 | 
                         | 
                    
| 139 | 
                        -$form .= "<p><input type=\"checkbox\" id=\"forward\" name=\"type\" value=\"forward\" ".($is_forward ? 'checked="checked" ' : '')." /><label for=\"forward\"> Weiterleitung an andere E-Mail-Adressen</label></p>";  | 
                    |
| 140 | 
                        +$form .= "<p><input type=\"checkbox\" id=\"forward\" name=\"forward\" value=\"yes\" ".($is_forward ? 'checked="checked" ' : '')." /><label for=\"forward\"> Weiterleitung an andere E-Mail-Adressen</label></p>";  | 
                    |
| 140 | 141 | 
                         | 
                    
| 141 | 142 | 
                        $form .= "<table style=\"margin-left: 2em;\" id=\"forward_table\">  | 
                    
| 142 | 143 | 
                        <tr><th>Ziel-Adresse</th><th>Unerwünschte E-Mails</th></tr>  | 
                    
| 143 | 144 | 
                        ";  | 
                    
| 144 | 145 | 
                         | 
                    
| 146 | 
                        +if ($is_forward)  | 
                    |
| 147 | 
                        +{
                       | 
                    |
| 148 | 
                        + for ($i = 0 ; $i < $numforwards ; $i++)  | 
                    |
| 149 | 
                        +  {
                       | 
                    |
| 150 | 
                        + $num = $i+1;  | 
                    |
| 151 | 
                        + $form .= "  | 
                    |
| 152 | 
                        +<tr>  | 
                    |
| 153 | 
                        +  <td><input type=\"text\" id=\"forward_to_{$num}\" name=\"forward_to_{$num}\" value=\"{$account['forwards'][$i]['destination']}\" /></td>
                       | 
                    |
| 154 | 
                        + <td>  | 
                    |
| 155 | 
                        +  ".html_select('spamfilter_action_'.$num, array("none" => 'kein Filter', "tag" => 'markieren und zustellen', "delete" => 'löschen'), $account['forwards'][$i]['spamfilter'])."
                       | 
                    |
| 156 | 
                        + </td>  | 
                    |
| 157 | 
                        +</tr>  | 
                    |
| 158 | 
                        +";  | 
                    |
| 159 | 
                        + }  | 
                    |
| 160 | 
                        +}  | 
                    |
| 161 | 
                        +else  | 
                    |
| 162 | 
                        +{
                       | 
                    |
| 145 | 163 | 
                        $form .= "  | 
                    
| 146 | 164 | 
                        <tr>  | 
                    
| 147 | 165 | 
                        <td><input type=\"text\" id=\"forward_to_1\" name=\"forward_to_1\" value=\"\" /></td>  | 
                    
| 148 | 166 | 
                        <td>  | 
                    
| 149 | 
                        - <select id=\"spamfilter_action_1\" name=\"spamfilter_action_1\">  | 
                    |
| 150 | 
                        - <option value=\"none\">kein Filter</option>  | 
                    |
| 151 | 
                        - <option value=\"tag\">markieren und zustellen</option>  | 
                    |
| 152 | 
                        - <option value=\"delete\">löschen</option>  | 
                    |
| 153 | 
                        - </select>  | 
                    |
| 167 | 
                        +  ".html_select('spamfilter_action_1', array("none" => 'kein Filter', "tag" => 'markieren und zustellen', "delete" => 'löschen'), "none")."
                       | 
                    |
| 154 | 168 | 
                        </td>  | 
                    
| 155 | 169 | 
                        </tr>  | 
                    
| 156 | 170 | 
                        ";  | 
                    
| 171 | 
                        +}  | 
                    |
| 157 | 172 | 
                         | 
                    
| 158 | 173 | 
                        $form .= '</table>  | 
                    
| 159 | 174 | 
                        <p style="margin-left: 2em;">[ <a href="#" onclick="moreForward();">mehr Empfänger</a> ]</p>  | 
                    
| ... | ... | 
                      @@ -13,7 +13,7 @@ function empty_account()  | 
                  
| 13 | 13 | 
                        'password' => NULL,  | 
                    
| 14 | 14 | 
                        'spamfilter' => 'folder',  | 
                    
| 15 | 15 | 
                        'spamexpire' => 7,  | 
                    
| 16 | 
                        - 'forwards' => array();  | 
                    |
| 16 | 
                        + 'forwards' => array()  | 
                    |
| 17 | 17 | 
                        );  | 
                    
| 18 | 18 | 
                        return $account;  | 
                    
| 19 | 19 | 
                         | 
                    
| ... | ... | 
                      @@ -23,11 +23,23 @@ function get_account_details($id)  | 
                  
| 23 | 23 | 
                         {
                       | 
                    
| 24 | 24 | 
                        $id = (int) $id;  | 
                    
| 25 | 25 | 
                        $uid = (int) $_SESSION['userinfo']['uid'];  | 
                    
| 26 | 
                        -	$result = db_query("SELECT id, local, domainid as domain, type, data, spamfilter, virusfilter from mail.v_virtual_mail WHERE useraccount='{$uid}' AND id={$id} LIMIT 1");
                       | 
                    |
| 26 | 
                        +	$result = db_query("SELECT id, local, domain, password, spamfilter, forwards from mail.v_vmail_accounts WHERE useraccount='{$uid}' AND id={$id} LIMIT 1");
                       | 
                    |
| 27 | 27 | 
                        if (mysql_num_rows($result) == 0)  | 
                    
| 28 | 28 | 
                         		system_failure('Ungültige ID oder kein eigener Account');
                       | 
                    
| 29 | 
                        - return mysql_fetch_assoc($result);;  | 
                    |
| 30 | 
                        -  | 
                    |
| 29 | 
                        + $acc = empty_account();  | 
                    |
| 30 | 
                        + $res = mysql_fetch_assoc($result);  | 
                    |
| 31 | 
                        +	foreach ($res AS $key => $value) {
                       | 
                    |
| 32 | 
                        + if ($key == 'forwards')  | 
                    |
| 33 | 
                        + continue;  | 
                    |
| 34 | 
                        + $acc[$key] = $value;  | 
                    |
| 35 | 
                        + }  | 
                    |
| 36 | 
                        +	if ($acc['forwards'] > 0) {
                       | 
                    |
| 37 | 
                        +	  $result = db_query("SELECT id, spamfilter, destination FROM mail.vmail_forward WHERE account={$acc['id']};");
                       | 
                    |
| 38 | 
                        +	  while ($item = mysql_fetch_assoc($result)){
                       | 
                    |
| 39 | 
                        +	    array_push($acc['forwards'], array("id" => $item['id'], 'spamfilter' => $item['spamfilter'], 'destination' => $item['destination']));
                       | 
                    |
| 40 | 
                        + }  | 
                    |
| 41 | 
                        + }  | 
                    |
| 42 | 
                        + return $acc;  | 
                    |
| 31 | 43 | 
                        }  | 
                    
| 32 | 44 | 
                         | 
                    
| 33 | 45 | 
                        function get_vmail_accounts()  | 
                    
| ... | ... | 
                      @@ -124,50 +136,40 @@ function save_vmail_account($account)  | 
                  
| 124 | 136 | 
                             input_error('Bitte wählen Sie eine Ihrer Domains aus!');
                       | 
                    
| 125 | 137 | 
                        return false;  | 
                    
| 126 | 138 | 
                        }  | 
                    
| 127 | 
                        - $type = NULL;  | 
                    |
| 128 | 
                        - switch ($account['type'])  | 
                    |
| 139 | 
                        +  | 
                    |
| 140 | 
                        + $forwards = array();  | 
                    |
| 141 | 
                        + if (count($account['forwards']) > 0)  | 
                    |
| 129 | 142 | 
                           {
                       | 
                    
| 130 | 
                        - case 'forward':  | 
                    |
| 131 | 
                        -                     $forward_to = preg_split("/[\s,]+/", $account['data']);
                       | 
                    |
| 132 | 
                        - foreach ($forward_to as $addr)  | 
                    |
| 143 | 
                        + for ($i=0;$i < count($account['forwards']); $i++)  | 
                    |
| 133 | 144 | 
                             {
                       | 
                    
| 134 | 
                        - $addr = filter_input_general($addr);  | 
                    |
| 135 | 
                        - if (! check_emailaddr($addr))  | 
                    |
| 136 | 
                        -                         system_failure('Das Weiterleitungs-Ziel »'.$addr.'« ist keine E-Mail-Adresse!');
                       | 
                    |
| 145 | 
                        + if ($account['forwards'][$i]['spamfilter'] != 'tag' && $account['forwards'][$i]['spamfilter'] != 'delete')  | 
                    |
| 146 | 
                        + $account['forwards'][$i]['spamfilter'] = '';  | 
                    |
| 147 | 
                        + $account['forwards'][$i]['destination'] = filter_input_general($account['forwards'][$i]['destination']);  | 
                    |
| 148 | 
                        + if (! check_emailaddr($account['forwards'][$i]['destination']))  | 
                    |
| 149 | 
                        +        system_failure('Das Weiterleitungs-Ziel »'.$account['forwards'][$i]['destination'].'« ist keine E-Mail-Adresse!');
                       | 
                    |
| 137 | 150 | 
                        }  | 
                    
| 138 | 
                        -		     $account['data'] = implode(' ', $forward_to);
                       | 
                    |
| 139 | 
                        - $type = 'forward';  | 
                    |
| 140 | 
                        - break;  | 
                    |
| 141 | 
                        - case 'mailbox':  | 
                    |
| 142 | 
                        - $account['data'] = stripslashes($account['data']);  | 
                    |
| 143 | 
                        - if ($account['data'] != '')  | 
                    |
| 151 | 
                        + }  | 
                    |
| 152 | 
                        +  | 
                    |
| 153 | 
                        + $password='NULL';  | 
                    |
| 154 | 
                        + if ($account['password'] != '')  | 
                    |
| 144 | 155 | 
                           {
                       | 
                    
| 145 | 
                        - $crack = strong_password($account['data']);  | 
                    |
| 156 | 
                        + $account['password'] = stripslashes($account['password']);  | 
                    |
| 157 | 
                        + $crack = strong_password($account['password']);  | 
                    |
| 146 | 158 | 
                        if ($crack !== true)  | 
                    
| 147 | 159 | 
                             {
                       | 
                    
| 148 | 160 | 
                               input_error('Ihr Passwort ist zu einfach. bitte wählen Sie ein sicheres Passwort!'."\nDie Fehlermeldung lautet: »{$crack}«");
                       | 
                    
| 149 | 161 | 
                        return false;  | 
                    
| 150 | 162 | 
                        }  | 
                    
| 151 | 
                        - $account['data'] = encrypt_mail_password($account['data']);  | 
                    |
| 152 | 
                        - }  | 
                    |
| 153 | 
                        - $type = 'mailbox';  | 
                    |
| 154 | 
                        - break;  | 
                    |
| 155 | 
                        - }  | 
                    |
| 156 | 
                        - if ($type == NULL)  | 
                    |
| 157 | 
                        -  {
                       | 
                    |
| 158 | 
                        -    input_error('Problem mit der »type«-Variable!');
                       | 
                    |
| 159 | 
                        - return false;  | 
                    |
| 163 | 
                        + $password = "'".encrypt_mail_password($account['password'])."'";  | 
                    |
| 160 | 164 | 
                        }  | 
                    
| 165 | 
                        + $set_password = ($id == NULL || $password != 'NULL');  | 
                    |
| 166 | 
                        + if ($account['password'] === NULL)  | 
                    |
| 167 | 
                        + $set_password=true;  | 
                    |
| 161 | 168 | 
                         | 
                    
| 162 | 169 | 
                        $spam = 'NULL';  | 
                    
| 163 | 170 | 
                        switch ($account['spamfilter'])  | 
                    
| 164 | 171 | 
                           {
                       | 
                    
| 165 | 172 | 
                        case 'folder':  | 
                    
| 166 | 
                        - if ($type == 'forward')  | 
                    |
| 167 | 
                        -      {
                       | 
                    |
| 168 | 
                        -        input_error('Sie können nicht in einen IMAP-Unterordner zustellen lassen, wenn Sie gar kein IMAP-Konto anlegen!');
                       | 
                    |
| 169 | 
                        - return false;  | 
                    |
| 170 | 
                        - }  | 
                    |
| 171 | 173 | 
                        $spam = "'folder'";  | 
                    
| 172 | 174 | 
                        break;  | 
                    
| 173 | 175 | 
                        case 'tag':  | 
                    
| ... | ... | 
                      @@ -178,48 +180,43 @@ function save_vmail_account($account)  | 
                  
| 178 | 180 | 
                        break;  | 
                    
| 179 | 181 | 
                        }  | 
                    
| 180 | 182 | 
                         | 
                    
| 181 | 
                        - $virus = 'NULL';  | 
                    |
| 182 | 
                        - switch ($account['virusfilter'])  | 
                    |
| 183 | 
                        -  {
                       | 
                    |
| 184 | 
                        - case 'folder':  | 
                    |
| 185 | 
                        - if ($type == 'forward')  | 
                    |
| 186 | 
                        -      {
                       | 
                    |
| 187 | 
                        -        input_error('Sie können nicht in einen IMAP-Unterordner zustellen lassen, wenn Sie gar kein IMAP-Konto anlegen!');
                       | 
                    |
| 188 | 
                        - return false;  | 
                    |
| 189 | 
                        - }  | 
                    |
| 190 | 
                        - $virus = "'folder'";  | 
                    |
| 191 | 
                        - break;  | 
                    |
| 192 | 
                        - case 'tag':  | 
                    |
| 193 | 
                        - $virus = "'tag'";  | 
                    |
| 194 | 
                        - break;  | 
                    |
| 195 | 
                        - case 'delete':  | 
                    |
| 196 | 
                        - $virus = "'delete'";  | 
                    |
| 197 | 
                        - break;  | 
                    |
| 198 | 
                        - }  | 
                    |
| 199 | 
                        -  | 
                    |
| 200 | 183 | 
                        $account['local'] = mysql_real_escape_string($account['local']);  | 
                    
| 201 | 
                        - $account['data'] = mysql_real_escape_string($account['data']);  | 
                    |
| 184 | 
                        + $account['password'] = mysql_real_escape_string($account['password']);  | 
                    |
| 202 | 185 | 
                        $account['spamexpire'] = (int) $account['spamexpire'];  | 
                    
| 203 | 
                        - $account['virusexpire'] = (int) $account['virusexpire'];  | 
                    |
| 204 | 186 | 
                         | 
                    
| 205 | 187 | 
                        $query = '';  | 
                    
| 206 | 188 | 
                        if ($id == NULL)  | 
                    
| 207 | 189 | 
                           {
                       | 
                    
| 208 | 
                        - $query = "INSERT INTO mail.virtual_mail (local, domain, type, data, spamfilter, virusfilter, spamexpire, virusexpire) VALUES ";  | 
                    |
| 209 | 
                        -    $query .= "('{$account['local']}', {$account['domain']}, '{$type}', '{$account['data']}', {$spam}, {$virus}, {$account['spamexpire']}, {$account['virusexpire']});";
                       | 
                    |
| 190 | 
                        + $query = "INSERT INTO mail.vmail_accounts (local, domain, spamfilter, spamexpire, password) VALUES ";  | 
                    |
| 191 | 
                        +    $query .= "('{$account['local']}', {$account['domain']}, {$spam}, {$account['spamexpire']}, {$account['password']});";
                       | 
                    |
| 210 | 192 | 
                        }  | 
                    
| 211 | 193 | 
                        else  | 
                    
| 212 | 194 | 
                           {
                       | 
                    
| 213 | 
                        -    $password = ", data='{$account['data']}'";
                       | 
                    |
| 214 | 
                        - if ($account['data'] == '')  | 
                    |
| 195 | 
                        + if ($set_password)  | 
                    |
| 196 | 
                        +      $password=", password={$password}";
                       | 
                    |
| 197 | 
                        + else  | 
                    |
| 215 | 198 | 
                        $password='';  | 
                    
| 216 | 
                        -    $query = "UPDATE mail.virtual_mail SET local='{$account['local']}', domain={$account['domain']}, type='{$type}'{$password}, ";
                       | 
                    |
| 217 | 
                        -    $query .= "spamfilter={$spam}, virusfilter={$virus}, spamexpire={$account['spamexpire']}, virusexpire={$account['virusexpire']} ";
                       | 
                    |
| 199 | 
                        +    $query = "UPDATE mail.vmail_accounts SET local='{$account['local']}', domain={$account['domain']}{$password}, ";
                       | 
                    |
| 200 | 
                        +    $query .= "spamfilter={$spam}, spamexpire={$account['spamexpire']} ";
                       | 
                    |
| 218 | 201 | 
                             $query .= "WHERE id={$id} LIMIT 1;";
                       | 
                    
| 219 | 202 | 
                        }  | 
                    
| 220 | 203 | 
                        db_query($query);  | 
                    
| 221 | 
                        -  | 
                    |
| 222 | 
                        - if ($type == 'mailbox')  | 
                    |
| 204 | 
                        +  db_query("DELETE FROM mail.vmail_forward WHERE account={$id}");
                       | 
                    |
| 205 | 
                        + if (count($account['forwards']) > 0)  | 
                    |
| 206 | 
                        +  {
                       | 
                    |
| 207 | 
                        + $forward_query = "INSERT INTO mail.vmail_forward (account,spamfilter,destination) VALUES ";  | 
                    |
| 208 | 
                        + $first = true;  | 
                    |
| 209 | 
                        + for ($i=0;$i < count($account['forwards']); $i++)  | 
                    |
| 210 | 
                        +    { 
                       | 
                    |
| 211 | 
                        + if ($first)  | 
                    |
| 212 | 
                        + $first = false;  | 
                    |
| 213 | 
                        + else  | 
                    |
| 214 | 
                        + $forward_query .= ', ';  | 
                    |
| 215 | 
                        +      $forward_query .= "({$id}, ".maybe_null($account['forwards'][$i]['spamfilter']).", '{$account['forwards'][$i]['destination']}')";
                       | 
                    |
| 216 | 
                        + }  | 
                    |
| 217 | 
                        + db_query($forward_query);  | 
                    |
| 218 | 
                        + }  | 
                    |
| 219 | 
                        + if ($account['password'] != 'NULL')  | 
                    |
| 223 | 220 | 
                           {
                       | 
                    
| 224 | 221 | 
                        # notify the vmail subsystem of this new account  | 
                    
| 225 | 222 | 
                             mail('vmail@schokokeks.org', 'command', "user={$account['local']}\nhost={$domainname}", "X-schokokeks-org-message: command");
                       | 
                    
| ... | ... | 
                      @@ -231,7 +228,7 @@ function save_vmail_account($account)  | 
                  
| 231 | 228 | 
                        function delete_account($id)  | 
                    
| 232 | 229 | 
                         {
                       | 
                    
| 233 | 230 | 
                        $account = get_account_details($id);  | 
                    
| 234 | 
                        -  db_query("DELETE FROM mail.virtual_mail WHERE id={$account['id']};");
                       | 
                    |
| 231 | 
                        +  db_query("DELETE FROM mail.vmail_accounts WHERE id={$account['id']};");
                       | 
                    |
| 235 | 232 | 
                        }  | 
                    
| 236 | 233 | 
                         | 
                    
| 237 | 234 | 
                         | 
                    
| ... | ... | 
                      @@ -21,17 +21,23 @@ if ($_GET['action'] == 'edit')  | 
                  
| 21 | 21 | 
                        $account['id'] = $id;  | 
                    
| 22 | 22 | 
                        $account['local'] = $_POST['local'];  | 
                    
| 23 | 23 | 
                        $account['domain'] = (int) $_POST['domain'];  | 
                    
| 24 | 
                        - $account['type'] = $_POST['type'];  | 
                    |
| 25 | 
                        - if ($_POST['type'] == 'mailbox')  | 
                    |
| 26 | 
                        - $account['data'] = $_POST['password'];  | 
                    |
| 27 | 
                        - else  | 
                    |
| 28 | 
                        - $account['data'] = $_POST['forward_to'];  | 
                    |
| 29 | 24 | 
                        $account['spamfilter'] = $_POST['spamfilter_action'];  | 
                    
| 30 | 
                        - if ($_POST['spamfilter'] != '1')  | 
                    |
| 31 | 
                        - $account['spamfilter'] = NULL;  | 
                    |
| 32 | 
                        - $account['virusfilter'] = $_POST['virusfilter_action'];  | 
                    |
| 33 | 
                        - if ($_POST['virusfilter'] != '1')  | 
                    |
| 34 | 
                        - $account['virusfilter'] = NULL;  | 
                    |
| 25 | 
                        + $account['password'] = $_POST['password'];  | 
                    |
| 26 | 
                        + if ($_POST['mailbox'] != 'yes')  | 
                    |
| 27 | 
                        + $account['password'] = NULL;  | 
                    |
| 28 | 
                        +  | 
                    |
| 29 | 
                        + if ($_POST['forward'] == 'yes')  | 
                    |
| 30 | 
                        +  {
                       | 
                    |
| 31 | 
                        + $num = 1;  | 
                    |
| 32 | 
                        + while (true)  | 
                    |
| 33 | 
                        +    {
                       | 
                    |
| 34 | 
                        + if (! isset($_POST['forward_to_'.$num]))  | 
                    |
| 35 | 
                        + break;  | 
                    |
| 36 | 
                        +      $fwd = array("spamfilter" => $_POST['spamfilter_action_'.$num], "destination" => $_POST['forward_to_'.$num]);
                       | 
                    |
| 37 | 
                        + array_push($account['forwards'], $fwd);  | 
                    |
| 38 | 
                        + $num++;  | 
                    |
| 39 | 
                        + }  | 
                    |
| 40 | 
                        + }  | 
                    |
| 35 | 41 | 
                         | 
                    
| 36 | 42 | 
                        DEBUG($account);  | 
                    
| 37 | 43 | 
                         | 
                    
| 38 | 44 |