index.php 1.9 KB

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