mailbox.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
  3. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/triggers.admin.inc.php';
  4. if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == 'domainadmin') {
  5. header('Location: /domainadmin/mailbox');
  6. exit();
  7. }
  8. elseif (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == 'user') {
  9. header('Location: /user');
  10. exit();
  11. }
  12. elseif (!isset($_SESSION['mailcow_cc_role']) || $_SESSION['mailcow_cc_role'] != "admin") {
  13. header('Location: /admin');
  14. exit();
  15. }
  16. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php';
  17. $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
  18. $js_minifier->add('/web/js/site/mailbox.js');
  19. $js_minifier->add('/web/js/presets/sieveMailbox.js');
  20. $js_minifier->add('/web/js/site/pwgen.js');
  21. $role = "admin";
  22. $is_dual = (!empty($_SESSION["dual-login"]["username"])) ? 'true' : 'false';
  23. $allow_admin_email_login = (preg_match("/^([yY][eE][sS]|[yY])+$/", $_ENV["ALLOW_ADMIN_EMAIL_LOGIN"])) ? 'true' : 'false';
  24. // domains
  25. $domains = mailbox('get', 'domains');
  26. // mailboxes
  27. $mailboxes = [];
  28. foreach ($domains as $domain) {
  29. foreach (mailbox('get', 'mailboxes', $domain) as $mailbox) {
  30. $mailboxes[] = $mailbox;
  31. }
  32. }
  33. $template = 'mailbox.twig';
  34. $template_data = [
  35. 'acl' => $_SESSION['acl'],
  36. 'acl_json' => json_encode($_SESSION['acl']),
  37. 'role' => $role,
  38. 'is_dual' => $is_dual,
  39. 'allow_admin_email_login' => $allow_admin_email_login,
  40. 'global_filters' => mailbox('get', 'global_filter_details'),
  41. 'domains' => $domains,
  42. 'mailboxes' => $mailboxes,
  43. 'lang_mailbox' => json_encode($lang['mailbox']),
  44. 'lang_rl' => json_encode($lang['ratelimit']),
  45. 'lang_edit' => json_encode($lang['edit']),
  46. 'lang_datatables' => json_encode($lang['datatables']),
  47. ];
  48. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php';