current_auth_mode == "sso" and $session_gepi->auth_sso == "cas") { $session_gepi->close(0); $session_gepi->logout_cas(); // On efface le dossier temporaire if ($temp_perso){ foreach (glob($temp_perso."/*") as $filename) { if (is_file($filename) && (!strstr($filename, 'index.html'))) { @unlink ($filename); // 'signature' est un dossier et actuellement on ne supprime pas les dossiers au logout. // De la même façon, le dossier contenant les PDF d'archivage de bulletins n'est pas supprimé automatiquement. // Il faut passer par la Gestion des dossiers temporaires } } unset ($filename); } die(); } if (getSettingValue('gepiEnableIdpSaml20') == 'yes' && (!isset($_REQUEST['idploggedout']))) { include_once(dirname(__FILE__).'/lib/simplesaml/lib/_autoload.php'); $auth = new SimpleSAML_Auth_GepiSimple(); if ($auth->isAuthenticated()) { //on fait le logout de session avec simplesaml en tant que fournisseur d'identité. Ça va déconnecter uniqement les services associés. //Si gepi n'est pas connecté en local, il faut revenir à la page de logout et passer à la déconnexion de gepi $logout_return_url = $_SERVER['REQUEST_URI']; if (strpos($logout_return_url, '?')) { $logout_return_url .= '&'; } else { $logout_return_url .= '?'; } $logout_return_url .= 'idploggedout=done'; header("Location:./lib/simplesaml/www/saml2/idp/SingleLogoutService.php?ReturnTo=".urlencode($logout_return_url)); exit(); } } //print_r($session_gepi);die; //$message = "

Déconnexion

"; $titre= "Déconnexion"; $message = ""; if (!isset($_GET['auto']) || !$_GET['auto']) { $session_gepi->close(0); $message .= "Vous avez fermé votre session GEPI."; //$message .= "Ouvrir une nouvelle session."; } else if ($_GET['auto']==2) { $session_gepi->close($_GET['auto']); $message .= "Vous avez été déconnecté. Il peut s'agir d'une mauvaise configuration de la variable \$GepiPath dans le fichier \"connect.inc.php\"
Aide à la configuration de \$GepiPath"; //$message .= "Ouvrir une nouvelle session."; } else if ($_GET['auto']==3) { $date_fermeture = date("d\/m\/Y\ \à\ H\ \h\ i"); $debut_session = urldecode($_GET['debut_session']); $sql = "select now() > END TIMEOUT from log where SESSION_ID = '" . $_GET['session_id'] . "' and START = '" . $debut_session . "'"; if (sql_query1($sql)) { // Le temps d'inactivité est dépassé $session_gepi->close($_GET['auto']); $message .= "Votre session GEPI a expiré car le temps maximum (".getSettingValue("sessionMaxLength")." minutes) sans échange avec le serveur a été atteint.

Date et heure de la déconnexion : ".$date_fermeture.""; //$message .= "Ouvrir une nouvelle session."; } else { $message .= "

Fermeture d'une fenêtre GEPI

"; $titre= "Fermeture d'une fenêtre GEPI"; /* $message .= "A l'heure ci-dessous, une fenêtre GEPI s'est automatiquement fermée par mesure de sécurité car le temps maximum d'inactivité (".getSettingValue("sessionMaxLength")." minutes) avait été atteint.

Heure et date de fermeture de la fenêtre : ".$date_fermeture; */ $message .= "A l'heure ci-dessous, une fenêtre GEPI s'est automatiquement fermée par mesure de sécurité. Le temps maximum de ".getSettingValue("sessionMaxLength")." minutes sans échange avec le serveur a sans doute été atteint.

Heure et date de fermeture de la fenêtre : ".$date_fermeture; //$message .= "Ouvrir une nouvelle session."; } } else { $session_gepi->close($_GET['auto']); $message .= "Votre session GEPI a expiré, ou bien vous avez été déconnecté.
"; if ((getSettingValue("disable_login"))=='yes') { $message .= "
Le site est momentanément inaccessible. Veuillez nous excuser de ce dérangement !"; } //$message .= "Ouvrir une nouvelle session."; } if(getSettingValue('temporary_dir_no_cleaning')!='yes') { // On efface le dossier temporaire if ($temp_perso) { foreach (glob($temp_perso."/*") as $filename) { if (is_file($filename) && (!strstr($filename, 'index.html'))) { // 'signature' est un dossier et actuellement on ne supprime pas les dossiers au logout. // De la même façon, le dossier contenant les PDF d'archivage de bulletins n'est pas supprimé automatiquement. // Il faut passer par la Gestion des dossiers temporaires @unlink ($filename); } } unset ($filename); } } // Ajout pour le multisite unset($_COOKIE['RNE']); setcookie('RNE', 'unset', null, '/'); // permet d'effacer le contenu du cookie. include('./templates/origine/logout_template.php'); ?>