index.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
  3. if (isset($_SESSION['mailcow_cc_role']) && isset($_SESSION['oauth2_request'])) {
  4. $oauth2_request = $_SESSION['oauth2_request'];
  5. unset($_SESSION['oauth2_request']);
  6. header('Location: ' . $oauth2_request);
  7. exit();
  8. }
  9. elseif (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == 'admin') {
  10. header('Location: /debug');
  11. exit();
  12. }
  13. elseif (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == 'domainadmin') {
  14. header('Location: /mailbox');
  15. exit();
  16. }
  17. elseif (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == 'user') {
  18. $user_details = mailbox("get", "mailbox_details", $_SESSION['mailcow_cc_username']);
  19. $is_dual = (!empty($_SESSION["dual-login"]["username"])) ? true : false;
  20. if (intval($user_details['attributes']['sogo_access']) == 1 && !$is_dual) {
  21. header("Location: /SOGo/so/{$_SESSION['mailcow_cc_username']}");
  22. } else {
  23. header("Location: /user");
  24. }
  25. exit();
  26. }
  27. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php';
  28. $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
  29. $_SESSION['index_query_string'] = $_SERVER['QUERY_STRING'];
  30. $has_iam_sso = false;
  31. if ($iam_provider){
  32. $has_iam_sso = identity_provider("get-redirect") ? true : false;
  33. }
  34. $template = 'index.twig';
  35. $template_data = [
  36. 'oauth2_request' => @$_SESSION['oauth2_request'],
  37. 'is_mobileconfig' => str_contains($_SESSION['index_query_string'], 'mobileconfig'),
  38. 'login_delay' => @$_SESSION['ldelay'],
  39. 'has_iam_sso' => $has_iam_sso
  40. ];
  41. $js_minifier->add('/web/js/site/index.js');
  42. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php';