|
File client.patch, 26.9 kB
(added by JCD, 7 months ago)
|
Diff of gui/client directory
|
-
gui/client/add_mail_acc.php
| old |
new |
|
| 2 | 2 | /** |
|---|
| 3 | 3 | * ispCP ω (OMEGA) a Virtual Hosting Control System |
|---|
| 4 | 4 | * |
|---|
| 5 | | * @copyright 2001-2006 by moleSoftware GmbH |
|---|
| 6 | | * @copyright 2006-2008 by ispCP | http://isp-control.net |
|---|
| 7 | | * @version SVN: $ID$ |
|---|
| 8 | | * @link http://isp-control.net |
|---|
| 9 | | * @author ispCP Team |
|---|
| | 5 | * @copyright 2001-2006 by moleSoftware GmbH |
|---|
| | 6 | * @copyright 2006-2008 by ispCP | http://isp-control.net |
|---|
| | 7 | * @version SVN: $ID$ |
|---|
| | 8 | * @link http://isp-control.net |
|---|
| | 9 | * @author ispCP Team |
|---|
| 10 | 10 | * |
|---|
| 11 | 11 | * @license |
|---|
| 12 | 12 | * This program is free software; you can redistribute it and/or modify it under |
| … | … | |
| 65 | 65 | 'MAIL_DMN_CHECKED' => ($_POST['dmn_type'] === 'dmn') ? "checked=\"checked\"" : "", |
|---|
| 66 | 66 | 'MAIL_ALS_CHECKED' => ($_POST['dmn_type'] === 'als') ? "checked=\"checked\"" : "", |
|---|
| 67 | 67 | 'MAIL_SUB_CHECKED' => ($_POST['dmn_type'] === 'sub') ? "checked=\"checked\"" : "", |
|---|
| 68 | | 'NORMAL_MAIL_CHECKED' => ($_POST['mail_type'] === 'normal') ? "checked=\"checked\"" : "", |
|---|
| 69 | | 'FORWARD_MAIL_CHECKED' => ($_POST['mail_type'] === 'forward') ? "checked=\"checked\"" : "", |
|---|
| | 68 | 'NORMAL_MAIL_CHECKED' => ($_POST['mail_type_normal']) ? "checked=\"checked\"" : "", |
|---|
| | 69 | 'FORWARD_MAIL_CHECKED' => ($_POST['mail_type_forward']) ? "checked=\"checked\"" : "", |
|---|
| 70 | 70 | 'FORWARD_LIST' => $f_list)); |
|---|
| 71 | 71 | } |
|---|
| 72 | 72 | } |
| … | … | |
| 219 | 219 | } else { |
|---|
| 220 | 220 | $mail_acc = $mail_acc_tmp; |
|---|
| 221 | 221 | } |
|---|
| 222 | | $mail_auto_respond = '_no_'; |
|---|
| | 222 | |
|---|
| | 223 | $mail_auto_respond = false; |
|---|
| | 224 | $mail_auto_respond_text = ''; |
|---|
| 223 | 225 | $mail_addr = ''; |
|---|
| 224 | 226 | |
|---|
| 225 | | if ($_POST['mail_type'] === 'normal') { |
|---|
| 226 | | if ($_POST['dmn_type'] === 'dmn') { |
|---|
| 227 | | $mail_pass = $_POST['pass']; |
|---|
| 228 | | $mail_forward = '_no_'; |
|---|
| 229 | | $mail_type = 'normal_mail'; |
|---|
| 230 | | $sub_id = '0'; |
|---|
| 231 | | $mail_addr = $mail_acc.'@'.$dmn_name; // the complete address |
|---|
| 232 | | } |
|---|
| 233 | | else if ($_POST['dmn_type'] === 'sub') { |
|---|
| 234 | | $mail_pass = $_POST['pass']; |
|---|
| 235 | | $mail_forward = '_no_'; |
|---|
| 236 | | $mail_type = 'subdom_mail'; |
|---|
| 237 | | $sub_id = $_POST['sub_id']; |
|---|
| 238 | | // search the complete address |
|---|
| 239 | | $query = <<<SQL_QUERY |
|---|
| 240 | | SELECT |
|---|
| 241 | | `subdomain_name` |
|---|
| 242 | | FROM |
|---|
| 243 | | `subdomain` |
|---|
| 244 | | WHERE |
|---|
| 245 | | `subdomain_id` = ? |
|---|
| 246 | | SQL_QUERY; |
|---|
| 247 | | $rs = exec_query($sql, $query, array($sub_id)); |
|---|
| 248 | | $mail_addr = $mail_acc.'@'.decode_idna($rs->fields['subdomain_name']).'.'.$dmn_name; // the complete address |
|---|
| 249 | | } |
|---|
| 250 | | else if ($_POST['dmn_type'] === 'als') { |
|---|
| 251 | | $mail_pass = $_POST['pass']; |
|---|
| 252 | | $mail_forward = '_no_'; |
|---|
| 253 | | $mail_type = 'alias_mail'; |
|---|
| 254 | | $sub_id = $_POST['als_id']; |
|---|
| 255 | | // search the complete address |
|---|
| 256 | | $query = <<<SQL_QUERY |
|---|
| 257 | | SELECT |
|---|
| 258 | | `alias_name` |
|---|
| 259 | | FROM |
|---|
| 260 | | `domain_aliasses` |
|---|
| 261 | | WHERE |
|---|
| 262 | | `alias_id` = ? |
|---|
| | 227 | if ($_POST['mail_type_normal'] || $_POST['mail_type_forward']) { |
|---|
| | 228 | if ($_POST['mail_type_normal']) { |
|---|
| | 229 | if ($_POST['dmn_type'] === 'dmn') { |
|---|
| | 230 | $mail_pass = $_POST['pass']; |
|---|
| | 231 | $mail_forward = '_no_'; |
|---|
| | 232 | $mail_type[] = 'normal_mail'; |
|---|
| | 233 | $sub_id = '0'; |
|---|
| | 234 | $mail_addr = $mail_acc.'@'.$dmn_name; // the complete address |
|---|
| | 235 | } |
|---|
| | 236 | else if ($_POST['dmn_type'] === 'sub') { |
|---|
| | 237 | $mail_pass = $_POST['pass']; |
|---|
| | 238 | $mail_forward = '_no_'; |
|---|
| | 239 | $mail_type[] = 'subdom_mail'; |
|---|
| | 240 | $sub_id = $_POST['sub_id']; |
|---|
| | 241 | // search the complete address |
|---|
| | 242 | $query = <<<SQL_QUERY |
|---|
| | 243 | SELECT |
|---|
| | 244 | `subdomain_name` |
|---|
| | 245 | FROM |
|---|
| | 246 | `subdomain` |
|---|
| | 247 | WHERE |
|---|
| | 248 | `subdomain_id` = ? |
|---|
| 263 | 249 | SQL_QUERY; |
|---|
| 264 | | $rs = exec_query($sql, $query, array($sub_id)); |
|---|
| 265 | | $mail_addr = $mail_acc.'@'.decode_idna($rs->fields['alias_name']); // the complete address |
|---|
| 266 | | } else { |
|---|
| 267 | | set_page_message(tr('Unknown domain type')); |
|---|
| 268 | | return ; |
|---|
| 269 | | } |
|---|
| | 250 | $rs = exec_query($sql, $query, array($sub_id)); |
|---|
| | 251 | $mail_addr = $mail_acc.'@'.decode_idna($rs->fields['subdomain_name']).'.'.$dmn_name; // the complete address |
|---|
| 270 | 252 | |
|---|
| 271 | | $check_acc_query = <<<SQL_QUERY |
|---|
| 272 | | SELECT |
|---|
| 273 | | COUNT(mail_id) AS cnt |
|---|
| 274 | | FROM |
|---|
| 275 | | mail_users |
|---|
| 276 | | WHERE |
|---|
| 277 | | mail_acc = ? |
|---|
| 278 | | AND |
|---|
| 279 | | domain_id = ? |
|---|
| 280 | | AND |
|---|
| 281 | | mail_type = ? |
|---|
| 282 | | AND |
|---|
| 283 | | sub_id = ? |
|---|
| | 253 | } |
|---|
| | 254 | else if ($_POST['dmn_type'] === 'als') { |
|---|
| | 255 | $mail_pass = $_POST['pass']; |
|---|
| | 256 | $mail_forward = '_no_'; |
|---|
| | 257 | $mail_type[] = 'alias_mail'; |
|---|
| | 258 | $sub_id = $_POST['als_id']; |
|---|
| | 259 | // search the complete address |
|---|
| | 260 | $query = <<<SQL_QUERY |
|---|
| | 261 | SELECT |
|---|
| | 262 | `alias_name` |
|---|
| | 263 | FROM |
|---|
| | 264 | `domain_aliasses` |
|---|
| | 265 | WHERE |
|---|
| | 266 | `alias_id` = ? |
|---|
| 284 | 267 | SQL_QUERY; |
|---|
| 285 | | |
|---|
| 286 | | $rs = exec_query($sql, $check_acc_query, array($mail_acc, $domain_id, $mail_type, $sub_id)); |
|---|
| 287 | | |
|---|
| 288 | | } else if ($_POST['mail_type'] === 'forward') { |
|---|
| 289 | | if ($_POST['dmn_type'] === 'dmn') { |
|---|
| 290 | | $mail_type = 'normal_forward'; |
|---|
| 291 | | $sub_id = '0'; |
|---|
| 292 | | } else if ($_POST['dmn_type'] === 'sub') { |
|---|
| 293 | | $mail_type = 'subdom_forward'; |
|---|
| 294 | | $sub_id = $_POST['sub_id']; |
|---|
| 295 | | } else if ($_POST['dmn_type'] === 'als') { |
|---|
| 296 | | $mail_type = 'alias_forward'; |
|---|
| 297 | | $sub_id = $_POST['als_id']; |
|---|
| 298 | | } else { |
|---|
| 299 | | set_page_message(tr('Unknown domain type')); |
|---|
| 300 | | return ; |
|---|
| 301 | | } |
|---|
| 302 | | |
|---|
| 303 | | $mail_pass = '_no_'; |
|---|
| 304 | | $mail_forward = $_POST['forward_list']; |
|---|
| 305 | | $faray = preg_split ("/[\n,]+/", $mail_forward); |
|---|
| 306 | | $mail_accs = array(); |
|---|
| 307 | | |
|---|
| 308 | | foreach ($faray as $value) { |
|---|
| 309 | | $value = trim($value); |
|---|
| 310 | | if (!chk_email($value) && $value !== '') { |
|---|
| 311 | | /* ERR .. strange :) not email in this line - warning */ |
|---|
| 312 | | set_page_message(tr("Mailformat of an address in your forward list is incorrect!")); |
|---|
| 313 | | return; |
|---|
| 314 | | } |
|---|
| 315 | | else if ($value === '') { |
|---|
| 316 | | set_page_message(tr("Mail forward list empty!")); |
|---|
| 317 | | return; |
|---|
| 318 | | } |
|---|
| 319 | | $mail_accs[] = $value; |
|---|
| 320 | | } |
|---|
| 321 | | |
|---|
| 322 | | $check_acc_query = <<<SQL_QUERY |
|---|
| 323 | | SELECT |
|---|
| 324 | | COUNT(mail_id) AS cnt |
|---|
| 325 | | FROM |
|---|
| 326 | | mail_users |
|---|
| 327 | | WHERE |
|---|
| 328 | | mail_acc = ? |
|---|
| 329 | | AND |
|---|
| 330 | | domain_id = ? |
|---|
| 331 | | AND |
|---|
| 332 | | mail_type = ? |
|---|
| 333 | | AND |
|---|
| 334 | | sub_id = ? |
|---|
| | 268 | $rs = exec_query($sql, $query, array($sub_id)); |
|---|
| | 269 | $mail_addr = $mail_acc.'@'.decode_idna($rs->fields['alias_name']); // the complete address |
|---|
| | 270 | } else { |
|---|
| | 271 | set_page_message(tr('Unknown domain type')); |
|---|
| | 272 | return ; |
|---|
| | 273 | } |
|---|
| | 274 | |
|---|
| | 275 | } |
|---|
| | 276 | |
|---|
| | 277 | if ($_POST['mail_type_forward']) { |
|---|
| | 278 | if ($_POST['dmn_type'] === 'dmn') { |
|---|
| | 279 | $mail_type[] = 'normal_forward'; |
|---|
| | 280 | $sub_id = '0'; |
|---|
| | 281 | } else if ($_POST['dmn_type'] === 'sub') { |
|---|
| | 282 | $mail_type[] = 'subdom_forward'; |
|---|
| | 283 | $sub_id = $_POST['sub_id']; |
|---|
| | 284 | } else if ($_POST['dmn_type'] === 'als') { |
|---|
| | 285 | $mail_type[] = 'alias_forward'; |
|---|
| | 286 | $sub_id = $_POST['als_id']; |
|---|
| | 287 | } else { |
|---|
| | 288 | set_page_message(tr('Unknown domain type')); |
|---|
| | 289 | return ; |
|---|
| | 290 | } |
|---|
| | 291 | |
|---|
| | 292 | if (!isset($_POST['mail_type_normal'])) { |
|---|
| | 293 | $mail_pass = '_no_'; |
|---|
| | 294 | } |
|---|
| | 295 | |
|---|
| | 296 | $mail_forward = $_POST['forward_list']; |
|---|
| | 297 | $faray = preg_split ("/[\n,]+/", $mail_forward); |
|---|
| | 298 | $mail_accs = array(); |
|---|
| | 299 | |
|---|
| | 300 | foreach ($faray as $value) { |
|---|
| | 301 | $value = trim($value); |
|---|
| | 302 | if (!chk_email($value) && $value !== '') { |
|---|
| | 303 | /* ERR .. strange :) not email in this line - warning */ |
|---|
| | 304 | set_page_message(tr("Mailformat of an address in your forward list is incorrect!")); |
|---|
| | 305 | return; |
|---|
| | 306 | } |
|---|
| | 307 | else if ($value === '') { |
|---|
| | 308 | set_page_message(tr("Mail forward list empty!")); |
|---|
| | 309 | return; |
|---|
| | 310 | } |
|---|
| | 311 | $mail_accs[] = $value; |
|---|
| | 312 | } |
|---|
| | 313 | |
|---|
| | 314 | $mail_forward = implode(',', $mail_accs); |
|---|
| | 315 | } |
|---|
| | 316 | |
|---|
| | 317 | $mail_type = implode(',', $mail_type); |
|---|
| | 318 | |
|---|
| | 319 | $check_acc_query = <<<SQL_QUERY |
|---|
| | 320 | SELECT |
|---|
| | 321 | COUNT(mail_id) AS cnt |
|---|
| | 322 | FROM |
|---|
| | 323 | mail_users |
|---|
| | 324 | WHERE |
|---|
| | 325 | mail_acc = ? |
|---|
| | 326 | AND |
|---|
| | 327 | domain_id = ? |
|---|
| | 328 | AND |
|---|
| | 329 | mail_type = ? |
|---|
| | 330 | AND |
|---|
| | 331 | sub_id = ? |
|---|
| 335 | 332 | SQL_QUERY; |
|---|
| 336 | 333 | |
|---|
| 337 | 334 | $rs = exec_query($sql, $check_acc_query, array($mail_acc, $domain_id, $mail_type, $sub_id)); |
|---|
| 338 | 335 | |
|---|
| 339 | | $mail_forward = implode(',', $mail_accs); |
|---|
| 340 | 336 | } |
|---|
| 341 | 337 | |
|---|
| 342 | 338 | if ($rs->fields['cnt'] > 0) { |
| … | … | |
| 356 | 352 | sub_id, |
|---|
| 357 | 353 | status, |
|---|
| 358 | 354 | mail_auto_respond, |
|---|
| | 355 | mail_auto_respond_text, |
|---|
| 359 | 356 | mail_addr) |
|---|
| 360 | 357 | VALUES |
|---|
| 361 | | (?, ?, ?, ?, ?, ?, ?, ?, ?) |
|---|
| | 358 | (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) |
|---|
| 362 | 359 | SQL_QUERY; |
|---|
| 363 | 360 | |
|---|
| 364 | 361 | $rs = exec_query($sql, $query, array($mail_acc, |
| … | … | |
| 369 | 366 | $sub_id, |
|---|
| 370 | 367 | $cfg['ITEM_ADD_STATUS'], |
|---|
| 371 | 368 | $mail_auto_respond, |
|---|
| 372 | | $mail_addr)); |
|---|
| | 369 | $mail_auto_respond_text, |
|---|
| | 370 | $mail_addr)); |
|---|
| 373 | 371 | |
|---|
| 374 | 372 | write_log($_SESSION['user_logged'] . ": add new mail account: " . $mail_addr); |
|---|
| 375 | 373 | set_page_message(tr('Mail account scheduled for addition!')); |
-
gui/client/delete_mail_acc.php
| old |
new |
|
| 65 | 65 | $res = exec_query($sql, $query, array($delete_id)); |
|---|
| 66 | 66 | $data = $res->FetchRow(); |
|---|
| 67 | 67 | |
|---|
| 68 | | if ($data['mail_type'] == MT_NORMAL_MAIL || $data['mail_type'] == MT_NORMAL_FORWARD) { |
|---|
| | 68 | if (preg_match(MT_NORMAL_MAIL, $data['mail_type']) || preg_match(MT_NORMAL_FORWARD, $data['mail_type'])) { |
|---|
| 69 | 69 | /* mail to normal domain */ |
|---|
| 70 | 70 | // global $domain_name; |
|---|
| 71 | 71 | $mail_name = $data['mail_acc'] . '@' . $_SESSION['user_logged']; //$domain_name; |
|---|
| 72 | | } else if ($data['mail_type'] == MT_ALIAS_MAIL || $data['mail_type'] == MT_ALIAS_FORWARD) { |
|---|
| | 72 | } else if (preg_match(MT_ALIAS_MAIL, $data['mail_type']) || preg_match(MT_ALIAS_FORWARD, $data['mail_type'])) { |
|---|
| 73 | 73 | /* mail to domain alias*/ |
|---|
| 74 | 74 | $res_tmp = exec_query($sql, "select alias_name from domain_aliasses where alias_id=?", array($data['sub_id'])); |
|---|
| 75 | 75 | $dat_tmp = $res_tmp->FetchRow(); |
|---|
| 76 | 76 | $mail_name = $data['mail_acc'] . '@' . $dat_tmp['alias_name']; |
|---|
| 77 | | } else if ($data['mail_type'] == MT_SUBDOM_MAIL || $data['mail_type'] == MT_SUBDOM_FORWARD) { |
|---|
| | 77 | } else if (preg_match(MT_SUBDOM_MAIL, $data['mail_type']) || preg_match(MT_SUBDOM_FORWARD, $data['mail_type'])) { |
|---|
| 78 | 78 | /* mail to subdomain*/ |
|---|
| 79 | 79 | $res_tmp = exec_query($sql, "select subdomain_name from subdomain where subdomain_id=?", array($data['sub_id'])); |
|---|
| 80 | 80 | $dat_tmp = $res_tmp->FetchRow(); |
-
gui/client/disable_mail_arsp.php
| old |
new |
|
| 66 | 66 | mail_users |
|---|
| 67 | 67 | set |
|---|
| 68 | 68 | status = ?, |
|---|
| 69 | | mail_auto_respond = '_no_' |
|---|
| | 69 | mail_auto_respond = '0' |
|---|
| 70 | 70 | where |
|---|
| 71 | 71 | mail_id = ? |
|---|
| 72 | 72 | SQL_QUERY; |
-
gui/client/edit_mail_acc.php
| old |
new |
|
| 65 | 65 | } else { |
|---|
| 66 | 66 | $mail_acc = $rs->fields['mail_acc']; |
|---|
| 67 | 67 | $domain_id = $rs->fields['domain_id']; |
|---|
| 68 | | $mail_type = $rs->fields['mail_type']; |
|---|
| | 68 | $mail_type_list = $rs->fields['mail_type']; |
|---|
| 69 | 69 | $mail_forward = $rs->fields['mail_forward']; |
|---|
| 70 | 70 | $sub_id = $rs->fields['sub_id']; |
|---|
| 71 | | if ($mail_type == MT_NORMAL_MAIL) { |
|---|
| 72 | | $mtype = 1; |
|---|
| 73 | | $res1 = exec_query($sql, "select domain_name from domain where domain_id=?", array($domain_id)); |
|---|
| 74 | | $tmp1 = $res1->FetchRow(0); |
|---|
| 75 | | $maildomain = $tmp1['domain_name']; |
|---|
| 76 | | } elseif ($mail_type == MT_NORMAL_FORWARD) { |
|---|
| 77 | | $mtype = 4; |
|---|
| 78 | | $res1 = exec_query($sql, "select domain_name from domain where domain_id=?", array($domain_id)); |
|---|
| 79 | | $tmp1 = $res1->FetchRow(0); |
|---|
| 80 | | $maildomain = $tmp1['domain_name']; |
|---|
| 81 | | } elseif ($mail_type == MT_ALIAS_MAIL) { |
|---|
| 82 | | $mtype = 2; |
|---|
| 83 | | $res1 = exec_query($sql, "select alias_name from domain_aliasses where alias_id=?", array($sub_id)); |
|---|
| 84 | | $tmp1 = $res1->FetchRow(0); |
|---|
| 85 | | $maildomain = $tmp1['alias_name']; |
|---|
| 86 | | } elseif ($mail_type == MT_ALIAS_FORWARD) { |
|---|
| 87 | | $mtype = 5; |
|---|
| 88 | | $res1 = exec_query($sql, "select alias_name from domain_aliasses where alias_id=?", array($sub_id)); |
|---|
| 89 | | $tmp1 = $res1->FetchRow(); |
|---|
| 90 | | $maildomain = $tmp1['alias_name']; |
|---|
| 91 | | } elseif ($mail_type == MT_SUBDOM_MAIL) { |
|---|
| 92 | | $mtype = 3; |
|---|
| 93 | | $res1 = exec_query($sql, "select subdomain_name from subdomain where subdomain_id=?", array($sub_id)); |
|---|
| 94 | | $tmp1 = $res1->FetchRow(); |
|---|
| 95 | | $maildomain = $tmp1['subdomain_name']; |
|---|
| 96 | | $res1 = exec_query($sql, "select domain_name from domain where domain_id=?", array($domain_id)); |
|---|
| 97 | | $tmp1 = $res1->FetchRow(0); |
|---|
| 98 | | $maildomain = $maildomain . "." . $tmp1['domain_name']; |
|---|
| 99 | | } elseif ($mail_type == MT_SUBDOM_FORWARD) { |
|---|
| 100 | | $mtype = 6; |
|---|
| 101 | | $res1 = exec_query($sql, "select subdomain_name from subdomain where subdomain_id=?", array($sub_id)); |
|---|
| 102 | | $tmp1 = $res1->FetchRow(); |
|---|
| 103 | | $maildomain = $tmp1['subdomain_name']; |
|---|
| 104 | | $res1 = exec_query($sql, "select domain_name from domain where domain_id=?", array($domain_id)); |
|---|
| 105 | | $tmp1 = $res1->FetchRow(0); |
|---|
| 106 | | $maildomain = $maildomain . "." . $tmp1['domain_name']; |
|---|
| | 71 | |
|---|
| | 72 | # AR hack |
|---|
| | 73 | foreach (explode(',', $mail_type_list) as $mail_type) { |
|---|
| | 74 | |
|---|
| | 75 | if ($mail_type == MT_NORMAL_MAIL) { |
|---|
| | 76 | $mtype[] = 1; |
|---|
| | 77 | $res1 = exec_query($sql, "select domain_name from domain where domain_id=?", array($domain_id)); |
|---|
| | 78 | $tmp1 = $res1->FetchRow(0); |
|---|
| | 79 | $maildomain = $tmp1['domain_name']; |
|---|
| | 80 | } elseif ($mail_type == MT_NORMAL_FORWARD) { |
|---|
| | 81 | $mtype[] = 4; |
|---|
| | 82 | $res1 = exec_query($sql, "select domain_name from domain where domain_id=?", array($domain_id)); |
|---|
| | 83 | $tmp1 = $res1->FetchRow(0); |
|---|
| | 84 | $maildomain = $tmp1['domain_name']; |
|---|
| | 85 | } elseif ($mail_type == MT_ALIAS_MAIL) { |
|---|
| | 86 | $mtype[] = 2; |
|---|
| | 87 | $res1 = exec_query($sql, "select alias_name from domain_aliasses where alias_id=?", array($sub_id)); |
|---|
| | 88 | $tmp1 = $res1->FetchRow(0); |
|---|
| | 89 | $maildomain = $tmp1['alias_name']; |
|---|
| | 90 | } elseif ($mail_type == MT_ALIAS_FORWARD) { |
|---|
| | 91 | $mtype[] = 5; |
|---|
| | 92 | $res1 = exec_query($sql, "select alias_name from domain_aliasses where alias_id=?", array($sub_id)); |
|---|
| | 93 | $tmp1 = $res1->FetchRow(); |
|---|
| | 94 | $maildomain = $tmp1['alias_name']; |
|---|
| | 95 | } elseif ($mail_type == MT_SUBDOM_MAIL) { |
|---|
| | 96 | $mtype[] = 3; |
|---|
| | 97 | $res1 = exec_query($sql, "select subdomain_name from subdomain where subdomain_id=?", array($sub_id)); |
|---|
| | 98 | $tmp1 = $res1->FetchRow(); |
|---|
| | 99 | $maildomain = $tmp1['subdomain_name']; |
|---|
| | 100 | $res1 = exec_query($sql, "select domain_name from domain where domain_id=?", array($domain_id)); |
|---|
| | 101 | $tmp1 = $res1->FetchRow(0); |
|---|
| | 102 | $maildomain = $maildomain . "." . $tmp1['domain_name']; |
|---|
| | 103 | } elseif ($mail_type == MT_SUBDOM_FORWARD) { |
|---|
| | 104 | $mtype[] = 6; |
|---|
| | 105 | $res1 = exec_query($sql, "select subdomain_name from subdomain where subdomain_id=?", array($sub_id)); |
|---|
| | 106 | $tmp1 = $res1->FetchRow(); |
|---|
| | 107 | $maildomain = $tmp1['subdomain_name']; |
|---|
| | 108 | $res1 = exec_query($sql, "select domain_name from domain where domain_id=?", array($domain_id)); |
|---|
| | 109 | $tmp1 = $res1->FetchRow(0); |
|---|
| | 110 | $maildomain = $maildomain . "." . $tmp1['domain_name']; |
|---|
| | 111 | } |
|---|
| | 112 | |
|---|
| 107 | 113 | } |
|---|
| 108 | 114 | |
|---|
| 109 | 115 | $mail_forward = $rs->fields['mail_forward']; |
| … | … | |
| 114 | 120 | $mail_acc = decode_idna($mail_acc); |
|---|
| 115 | 121 | $maildomain = decode_idna($maildomain); |
|---|
| 116 | 122 | $tpl->assign(array('EMAIL_ACCOUNT' => $mail_acc . "@" . $maildomain, |
|---|
| 117 | | 'FORWARD_LIST' => $mail_forward, |
|---|
| 118 | | 'MTYPE' => $mtype, |
|---|
| | 123 | 'FORWARD_LIST' => str_replace(',', "\n", $mail_forward), |
|---|
| | 124 | 'MTYPE' => implode(',', $mtype), |
|---|
| | 125 | 'MAIL_TYPE' => $mail_type_list, |
|---|
| 119 | 126 | 'MAIL_ID' => $mail_id)); |
|---|
| 120 | | if ($mail_forward === '_no_') { |
|---|
| 121 | | $tpl->assign(array('ACTION' => "update_pass")); |
|---|
| | 127 | |
|---|
| | 128 | if (count($mtype) > 1) { |
|---|
| | 129 | $tpl -> assign(array('ACTION' => 'update_pass,update_forward', |
|---|
| | 130 | 'FORWARD_MAIL_CHECKED' => 'checked="checked"')); |
|---|
| 122 | 131 | $tpl->assign('FORWARD_MAIL', ''); |
|---|
| | 132 | $tpl -> parse('NORMAL_MAIL', '.normal_mail'); |
|---|
| | 133 | } else if ($mail_forward === '_no_') { |
|---|
| | 134 | $tpl->assign(array('ACTION' => 'update_pass', |
|---|
| | 135 | 'FORWARD_MAIL' => '', |
|---|
| | 136 | 'FORWARD_MAIL_CHECKED' => '', |
|---|
| | 137 | 'FORWARD_LIST' => '', |
|---|
| | 138 | 'FORWARD_LIST_ENABLED' => 'disabled="disabled"')); |
|---|
| 123 | 139 | $tpl->parse('NORMAL_MAIL', '.normal_mail'); |
|---|
| 124 | 140 | } else { |
|---|
| 125 | | $tpl->assign(array('ACTION' => "update_forward")); |
|---|
| 126 | | $tpl->assign('NORMAL_MAIL', ''); |
|---|
| | 141 | $tpl->assign(array('ACTION' => 'update_forward', |
|---|
| | 142 | 'NORMAL_MAIL' => '')); |
|---|
| 127 | 143 | $tpl->parse('FORWARD_MAIL', '.forward_mail'); |
|---|
| 128 | 144 | } |
|---|
| 129 | 145 | } |
| … | … | |
| 133 | 149 | if (!isset($_POST['uaction'])) { |
|---|
| 134 | 150 | return; |
|---|
| 135 | 151 | } |
|---|
| 136 | | if ($_POST['uaction'] != 'update_pass') { |
|---|
| | 152 | if (preg_match('/update_pass/', $_POST['uaction']) == 0) { |
|---|
| 137 | 153 | return; |
|---|
| 138 | 154 | } |
|---|
| | 155 | if (preg_match('/update_forward/', $_POST['uaction']) == 1 || isset($_POST['mail_forward'])) { |
|---|
| | 156 | // The user only wants to update the forward list, not the password |
|---|
| | 157 | if ($_POST['pass'] === '' || $_POST['pass_rep'] === '') { |
|---|
| | 158 | return; |
|---|
| | 159 | } |
|---|
| | 160 | } |
|---|
| 139 | 161 | |
|---|
| 140 | 162 | $pass = escapeshellcmd($_POST['pass']); |
|---|
| 141 | 163 | $pass_rep = escapeshellcmd($_POST['pass_rep']); |
| … | … | |
| 170 | 192 | |
|---|
| 171 | 193 | $rs = exec_query($sql, $query, array($pass, $status, $mail_id)); |
|---|
| 172 | 194 | |
|---|
| 173 | | send_request(); |
|---|
| 174 | | set_page_message(tr("Mail were updated successfully!")); |
|---|
| 175 | 195 | write_log($_SESSION['user_logged'] . ": change mail account password: $mail_account"); |
|---|
| 176 | 196 | |
|---|
| 177 | | header("Location: email_accounts.php"); |
|---|
| 178 | | die(); |
|---|
| | 197 | if (preg_match('/update_forward/', $_POST['uaction']) == 0 && !isset($_POST['mail_forward'])) { |
|---|
| | 198 | send_request(); |
|---|
| | 199 | set_page_message(tr("Mail were updated successfully!")); |
|---|
| | 200 | header("Location: email_accounts.php"); |
|---|
| | 201 | die(); |
|---|
| | 202 | } |
|---|
| 179 | 203 | } |
|---|
| 180 | 204 | } |
|---|
| 181 | 205 | |
| … | … | |
| 183 | 207 | if (!isset($_POST['uaction'])) { |
|---|
| 184 | 208 | return; |
|---|
| 185 | 209 | } |
|---|
| 186 | | if ($_POST['uaction'] != 'update_forward') { |
|---|
| | 210 | if (preg_match('/update_forward/', $_POST['uaction']) == 0 && !isset($_POST['mail_forward'])) { |
|---|
| 187 | 211 | return; |
|---|
| 188 | 212 | } |
|---|
| 189 | 213 | |
| … | … | |
| 192 | 216 | $forward_list = clean_input($_POST['forward_list']); |
|---|
| 193 | 217 | $mail_accs = array(); |
|---|
| 194 | 218 | |
|---|
| 195 | | $faray = preg_split ("/[\n,]+/", $forward_list); |
|---|
| | 219 | if (isset($_POST['mail_forward'])) { |
|---|
| | 220 | |
|---|
| | 221 | $faray = preg_split ("/[\n,]+/", $forward_list); |
|---|
| | 222 | |
|---|
| | 223 | foreach ($faray as $value) { |
|---|
| | 224 | $value = trim($value); |
|---|
| | 225 | if (!chk_email($value) && $value !== '') { |
|---|
| | 226 | /* ERR .. strange :) not email in this line - warrning */ |
|---|
| | 227 | set_page_message(tr("Mail forward list error!")); |
|---|
| | 228 | return; |
|---|
| | 229 | } else if ($value === '') { |
|---|
| | 230 | set_page_message(tr("Mail forward list error!")); |
|---|
| | 231 | return; |
|---|
| | 232 | } |
|---|
| | 233 | $mail_accs[] = $value; |
|---|
| | 234 | } |
|---|
| | 235 | |
|---|
| | 236 | $forward_list = implode(',', $mail_accs); |
|---|
| | 237 | |
|---|
| | 238 | // Check if the mail type doesn't contain xxx_forward and append it |
|---|
| | 239 | if (preg_match('/_forward/', $_POST['mail_type']) == 0) { |
|---|
| | 240 | |
|---|
| | 241 | // Get mail account type and append the corresponding xxx_forward |
|---|
| | 242 | if ($_POST['mail_type'] == MT_NORMAL_MAIL) { |
|---|
| | 243 | $mail_type = $_POST['mail_type'] . ',' . MT_NORMAL_FORWARD; |
|---|
| | 244 | } elseif ($_POST['mail_type'] == MT_ALIAS_MAIL) { |
|---|
| | 245 | $mail_type = $_POST['mail_type'] . ',' . MT_ALIAS_FORWARD; |
|---|
| | 246 | } elseif ($_POST['mail_type'] == MT_SUBDOM_MAIL) { |
|---|
| | 247 | $mail_type = $_POST['mail_type'] . ',' . MT_SUBDOM_FORWARD; |
|---|
| | 248 | } |
|---|
| 196 | 249 | |
|---|
| 197 | | foreach ($faray as $value) { |
|---|
| 198 | | $value = trim($value); |
|---|
| 199 | | if (!chk_email($value) && $value !== '') { |
|---|
| 200 | | /* ERR .. strange :) not email in this line - warrning */ |
|---|
| 201 | | set_page_message(tr("Mail forward list error!")); |
|---|
| 202 | | return; |
|---|
| 203 | | } else if ($value === '') { |
|---|
| 204 | | set_page_message(tr("Mail forward list error!")); |
|---|
| 205 | | return; |
|---|
| | 250 | } else { |
|---|
| | 251 | |
|---|
| | 252 | // The mail type already contains xxx_forward, so we can use $_POST['mail_type'] |
|---|
| | 253 | $mail_type = $_POST['mail_type']; |
|---|
| | 254 | } |
|---|
| | 255 | |
|---|
| | 256 | } else { |
|---|
| | 257 | $forward_list = '_no_'; |
|---|
| | 258 | |
|---|
| | 259 | // Check if mail type was a forward type and remove it |
|---|
| | 260 | if (preg_match('/_forward/', $_POST['mail_type']) == 1) { |
|---|
| | 261 | $mail_type = preg_replace('/,[a-z]+_forward$/', '', $_POST['mail_type']); |
|---|
| 206 | 262 | } |
|---|
| 207 | | $mail_accs[] = $value; |
|---|
| 208 | | } |
|---|
| 209 | 263 | |
|---|
| | 264 | } |
|---|
| | 265 | |
|---|
| 210 | 266 | global $cfg; |
|---|
| 211 | 267 | $status = $cfg['ITEM_CHANGE_STATUS']; |
|---|
| 212 | 268 | |
| … | … | |
| 217 | 273 | mail_users |
|---|
| 218 | 274 | set |
|---|
| 219 | 275 | mail_forward = ?, |
|---|
| | 276 | mail_type = ?, |
|---|
| 220 | 277 | status = ? |
|---|
| 221 | 278 | where |
|---|
| 222 | 279 | mail_id = ? |
|---|
| 223 | 280 | SQL_QUERY; |
|---|
| 224 | 281 | |
|---|
| 225 | | $rs = exec_query($sql, $query, array(implode(',', $mail_accs), $status, $mail_id)); |
|---|
| | 282 | $rs = exec_query($sql, $query, array($forward_list, $mail_type, $status, $mail_id)); |
|---|
| 226 | 283 | |
|---|
| 227 | 284 | send_request(); |
|---|
| 228 | 285 | write_log($_SESSION['user_logged'] . ": change mail forward: $mail_account"); |
|---|
| | 286 | set_page_message(tr("Mail were updated successfully!")); |
|---|
| 229 | 287 | header("Location: email_accounts.php"); |
|---|
| 230 | 288 | die(); |
|---|
| 231 | 289 | } |
| … | … | |
| 259 | 317 | 'TR_SAVE' => tr('Save'), |
|---|
| 260 | 318 | 'TR_PASSWORD' => tr('Password'), |
|---|
| 261 | 319 | 'TR_PASSWORD_REPEAT' => tr('Repeat password'), |
|---|
| | 320 | 'TR_FORWARD_MAIL' => tr('Forward mail'), |
|---|
| | 321 | 'TR_FORWARD_TO' => tr('Forward to'), |
|---|
| | 322 | 'TR_FWD_HELP' => tr("Separate multiple email addresses with a line-break."), |
|---|
| 262 | 323 | 'TR_EDIT' => tr('Edit'))); |
|---|
| 263 | 324 | |
|---|
| 264 | 325 | gen_page_message($tpl); |
-
gui/client/edit_mail_arsp.php
| old |
new |
|
| 64 | 64 | if ($read_from_db) { |
|---|
| 65 | 65 | $query = <<<SQL_QUERY |
|---|
| 66 | 66 | SELECT |
|---|
| 67 | | mail_auto_respond, mail_acc |
|---|
| | 67 | mail_auto_respond_text, mail_acc |
|---|
| 68 | 68 | FROM |
|---|
| 69 | 69 | mail_users |
|---|
| 70 | 70 | WHERE |
| … | … | |
| 73 | 73 | $rs = exec_query($sql, $query, array($mail_id)); |
|---|
| 74 | 74 | $mail_name = $rs->fields['mail_acc']; |
|---|
| 75 | 75 | |
|---|
| 76 | | $tpl->assign('ARSP_MESSAGE', $rs->fields['mail_auto_respond']); |
|---|
| | 76 | $tpl->assign('ARSP_MESSAGE', $rs->fields['mail_auto_respond_text']); |
|---|
| 77 | 77 | return; |
|---|
| 78 | 78 | } else { |
|---|
| 79 | 79 | $arsp_message = clean_input($_POST['arsp_message']); |
| … | … | |
| 94 | 94 | mail_users |
|---|
| 95 | 95 | set |
|---|
| 96 | 96 | status = ?, |
|---|
| 97 | | mail_auto_respond = ? |
|---|
| | 97 | mail_auto_respond_text = ? |
|---|
| 98 | 98 | where |
|---|
| 99 | 99 | mail_id = ? |
|---|
| 100 | 100 | SQL_QUERY; |
-
gui/client/email_accounts.php
| old |
new |
|
| 47 | 47 | function gen_user_mail_auto_respond(&$tpl, $mail_id, $mail_type, $mail_status, $mail_auto_respond) { |
|---|
| 48 | 48 | global $cfg; |
|---|
| 49 | 49 | |
|---|
| 50 | | if (preg_match('/_mail$/', $mail_type) == 1) { |
|---|
| | 50 | if (preg_match('/_mail/', $mail_type) == 1) { |
|---|
| 51 | 51 | if ($mail_status === $cfg['ITEM_OK_STATUS']) { |
|---|
| 52 | | if ($mail_auto_respond === '_no_') { |
|---|
| | 52 | if ($mail_auto_respond == 0) { |
|---|
| 53 | 53 | $tpl->assign( |
|---|
| 54 | 54 | array('AUTO_RESPOND_DISABLE' => tr('Enable'), |
|---|
| 55 | 55 | 'AUTO_RESPOND_DISABLE_SCRIPT' => "enable_mail_arsp.php?id=$mail_id", |
| … | … | |
| 97 | 97 | AND |
|---|
| 98 | 98 | sub_id = 0 |
|---|
| 99 | 99 | AND |
|---|
| 100 | | (mail_type = 'normal_mail' OR mail_type = 'normal_forward') |
|---|
| | 100 | (mail_type LIKE '%normal_mail%' OR mail_type LIKE '%normal_forward%') |
|---|
| 101 | 101 | ORDER BY |
|---|
| 102 | | mail_type DESC, |
|---|
| 103 | | mail_acc ASC |
|---|
| | 102 | mail_acc ASC, |
|---|
| | 103 | mail_type DESC |
|---|
| | 104 | |
|---|
| 104 | 105 | SQL_QUERY; |
|---|
| 105 | 106 | |
|---|
| 106 | 107 | $rs = exec_query($sql, $dmn_query, array($dmn_id)); |
| … | … | |
| 121 | 122 | |
|---|
| 122 | 123 | $show_dmn_name = decode_idna($dmn_name); |
|---|
| 123 | 124 | |
|---|
| | 125 | $mail_types = explode(',', $rs->fields['mail_type']); |
|---|
| | 126 | |
|---|
| | 127 | $mail_type = ''; |
|---|
| | 128 | |
|---|
| | 129 | foreach ($mail_types as $type) { |
|---|
| | 130 | $mail_type .= user_trans_mail_type($type) . '<br \>'; |
|---|
| | 131 | } |
|---|
| | 132 | |
|---|
| 124 | 133 | $tpl->assign( |
|---|
| 125 | 134 | array('MAIL_ACC' => $mail_acc . "@" . $show_dmn_name, |
|---|
| 126 | | 'MAIL_TYPE' => user_trans_mail_type($rs->fields['mail_type']), |
|---|
| | 135 | 'MAIL_TYPE' => $mail_type, |
|---|
| 127 | 136 | 'MAIL_STATUS' => translate_dmn_status($rs->fields['status']), |
|---|
| 128 | 137 | 'MAIL_ACTION' => $mail_action, |
|---|
| 129 | 138 | 'MAIL_ACTION_SCRIPT' => $mail_action_script, |
| … | … | |
| 165 | 174 | AND |
|---|
| 166 | 175 | t2.domain_id = ? |
|---|
| 167 | 176 | AND |
|---|
| 168 | | (t2.mail_type = 'subdom_mail' OR t2.mail_type = 'subdom_forward') |
|---|
| | 177 | (t2.mail_type LIKE '%subdom_mail%' OR t2.mail_type LIKE '%subdom_forward%') |
|---|
| 169 | 178 | AND |
|---|
| 170 | 179 | t1.subdomain_id = t2.sub_id |
|---|
| 171 | 180 | ORDER BY |
|---|
| 172 | | t2.mail_type DESC, |
|---|
| 173 | | t2.mail_acc ASC |
|---|
| | 181 | t2.mail_acc ASC, |
|---|
| | 182 | t2.mail_type DESC |
|---|
| 174 | 183 | SQL_QUERY; |
|---|
| 175 | 184 | |
|---|
| 176 | 185 | $rs = exec_query($sql, $sub_query, array($dmn_id, $dmn_id)); |
| … | … | |
| 194 | 203 | |
|---|
| 195 | 204 | $show_dmn_name = decode_idna($dmn_name); |
|---|
| 196 | 205 | |
|---|
| | 206 | $mail_types = explode(',', $rs->fields['mail_type']); |
|---|
| | 207 | |
|---|
| | 208 | $mail_type = ''; |
|---|
| | 209 | |
|---|
| | 210 | foreach ($mail_types as $type) { |
|---|
| | 211 | $mail_type .= user_trans_mail_type($type) . '<br \>'; |
|---|
| | 212 | } |
|---|
| | 213 | |
|---|
| 197 | 214 | $tpl->assign( |
|---|
| 198 | 215 | array('MAIL_ACC' => $mail_acc . "@" . $show_sub_name . "." . $show_dmn_name, |
|---|
| 199 | | 'MAIL_TYPE' => user_trans_mail_type($rs->fields['mail_type']), |
|---|
| | 216 | 'MAIL_TYPE' => $mail_type, |
|---|
| 200 | 217 | 'MAIL_STATUS' => translate_dmn_status($rs->fields['status']), |
|---|
| 201 | 218 | 'MAIL_ACTION' => $mail_action, |
|---|
| 202 | 219 | 'MAIL_ACTION_SCRIPT' => $mail_action_script, |
| … | … | |
| 240 | 257 | AND |
|---|
| 241 | 258 | t1.alias_id = t2.sub_id |
|---|
| 242 | 259 | AND |
|---|
| 243 | | (t2.mail_type = 'alias_mail' OR t2.mail_type = 'alias_forward') |
|---|
| | 260 | (t2.mail_type LIKE '%alias_mail%' OR t2.mail_type LIKE '%alias_forward%') |
|---|
| 244 | 261 | ORDER BY |
|---|
| 245 | | t2.mail_type DESC, |
|---|
| 246 | | t2.mail_acc ASC |
|---|
| | 262 | t2.mail_acc ASC, |
|---|
| | 263 | t2.mail_type DESC |
|---|
| 247 | 264 | SQL_QUERY; |
|---|
| 248 | 265 | |
|---|
| 249 | 266 | $rs = exec_query($sql, $als_query, array($dmn_id, $dmn_id)); |
| … | … | |
| 266 | 283 | |
|---|
| 267 | 284 | $show_als_name = decode_idna($rs->fields['als_name']); |
|---|
| 268 | 285 | |
|---|
| | 286 | $mail_types = explode(',', $rs->fields['mail_type']); |
|---|
| | 287 | |
|---|
| | 288 | $mail_type = ''; |
|---|
| | 289 | |
|---|
| | 290 | foreach ($mail_types as $type) { |
|---|
| | 291 | $mail_type .= user_trans_mail_type($type) . '<br \>'; |
|---|
| | 292 | } |
|---|
| | 293 | |
|---|
| 269 | 294 | $tpl->assign( |
|---|
| 270 | 295 | array('MAIL_ACC' => $mail_acc . "@" . $show_als_name, |
|---|
| 271 | | 'MAIL_TYPE' => user_trans_mail_type($rs->fields['mail_type']), |
|---|
| | 296 | 'MAIL_TYPE' => $mail_type, |
|---|
| 272 | 297 | 'MAIL_STATUS' => translate_dmn_status($rs->fields['status']), |
|---|
| 273 | 298 | 'MAIL_ACTION' => $mail_action, |
|---|
| 274 | 299 | 'MAIL_ACTION_SCRIPT' => $mail_action_script, |
-
gui/client/enable_mail_arsp.php
| old |
new |
|
| 77 | 77 | mail_users |
|---|
| 78 | 78 | set |
|---|
| 79 | 79 | status = ?, |
|---|
| 80 | | mail_auto_respond = ? |
|---|
| | 80 | mail_auto_respond = '1', |
|---|
| | 81 | mail_auto_respond_text = ? |
|---|
| 81 | 82 | where |
|---|
| 82 | 83 | mail_id = ? |
|---|
| 83 | 84 | SQL_QUERY; |
| … | … | |
| 106 | 107 | header("Location: email_accounts.php"); |
|---|
| 107 | 108 | exit(0); |
|---|
| 108 | 109 | } else { |
|---|
| 109 | | $tpl->assign('ARSP_MESSAGE', ''); |
|---|
| | 110 | // Get Message |
|---|
| | 111 | $query = <<<SQL_QUERY |
|---|
| | 112 | SELECT |
|---|
| | 113 | mail_auto_respond_text, mail_acc |
|---|
| | 114 | FROM |
|---|
| | 115 | mail_users |
|---|
| | 116 | WHERE |
|---|
| | 117 | mail_id = ? |
|---|
| | 118 | SQL_QUERY; |
|---|
| | 119 | $rs = exec_query($sql, $query, array($mail_id)); |
|---|
| | 120 | $mail_name = $rs->fields['mail_acc']; |
|---|
| | 121 | |
|---|
| | 122 | $tpl->assign('ARSP_MESSAGE', $rs->fields['mail_auto_respond_text']); |
|---|
| | 123 | return; |
|---|
| 110 | 124 | } |
|---|
| 111 | 125 | } |
|---|
| 112 | 126 | |
|