Changeset 1236
- 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
| r1140 |
r1236 |
|
| 161 | 161 | function update_email_pass($sql) { |
|---|
| 162 | 162 | if (!isset($_POST['uaction'])) { |
|---|
| 163 | | return; |
|---|
| | 163 | return false; |
|---|
| 164 | 164 | } |
|---|
| 165 | 165 | if (preg_match('/update_pass/', $_POST['uaction']) == 0) { |
|---|
| 166 | | return; |
|---|
| | 166 | return true; |
|---|
| 167 | 167 | } |
|---|
| 168 | 168 | if (preg_match('/update_forward/', $_POST['uaction']) == 1 || isset($_POST['mail_forward'])) { |
|---|
| 169 | 169 | // The user only wants to update the forward list, not the password |
|---|
| 170 | 170 | if ($_POST['pass'] === '' || $_POST['pass_rep'] === '') { |
|---|
| 171 | | return; |
|---|
| | 171 | return true; |
|---|
| 172 | 172 | } |
|---|
| 173 | 173 | } |
|---|
| … | … | |
| 180 | 180 | if (trim($pass) === '' || trim($pass_rep) === '' || $mail_id === '' || !is_numeric($mail_id)) { |
|---|
| 181 | 181 | set_page_message(tr('Missing or wrong data!')); |
|---|
| 182 | | return; |
|---|
| | 182 | return false; |
|---|
| 183 | 183 | } else if ($pass !== $pass_rep) { |
|---|
| 184 | 184 | set_page_message(tr('Entered passwords differ!')); |
|---|
| 185 | | return; |
|---|
| | 185 | return false; |
|---|
| 186 | 186 | } else if (preg_match("/[`\xB4'\"\\|<>^\x00-\x1f]/i", $pass)) { // Not permitted chars |
|---|
| 187 | 187 | set_page_message(tr('Password data includes not valid signs!')); |
|---|
| 188 | | return; |
|---|
| | 188 | return false; |
|---|
| 189 | 189 | } else { |
|---|
| 190 | 190 | global $cfg; |
|---|
| … | … | |
| 207 | 207 | write_log($_SESSION['user_logged'] . ": change mail account password: $mail_account"); |
|---|
| 208 | 208 | |
|---|
| 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; |
|---|
| 215 | 210 | } |
|---|
| 216 | 211 | } |
|---|
| … | … | |
| 218 | 213 | function update_email_forward(&$tpl, &$sql) { |
|---|
| 219 | 214 | if (!isset($_POST['uaction'])) { |
|---|
| 220 | | return; |
|---|
| | 215 | return false; |
|---|
| 221 | 216 | } |
|---|
| 222 | 217 | if (preg_match('/update_forward/', $_POST['uaction']) == 0 && !isset($_POST['mail_forward'])) { |
|---|
| 223 | | return; |
|---|
| | 218 | return true; |
|---|
| 224 | 219 | } |
|---|
| 225 | 220 | |
|---|
| … | … | |
| 229 | 224 | $mail_accs = array(); |
|---|
| 230 | 225 | |
|---|
| 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); |
|---|
| 233 | 228 | |
|---|
| 234 | 229 | foreach ($faray as $value) { |
|---|
| … | … | |
| 237 | 232 | /* ERR .. strange :) not email in this line - warrning */ |
|---|
| 238 | 233 | set_page_message(tr("Mail forward list error!")); |
|---|
| 239 | | return; |
|---|
| | 234 | return false; |
|---|
| 240 | 235 | } else if ($value === '') { |
|---|
| 241 | 236 | set_page_message(tr("Mail forward list error!")); |
|---|
| 242 | | return; |
|---|
| | 237 | return false; |
|---|
| 243 | 238 | } |
|---|
| 244 | 239 | $mail_accs[] = $value; |
|---|
| … | … | |
| 287 | 282 | $rs = exec_query($sql, $query, array($forward_list, $mail_type, $status, $mail_id)); |
|---|
| 288 | 283 | |
|---|
| 289 | | send_request(); |
|---|
| 290 | 284 | 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; |
|---|
| 294 | 286 | } |
|---|
| 295 | 287 | |
|---|
| … | … | |
| 311 | 303 | |
|---|
| 312 | 304 | edit_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 | |
|---|
| | 308 | if ($ok && $ok2) { |
|---|
| | 309 | set_page_message(tr("Mail were updated successfully!")); |
|---|
| | 310 | } |
|---|
| | 311 | if ($ok || $ok2) { |
|---|
| | 312 | send_request(); |
|---|
| | 313 | header("Location: email_accounts.php"); |
|---|
| | 314 | die(); |
|---|
| | 315 | } |
|---|
| 315 | 316 | |
|---|
| 316 | 317 | // static page messages. |
|---|
| r1234 |
r1236 |
|
| 11 | 11 | <!-- |
|---|
| 12 | 12 | 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 | } |
|---|
| 15 | 17 | } |
|---|
| 16 | 18 | } |
|---|
| … | … | |
| 129 | 131 | <input type="hidden" name="mail_type" value="{MAIL_TYPE}"> |
|---|
| 130 | 132 | <input type="hidden" name="mail_account" value="{EMAIL_ACCOUNT}"> |
|---|
| 131 | | <input type="hidden" name="uaction" value=""> |
|---|
| | 133 | <input type="hidden" name="uaction" value="{ACTION}"> |
|---|
| 132 | 134 | </form> |
|---|
| 133 | 135 | </td> |
|---|
|
Download in other formats:
#########################################################################
# Site footer - Contents are automatically inserted after main Trac HTML
?>