index.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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_access']) == 1 && !$is_dual) {
  14. header("Location: /SOGo/so/{$_SESSION['mailcow_cc_username']}");
  15. } else {
  16. header("Location: /user");
  17. }
  18. exit();
  19. }
  20. elseif (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == 'admin') {
  21. header('Location: /admin/dashboard');
  22. exit();
  23. }
  24. elseif (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == 'domainadmin') {
  25. header('Location: /domainadmin/mailbox');
  26. exit();
  27. }
  28. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php';
  29. $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
  30. $_SESSION['index_query_string'] = $_SERVER['QUERY_STRING'];
  31. $has_iam_sso = false;
  32. if ($iam_provider){
  33. $has_iam_sso = identity_provider("get-redirect") ? true : false;
  34. }
  35. $template = 'user_index.twig';
  36. $template_data = [
  37. 'oauth2_request' => @$_SESSION['oauth2_request'],
  38. 'is_mobileconfig' => str_contains($_SESSION['index_query_string'], 'mobileconfig'),
  39. 'login_delay' => @$_SESSION['ldelay'],
  40. 'has_iam_sso' => $has_iam_sso
  41. ];
  42. $js_minifier->add('/web/js/site/index.js');
  43. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php';