mailbox.php 1.5 KB

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