flDestPage = F::get("d", $this->getMainUrl()); authz::manager()->checkSession($flcUsername, $flcAuthType); if ($flcAuthType === "cas" && F::get("a")) { # autologin $casauthUrl = config::k("url")."/".$this->getCasauthUrl(); page::redirect(page::bu($this->getCasLoginUrl(), [ "service" => page::bu($casauthUrl, [ "r" => $this->getLoginUrl(), "d" => $this->flDestPage, ]) ])); } $this->flcAuthType = $flcAuthType; } function afterConfig(): void { $this->TLoginPage_afterConfig(); parent::afterConfig(); } private $flDestPage = null; private $flcAuthType = null; function print(): void { page::no_cache(); ly::row(); $this->printTitle(); ly::col(["sm" => 6, "sm-push" => 3]); $status = authz::get_status(); switch ($status) { case authz::DISCONNECTED: msg::warning("Vous avez été déconnecté. Veuillez vous reconnecter"); break; case authz::UNAUTHORIZED: msg::error(["user" => [ "Connecté en tant que ", v::b(authz::get_auth()), ", vous n'êtes pas autorisé à accéder à la page que vous avez demandé.", ]]); break; } ly::panel("Connexion par CAS"); if ($this->isDevauthAllowed()) { fo::start([ "type" => "basic", "action" => $this->getCasauthUrl(), "method" => "get", ]); fo::hidden("r", $this->getLoginUrl()); fo::hidden("d", $this->flDestPage); } else { fo::start([ "type" => "basic", "action" => $this->getCasLoginUrl(), "method" => "get", ]); $casauthUrl = config::k("url")."/".$this->getCasauthUrl(); fo::hidden("service", page::bu($casauthUrl, [ "r" => $this->getLoginUrl(), "d" => $this->flDestPage, ])); } #fo::p("Si vous avez un compte à l'université, vous pouvez vous connecter via CAS"); vo::p("Si vous avez un compte à l'université, vous pouvez vous connecter via CAS"); if (authz::is_auth()) { if ($status != authz::UNAUTHORIZED) { msg::warning(["user" => [ "Connecté en tant que ", v::b(authz::get_auth()), ", vous n'êtes pas autorisé à accéder à cette application.", ]]); } fo::submit([ icon::logout("Vous déconnecter"), "formaction" => $this->getLogoutUrl(), "accesskey" => "z", ]); fo::hidden("renew", "true"); fo::submit([ icon::login("Changer de compte"), "accesskey" => "r", ]); } else { fo::submit(["Connexion par CAS", "accesskey" => "r"]); } fo::end(); ly::end(); } }