login_redirection.class.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * When a user login, the function LoginRedirection::redirect is called.
  4. * When this function is called all user info has already been registered in $_user session variable
  5. * */
  6. Class LoginRedirection {
  7. //checks user status and redirect him through custom page if setting is enabled
  8. public static function redirect() {
  9. global $param;
  10. $param = isset($param) ? $param : '';
  11. $redirect_url = '';
  12. /*
  13. //If session request url is setted, we go there
  14. if (!empty($_SESSION['request_uri'])) {
  15. $req = $_SESSION['request_uri'];
  16. unset($_SESSION['request_uri']);
  17. header('location: '.$req);
  18. exit();
  19. }
  20. */
  21. if (api_is_student() && !api_get_setting('student_page_after_login') == '') {
  22. $redirect_url = html_entity_decode(api_get_setting('student_page_after_login'));
  23. if ($redirect_url[0] == "/") {
  24. $redirect_url = substr(api_get_path(WEB_PATH), 0, -1) . $redirect_url;
  25. }
  26. }
  27. if (api_is_teacher() && !api_get_setting('teacher_page_after_login') == '') {
  28. $redirect_url = html_entity_decode(api_get_setting('teacher_page_after_login'));
  29. if ($redirect_url[0] == "/") {
  30. $redirect_url = substr(api_get_path(WEB_PATH), 0, -1) . $redirect_url;
  31. }
  32. }
  33. if (api_is_drh() && !api_get_setting('drh_page_after_login') == '') {
  34. $redirect_url = html_entity_decode(api_get_setting('drh_page_after_login'));
  35. if ($redirect_url[0] == "/") {
  36. $redirect_url = substr(api_get_path(WEB_PATH), 0, -1) . $redirect_url;
  37. }
  38. }
  39. if (api_is_session_admin() && !api_get_setting('sessionadmin_page_after_login') == '') {
  40. $redirect_url = html_entity_decode(api_get_setting('sessionadmin_page_after_login'));
  41. if ($redirect_url[0] == "/") {
  42. $redirect_url = substr(api_get_path(WEB_PATH), 0, -1) . $redirect_url;
  43. }
  44. }
  45. if (!empty($redirect_url)) {
  46. header('Location: ' . $redirect_url . $param);
  47. exit();
  48. }
  49. // Custom pages
  50. if (CustomPages::enabled()) {
  51. CustomPages::display(CustomPages::INDEX_LOGGED);
  52. }
  53. header('location: ' . api_get_path(WEB_PATH) . api_get_setting('page_after_login') . $param);
  54. exit();
  55. }
  56. }