security_check();
if ($resultat_session == 'c') {
header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes");
die();
} else if ($resultat_session == '0') {
header("Location: ../logout.php?auto=1");
die();
}
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
$msg="";
//debug_var();
// Mettre administrateur, c'est risquer de bloquer l'admin.
//$tab_statuts_MailValideRequis=array("Administrateur", "Scolarite", "Cpe", "Professeur", "Secours", "Eleve", "Responsable");
$tab_statuts_MailValideRequis=array("Scolarite", "Cpe", "Professeur", "Secours", "Eleve", "Responsable");
// Enregistrement de la durée de conservation des données
if (isset($_POST['duree'])) {
check_token();
if (!saveSetting(("duree_conservation_logs"), $_POST['duree'])) {
$msg.= "Erreur lors de l'enregistrement de la durée de conservation des connexions !
";
} else {
$msg.= "La durée de conservation des connexions a été enregistrée.
Le changement sera pris en compte après la prochaine connexion à GEPI.
";
}
}
if(isset($_POST['afficher_liaison_ent'])) {
check_token();
saveSetting('afficher_liaison_ent', $_POST['afficher_liaison_ent']);
if($_POST['afficher_liaison_ent']=="") {
saveSetting('use_ent', "n");
}
else {
saveSetting('use_ent', "y");
}
}
$afficher_liaison_ent=getSettingValue('afficher_liaison_ent');
if($afficher_liaison_ent=="") {
saveSetting('use_ent', "n");
}
if (isset($_POST['auth_options_posted']) && $_POST['auth_options_posted'] == "1") {
check_token();
if (isset($_POST['auth_sso'])) {
if (!in_array($_POST['auth_sso'], array("none","lemon","cas","lcs"))) {
$_POST['auth_sso'] = "none";
}
saveSetting("auth_sso", $_POST['auth_sso']);
}
if (isset($_POST['sso_cas_table'])) {
if ($_POST['sso_cas_table'] != "yes") {
$_POST['sso_cas_table'] = "no";
}
} else {
$_POST['sso_cas_table'] = "no";
}
saveSetting("sso_cas_table", $_POST['sso_cas_table']);
if (isset($_POST['auth_locale'])) {
if ($_POST['auth_locale'] != "yes") {
$_POST['auth_locale'] = "no";
}
} else {
$_POST['auth_locale'] = "no";
}
saveSetting("auth_locale", $_POST['auth_locale']);
if (isset($_POST['auth_ldap'])) {
if ($_POST['auth_ldap'] != "yes") {
$_POST['auth_ldap'] = "no";
}
} else {
$_POST['auth_ldap'] = "no";
}
saveSetting("auth_ldap", $_POST['auth_ldap']);
if (isset($_POST['auth_simpleSAML'])) {
if ($_POST['auth_simpleSAML'] != "yes") {
$_POST['auth_simpleSAML'] = "no";
}
} else {
$_POST['auth_simpleSAML'] = "no";
}
saveSetting("auth_simpleSAML", $_POST['auth_simpleSAML']);
if (isset($_POST['auth_simpleSAML_source'])) {
saveSetting("auth_simpleSAML_source", $_POST['auth_simpleSAML_source']);
}
if (isset($_POST['ldap_write_access'])) {
if ($_POST['ldap_write_access'] != "yes") {
$_POST['ldap_write_access'] = "no";
}
} else {
$_POST['ldap_write_access'] = "no";
}
saveSetting("ldap_write_access", $_POST['ldap_write_access']);
if (isset($_POST['sso_display_portail'])) {
if ($_POST['sso_display_portail'] != "yes") {
$_POST['sso_display_portail'] = "no";
}
} else {
$_POST['sso_display_portail'] = "no";
}
saveSetting("sso_display_portail", $_POST['sso_display_portail']);
if (isset($_POST['sso_hide_logout'])) {
if ($_POST['sso_hide_logout'] != "yes") {
$_POST['sso_hide_logout'] = "no";
}
} else {
$_POST['sso_hide_logout'] = "no";
}
saveSetting("sso_hide_logout", $_POST['sso_hide_logout']);
if (isset($_POST['sso_url_portail'])) {
saveSetting("sso_url_portail", $_POST['sso_url_portail']);
}
if (isset($_POST['may_import_user_profile'])) {
if ($_POST['may_import_user_profile'] != "yes") {
$_POST['may_import_user_profile'] = "no";
}
} else {
$_POST['may_import_user_profile'] = "no";
}
saveSetting("may_import_user_profile", $_POST['may_import_user_profile']);
if (isset($_POST['setNoCasServerValidation'])) {
saveSetting("setNoCasServerValidation", "yes");
} else {
saveSetting("setNoCasServerValidation", "no");
}
if (isset($_POST['sso_scribe'])) {
if ($_POST['sso_scribe'] != "yes") {
$_POST['sso_scribe'] = "no";
}
} else {
$_POST['sso_scribe'] = "no";
}
saveSetting("sso_scribe", $_POST['sso_scribe']);
if (isset($_POST['gepiEnableIdpSaml20'])) {
if ($_POST['gepiEnableIdpSaml20'] != "yes") {
$_POST['gepiEnableIdpSaml20'] = "no";
}
} else {
$_POST['gepiEnableIdpSaml20'] = "no";
}
saveSetting("gepiEnableIdpSaml20", $_POST['gepiEnableIdpSaml20']);
if (isset($_POST['sacocheUrl'])) {
$sacocheUrl = $_POST['sacocheUrl'];
if (mb_substr($sacocheUrl,mb_strlen($sacocheUrl)-1,1) == '/') {$sacocheUrl = substr($sacocheUrl,0, mb_strlen($sacocheUrl)-1);} //on enleve le / a la fin
saveSetting("sacocheUrl", $_POST['sacocheUrl']);
}
if (isset($_POST['sacoche_base'])) {
saveSetting("sacoche_base", $_POST['sacoche_base']);
}
if (isset($_POST['statut_utilisateur_defaut'])) {
if (!in_array($_POST['statut_utilisateur_defaut'], array("professeur","responsable","eleve"))) {
$_POST['statut_utilisateur_defaut'] = "professeur";
}
saveSetting("statut_utilisateur_defaut", $_POST['statut_utilisateur_defaut']);
}
if (isset($_POST['login_sso_url'])) {
saveSetting("login_sso_url", $_POST['login_sso_url']);
}
if (isset($_POST['cas_attribut_prenom'])) {
saveSetting("cas_attribut_prenom", $_POST['cas_attribut_prenom']);
}
if (isset($_POST['cas_attribut_nom'])) {
saveSetting("cas_attribut_nom", $_POST['cas_attribut_nom']);
}
if (isset($_POST['cas_attribut_email'])) {
saveSetting("cas_attribut_email", $_POST['cas_attribut_email']);
}
// 20140301
if (isset($_POST['auth_sso_ne_pas_vider_MDP_gepi'])) {
$auth_sso_ne_pas_vider_MDP_gepi="y";
} else {
$auth_sso_ne_pas_vider_MDP_gepi="n";
}
saveSetting("auth_sso_ne_pas_vider_MDP_gepi", $auth_sso_ne_pas_vider_MDP_gepi);
if (isset($_POST['autoriser_sso_password_auth'])) {
$autoriser_sso_password_auth="y";
} else {
$autoriser_sso_password_auth="n";
}
saveSetting("autoriser_sso_password_auth", $autoriser_sso_password_auth);
saveSetting("auth_sso_secours_msg", $_POST['auth_sso_secours_msg']);
}
if (isset($_POST['valid_choix_saisie_mail'])) {
check_token();
for($i=0;$i
";
} else {
$msg.= "Il y a eu un problème lors de la suppression des entrées dans le journal de connexion.
";
}
}
if ((isset($_POST['clean_log_old']))&&(isset($_POST['date_limite']))) {
check_token();
$tmp_tab=explode("/",$_POST['date_limite']);
if(isset($tmp_tab[2])) {
if(checkdate($tmp_tab[1],$tmp_tab[0],$tmp_tab[2])) {
$sql = "delete from log where END < '".$tmp_tab[2]."-".$tmp_tab[1]."-".$tmp_tab[0]." 00:00:00';";
//echo "$sql
";
$res = sql_query($sql);
if ($res) {
$msg.= "La suppression des entrées antérieures au ".$_POST['date_limite']." dans le journal de connexion a été effectuée.
";
} else {
$msg.= "Il y a eu un problème lors de la suppression des entrées antérieures au ".$_POST['date_limite']." dans le journal de connexion.
";
}
}
else {
$msg.="Date ".$_POST['date_limite']." invalide.
";
}
}
else {
$msg.="Date ".$_POST['date_limite']." mal formatée.
";
}
}
// Changement de mot de passe obligatoire
if (isset($_POST['valid_chgt_mdp'])) {
check_token();
if ((!$session_gepi->auth_ldap && !$session_gepi->auth_sso) || getSettingValue("ldap_write_access")) {
$sql = "UPDATE utilisateurs SET change_mdp='y' where login != '".$_SESSION['login']."'";
} else {
$sql = "UPDATE utilisateurs SET change_mdp='y' WHERE (login != '".$_SESSION['login']."' AND auth_mode != 'ldap' AND auth_mode != 'sso')";
}
$res = sql_query($sql);
if ($res) {
$msg.= "La demande de changement obligatoire de mot de passe a été enregistrée.
";
} else {
$msg.= "Il y a eu un problème lors de l'enregistrement de la demande de changement obligatoire de mot de passe.
";
}
}
//Activation / désactivation de la procédure de réinitialisation du mot de passe par email
if (isset($_POST['enable_password_recovery'])) {
check_token();
if (!saveSetting("enable_password_recovery", $_POST['enable_password_recovery'])) {
$msg.= "Il y a eu un problème lors de l'enregistrement du paramètre d'activation/désactivation de la procédure de récupération automatisée des mots de passe.
";
} else {
$msg.= "L'enregistrement du paramètre d'activation/désactivation de la procédure de récupération automatisée des mots de passe a été effectué avec succès.
";
}
}
if (isset($_POST['GepiResp_obtenir_compte_et_motdepasse'])) {
check_token();
if (!saveSetting("GepiResp_obtenir_compte_et_motdepasse", $_POST['GepiResp_obtenir_compte_et_motdepasse'])) {
$msg.= "Il y a eu un problème lors de l'enregistrement du paramètre d'activation/désactivation de la procédure de demande de compte/mot de passe.
";
} else {
$msg.= "L'enregistrement du paramètre d'activation/désactivation de la procédure de demande de compte/mot de passe a été effectué avec succès.
";
}
$nb_mode_information=0;
if (isset($_POST['SendMail_obtenir_compte_et_motdepasse'])) {
if (!saveSetting("SendMail_obtenir_compte_et_motdepasse", "yes")) {
$msg.= "Il y a eu un problème lors de l'enregistrement du paramètre d'envoi de mail dans la procédure de demande de compte/mot de passe.
";
} else {
$msg.= "L'enregistrement du paramètre d'envoi de mail dans la procédure de demande de compte/mot de passe a été effectué avec succès.
";
$nb_mode_information++;
}
}
else {
if (!saveSetting("SendMail_obtenir_compte_et_motdepasse", "no")) {
$msg.= "Il y a eu un problème lors de l'enregistrement du paramètre de non-envoi de mail dans la procédure de demande de compte/mot de passe.
";
} else {
$msg.= "L'enregistrement du paramètre de non-envoi de mail dans la procédure de demande de compte/mot de passe a été effectué avec succès.
";
}
}
if (isset($_POST['DestMail_obtenir_compte_et_motdepasse'])) {
if (!saveSetting("DestMail_obtenir_compte_et_motdepasse", $_POST['DestMail_obtenir_compte_et_motdepasse'])) {
$msg.= "Il y a eu un problème lors de l'enregistrement du paramètre destinataire du mail dans la procédure de demande de compte/mot de passe.
";
} else {
$msg.= "L'enregistrement du paramètre destinataire du dans la procédure de demande de compte/mot de passe a été effectué avec succès.
";
}
}
if (isset($_POST['RegBaseAdm_obtenir_compte_et_motdepasse'])) {
$RegBaseAdm_obtenir_compte_et_motdepasse="yes";
$nb_mode_information++;
}
else {
$RegBaseAdm_obtenir_compte_et_motdepasse="no";
}
if (!saveSetting("RegBaseAdm_obtenir_compte_et_motdepasse", $RegBaseAdm_obtenir_compte_et_motdepasse)) {
$msg.= "Il y a eu un problème lors de l'enregistrement du paramètre RegBaseAdm_obtenir_compte_et_motdepasse.
";
} else {
$msg.= "L'enregistrement du paramètre RegBaseAdm_obtenir_compte_et_motdepasse a été effectué avec succès.
";
}
if (isset($_POST['RegBaseScol_obtenir_compte_et_motdepasse'])) {
$RegBaseScol_obtenir_compte_et_motdepasse="yes";
$nb_mode_information++;
}
else {
$RegBaseScol_obtenir_compte_et_motdepasse="no";
}
if (!saveSetting("RegBaseScol_obtenir_compte_et_motdepasse", $RegBaseScol_obtenir_compte_et_motdepasse)) {
$msg.= "Il y a eu un problème lors de l'enregistrement du paramètre RegBaseScol_obtenir_compte_et_motdepasse.
";
} else {
$msg.= "L'enregistrement du paramètre RegBaseScol_obtenir_compte_et_motdepasse a été effectué avec succès.
";
}
if (isset($_POST['RegBaseCpe_obtenir_compte_et_motdepasse'])) {
$RegBaseCpe_obtenir_compte_et_motdepasse="yes";
$nb_mode_information++;
}
else {
$RegBaseCpe_obtenir_compte_et_motdepasse="no";
}
if (!saveSetting("RegBaseCpe_obtenir_compte_et_motdepasse", $RegBaseCpe_obtenir_compte_et_motdepasse)) {
$msg.= "Il y a eu un problème lors de l'enregistrement du paramètre RegBaseCpe_obtenir_compte_et_motdepasse.
";
} else {
$msg.= "L'enregistrement du paramètre RegBaseCpe_obtenir_compte_et_motdepasse a été effectué avec succès.
";
}
if (isset($_POST['Imprimer_obtenir_compte_et_motdepasse'])) {
if (!saveSetting("Imprimer_obtenir_compte_et_motdepasse", "yes")) {
$msg.= "Il y a eu un problème lors de l'enregistrement du paramètre d'affichage de message à imprimer dans la procédure de demande de compte/mot de passe.
";
} else {
$msg.= "L'enregistrement du paramètre d'affichage de message à imprimer dans la procédure de demande de compte/mot de passe a été effectué avec succès.
";
$nb_mode_information++;
}
}
else {
if (!saveSetting("Imprimer_obtenir_compte_et_motdepasse", "no")) {
$msg.= "Il y a eu un problème lors de l'enregistrement du paramètre d'affichage de message à imprimer dans la procédure de demande de compte/mot de passe.
";
} else {
$msg.= "L'enregistrement du paramètre d'affichage de message à imprimer dans la procédure de demande de compte/mot de passe a été effectué avec succès.
";
}
}
if($nb_mode_information==0) {
$msg.="Aucun mode d'information n'a été choisi.
La procédure doit être désactivée.
";
if (!saveSetting("GepiResp_obtenir_compte_et_motdepasse", "no")) {
$msg.= "Il y a eu un problème lors de l'enregistrement du paramètre d'activation/désactivation de la procédure de demande de compte/mot de passe.
";
} else {
$msg.= "L'enregistrement du paramètre d'activation/désactivation de la procédure de demande de compte/mot de passe a été effectué avec succès.
";
}
}
}
$style_specifique[] = "lib/DHTMLcalendar/calendarstyle";
$javascript_specifique[] = "lib/DHTMLcalendar/calendar";
$javascript_specifique[] = "lib/DHTMLcalendar/lang/calendar-fr";
$javascript_specifique[] = "lib/DHTMLcalendar/calendar-setup";
// End standart header
//=====================================
$titre_page = "Options de connexion";
require_once("../lib/header.inc.php");
//=====================================
//debug_var();
isset($mode_navig);
$mode_navig = isset($_POST["mode_navig"]) ? $_POST["mode_navig"] : (isset($_GET["mode_navig"]) ? $_GET["mode_navig"] : NULL);
if ($mode_navig == 'accueil') {
$retour = "../accueil.php";
} else {
$retour = "index.php#options_connect";
}
echo "
Attention ! Ne modifiez ces paramètres que si vous savez vraiment ce que vous faites ! Si vous activez l'authentification SSO et que vous ne pouvez plus vous connecter à Gepi en administrateur, vous pouvez utiliser la variable \$block_sso dans le fichier /lib/global.inc pour désactiver le SSO et rebasculer en authentification locale. Il est donc vivement recommandé de créer un compte administrateur local (dont le login n'interfèrera pas avec un login SSO) avant d'activer le SSO.
\n"; echo "Gepi permet d'utiliser plusieurs modes d'authentification en parallèle. Les combinaisons les plus courantes seront une authentification locale avec une authentification LDAP, ou bien une authentification locale et une authentification unique (utilisant un serveur d'authentification distinct).
\n"; echo "Le mode d'authentification est explicitement spécifié pour chaque utilisateur dans la base de données de Gepi. Assurez-vous que le mode défini correspond effectivement au mode utilisé par l'utilisateur.
\n"; echo "Dans le cas d'une authentification externe (LDAP ou SSO), aucun mot de passe n'est stocké dans la base de données de Gepi.
\n"; echo "Si vous paramétrez un accès LDAP en écriture, les mots de passe des utilisateurs pourront être modifiés directement à travers Gepi, même pour les modes LDAP et SSO. L'administrateur pourra également éditer les données de base de l'utilisateur (nom, prénom, email). Lorsque vous activez l'accès LDAP en écriture, assurez-vous que le paramétrage sur le serveur LDAP permet à l'utilisateur de connexion LDAP de modifier les champs login, mot de passe, nom, prénom et email.
\n"; echo "Si vous utilisez CAS, vous devez entrer les informations de configuration du serveur CAS dans le fichier /secure/config_cas.inc.php (un modèle de configuration se trouve dans le fichier /secure/modeles/config_cas-modele.inc.php).
\n"; echo "Si vous utilisez l'authentification sur serveur LDAP, ou bien que vous activez l'accès LDAP en écriture, vous devez renseigner le fichier /secure/config_ldap.inc.php avec les informations nécessaires pour se connecter au serveur (un modèle se trouve dans /secure/modeles/config_ldap-modele.inc.php).
\n"; echo "Cette section concerne des dispositifs spécifiques à trois Espaces Numériques de Travail.
L'ENT Argos dans une mouture spécifique à l'académie de Bordeaux d'une part,
L'ENT NetCollege.
Et l'ENT LEA.
Conformément à la loi loi informatique et liberté 78-17 du 6 janvier 1978, la durée de conservation de ces données doit être déterminée et proportionnée aux finalités de leur traitement. Cependant par sécurité, il est conseillé de conserver une trace des connexions sur un laps de temps suffisamment long.
\n"; echo "\n"; // // Nettoyage du journal // ?>ATTENTION : En validant le bouton ci-dessous, toutes les entrées du journal de connexion (hormis les connexions en cours) seront supprimées.
\n"; echo "