mailbox.php 1.5 KB

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