function startSession()
 {
     $sessionIdCookie = isset($_COOKIE['PHPSESSID']) ? $_COOKIE['PHPSESSID'] : null;
     if (isset($_REQUEST['MSID'])) {
         session_id($_REQUEST['MSID']);
         session_start();
         if (isset($_SESSION['user_id']) && isset($_SESSION['seamless_login'])) {
             unset($_SESSION['seamless_login']);
         } else {
             if (isset($_COOKIE['PHPSESSID'])) {
                 self::setCookie('PHPSESSID', '', time() - 42000, '/');
             }
             sugar_cleanup(false);
             session_destroy();
             exit('Not a valid entry method');
         }
     } else {
         if (can_start_session()) {
             session_start();
         }
     }
     if (isset($_REQUEST['login_module']) && isset($_REQUEST['login_action']) && !($_REQUEST['login_module'] == 'Home' && $_REQUEST['login_action'] == 'index')) {
         if (!is_null($sessionIdCookie) && empty($_SESSION)) {
             self::setCookie('loginErrorMessage', 'LBL_SESSION_EXPIRED', time() + 30, '/');
         }
     }
     self::trackLogin();
     LogicHook::initialize()->call_custom_logic('', 'after_session_start');
 }
Example #2
0
 function startSession()
 {
     $sessionIdCookie = isset($_COOKIE['PHPSESSID']) ? $_COOKIE['PHPSESSID'] : null;
     if (isset($_REQUEST['MSID'])) {
         session_id($_REQUEST['MSID']);
         session_start();
         if (!isset($_SESSION['user_id'])) {
             if (isset($_COOKIE['PHPSESSID'])) {
                 self::setCookie('PHPSESSID', '', time() - 42000, '/');
             }
             sugar_cleanup(false);
             session_destroy();
             exit('Not a valid entry method');
         }
     } else {
         if (can_start_session()) {
             session_start();
         }
     }
     //set the default module to either Home or specified default
     $default_module = !empty($GLOBALS['sugar_config']['default_module']) ? $GLOBALS['sugar_config']['default_module'] : 'Home';
     //set session expired message if login module and action are set to a non login default
     //AND session id in cookie is set but super global session array is empty
     if (isset($_REQUEST['login_module']) && isset($_REQUEST['login_action']) && !($_REQUEST['login_module'] == $default_module && $_REQUEST['login_action'] == 'index')) {
         if (!is_null($sessionIdCookie) && empty($_SESSION)) {
             self::setCookie('loginErrorMessage', 'LBL_SESSION_EXPIRED', time() + 30, '/');
         }
     }
     LogicHook::initialize()->call_custom_logic('', 'after_session_start');
 }
 function startSession()
 {
     if (isset($_REQUEST['MSID'])) {
         session_id($_REQUEST['MSID']);
         session_start();
         if (isset($_SESSION['user_id']) && isset($_SESSION['seamless_login'])) {
             unset($_SESSION['seamless_login']);
         } else {
             if (isset($_COOKIE['PHPSESSID'])) {
                 setcookie('PHPSESSID', '', time() - 42000, '/');
             }
             sugar_cleanup(false);
             session_destroy();
             exit('Not a valid entry method');
         }
     } else {
         if (can_start_session()) {
             session_start();
         }
     }
 }