/** * Logs in user on Adobe Connect server. This is done by redirection to the cave server. * @ilObjUser $ilUser * @param $user * @return String Session id */ public function externalLogin() { /* * @var $ilUser ilObjUser */ global $ilUser; //ilObjAdobveConnect::DoRead calls getBreezeSession. Only login if the user has a AAI-Account! if (!ilAdobeConnectServer::useSwitchaaiAuthMode($ilUser->getAuthMode(true))) { return false; } self::$breeze_session = null; //if there is already a session don't create a new session if ($_SESSION['breezesession']) { self::$breeze_session = $_SESSION['breezesession']; return $_SESSION['breezesession']; } //SWITCH aai user logins if (!$_GET['breezesession']) { //header() redirects do NOT necessarily stop the script, so we put an exit after it header('Location: ' . ilAdobeConnectServer::getSetting('cave') . '?back=https://' . $_SERVER['HTTP_HOST'] . urlencode($_SERVER['REQUEST_URI']) . '&request_session=true'); exit; } self::$breeze_session = $_GET['breezesession']; //cache the Session in a cookie $_SESSION['breezesession'] = $_GET['breezesession']; self::$loginsession_cache[$_SESSION['breezesession']] = true; return $_SESSION['breezesession']; }