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(); } // Initialisation des variables $mode = isset($_POST["mode"]) ? $_POST["mode"] : (isset($_GET["mode"]) ? $_GET["mode"] : false); $action = isset($_POST["action"]) ? $_POST["action"] : (isset($_GET["action"]) ? $_GET["action"] : false); // Test SSO. Dans le cas d'un SSO, on laisse le mot de passevide. $test_sso = ((getSettingValue('use_sso') != "cas" and getSettingValue("use_sso") != "lemon" and (getSettingValue("use_sso") != "lcs") and getSettingValue("use_sso") != "ldap_scribe") OR $block_sso); $mdp_INE=isset($_POST["mdp_INE"]) ? $_POST["mdp_INE"] : (isset($_GET["mdp_INE"]) ? $_GET["mdp_INE"] : NULL); $msg = ''; // Si on est en traitement par lot, on sélectionne tout de suite la liste des utilisateurs impliqués $error = false; if ($mode == "classe") { $nb_comptes = 0; if ($_POST['classe'] == "all") { $quels_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT distinct(jec.login) login, u.auth_mode " . "FROM classes c, j_eleves_classes jec, utilisateurs u WHERE (" . "jec.id_classe = c.id and u.login = jec.login)"); if (!$quels_eleves) $msg .= mysqli_error($GLOBALS["mysqli"]); } elseif (is_numeric($_POST['classe'])) { $quels_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT distinct(jec.login), u.auth_mode " . "FROM classes c, j_eleves_classes jec, utilisateurs u WHERE (" . "jec.id_classe = '" . $_POST['classe']."' and u.login = jec.login)"); if (!$quels_eleves) $msg .= mysqli_error($GLOBALS["mysqli"]); } else { $error = true; $msg .= "Vous devez sélectionner au moins une classe !
"; } } // Trois actions sont possibles depuis cette page : activation, désactivation et suppression. // L'édition se fait directement sur la page de gestion des responsables if (!$error) { if($action) { check_token(); } if ($action == "changer_etat_user") { $sql="SELECT etat FROM utilisateurs WHERE (login = '" . $_GET['eleve_login']."' AND statut = 'eleve')"; $res=mysqli_query($GLOBALS["mysqli"],$sql); if(mysqli_num_rows($res)==0) { $msg .= "Erreur : Aucun compte élève n'a été trouvé pour le login indiqué : " . $_GET['eleve_login']; unset($action); } else { $lig_etat=mysqli_fetch_object($res); if($lig_etat->etat=="actif") { $action="rendre_inactif"; } else { $action="rendre_actif"; } } } if ($action == "rendre_inactif") { // Désactivation d'utilisateurs actifs if ($mode == "individual") { // Désactivation pour un utilisateur unique $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE (login = '" . $_GET['eleve_login']."' AND etat = 'actif')"), 0); if ($test == "0") { $msg .= "Erreur lors de la désactivation de l'utilisateur : celui-ci n'existe pas ou bien est déjà inactif."; } else { $res = mysqli_query($GLOBALS["mysqli"], "UPDATE utilisateurs SET etat='inactif' WHERE (login = '".$_GET['eleve_login']."')"); if ($res) { $msg .= "L'utilisateur ".$_GET['eleve_login'] . " a été désactivé."; } else { $msg .= "Erreur lors de la désactivation de l'utilisateur."; } } } elseif ($mode == "classe" and !$error) { // Pour tous les élèves qu'on a déjà sélectionnés un peu plus haut, on désactive les comptes while ($current_eleve = mysqli_fetch_object($quels_eleves)) { $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE login = '" . $current_eleve->login ."'"), 0); if ($test > 0) { // L'utilisateur existe bien dans la tables utilisateurs, on désactive $res = mysqli_query($GLOBALS["mysqli"], "UPDATE utilisateurs SET etat = 'inactif' WHERE login = '" . $current_eleve->login . "'"); if (!$res) { $msg .= "Erreur lors de la désactivation du compte ".$current_eleve->login."
"; } else { $nb_comptes++; } } } $msg .= "$nb_comptes comptes ont été désactivés."; } } elseif ($action == "rendre_actif") { // Activation d'utilisateurs préalablement désactivés if ($mode == "individual") { // Activation pour un utilisateur unique $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE (login = '" . $_GET['eleve_login']."' AND etat = 'inactif')"), 0); if ($test == "0") { $msg .= "Erreur lors de la désactivation de l'utilisateur : celui-ci n'existe pas ou bien est déjà actif."; } else { $res = mysqli_query($GLOBALS["mysqli"], "UPDATE utilisateurs SET etat='actif' WHERE (login = '".$_GET['eleve_login']."')"); if ($res) { $msg .= "L'utilisateur ".$_GET['eleve_login'] . " a été activé."; } else { $msg .= "Erreur lors de l'activation de l'utilisateur."; } } } elseif ($mode == "classe") { // Pour tous les élèves qu'on a déjà sélectionnés un peu plus haut, on désactive les comptes while ($current_eleve = mysqli_fetch_object($quels_eleves)) { $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE login = '" . $current_eleve->login ."'"), 0); if ($test > 0) { // L'utilisateur existe bien dans la tables utilisateurs, on désactive $res = mysqli_query($GLOBALS["mysqli"], "UPDATE utilisateurs SET etat = 'actif' WHERE login = '" . $current_eleve->login . "'"); if (!$res) { $msg .= "Erreur lors de l'activation du compte ".$current_eleve->login."
"; } else { $nb_comptes++; } } } $msg .= "$nb_comptes comptes ont été activés."; } } elseif ($action == "supprimer") { $ldap_write_access=false; //if ($gepiSettings['ldap_write_access']) { if ($gepiSettings['ldap_write_access']=='yes') { //echo "\$ldap_write_access
"; $ldap_write_access = true; $ldap_server = new LDAPServer; } // Suppression d'un ou plusieurs utilisateurs if ($mode == "individual") { // Suppression pour un utilisateur unique $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE (login = '" . $_GET['eleve_login']."')"), 0); if ($test == "0") { $msg .= "Erreur lors de la suppression de l'utilisateur : celui-ci n'existe pas."; } else { // Suppression du compte proprement dite: $res = mysqli_query($GLOBALS["mysqli"], "DELETE FROM utilisateurs WHERE (login = '".$_GET['eleve_login']."')"); if ($res) { $msg .= "L'utilisateur ".$_GET['eleve_login'] . " a été supprimé."; if ($ldap_write_access) { if ($ldap_server->test_user($_GET['eleve_login'])) { $write_ldap_success = $ldap_server->delete_user($_GET['eleve_login']); if ($write_ldap_success) { $msg .= "
L'utilisateur a été supprimé de l'annuaire LDAP."; } } } // Suppression de scorie éventuelle: $res3 = mysqli_query($GLOBALS["mysqli"], "DELETE FROM sso_table_correspondance WHERE login_gepi = '".$_GET['eleve_login']."'"); } else { $msg .= "Erreur lors de la suppression de l'utilisateur."; } } } elseif ($mode == "classe") { // Pour tous les élèves qu'on a déjà sélectionnés un peu plus haut, on désactive les comptes while ($current_eleve = mysqli_fetch_object($quels_eleves)) { $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE login = '" . $current_eleve->login ."'"), 0); if ($test > 0) { // L'utilisateur existe bien dans la tables utilisateurs, on désactive $res = mysqli_query($GLOBALS["mysqli"], "DELETE FROM utilisateurs WHERE login = '" . $current_eleve->login . "'"); if (!$res) { $msg .= "Erreur lors de la suppression du compte ".$current_eleve->login."
"; } else { $nb_comptes++; if ($ldap_write_access && $current_eleve->auth_mode != 'gepi') { if (!$ldap_server->test_user($current_eleve->login)) { // L'utilisateur n'a pas été trouvé dans l'annuaire. $write_ldap_success = true; } else { $write_ldap_success = $ldap_server->delete_user($current_eleve->login); } } // Suppression de scorie éventuelle: $res3 = mysqli_query($GLOBALS["mysqli"], "DELETE FROM sso_table_correspondance WHERE login_gepi = '".$current_eleve->login."'"); } } } $msg .= "$nb_comptes comptes ont été supprimés."; } } elseif ($action == "reinit_password") { if ($mode != "classe") { $msg .= "Erreur : Vous devez sélectionner une classe."; } elseif ($mode == "classe") { if(isset($mdp_INE)) { $chaine_mdp_INE="&mdp_INE=$mdp_INE"; } else { $chaine_mdp_INE=""; } if ($_POST['classe'] == "all") { $msg .= "Vous allez réinitialiser les mots de passe de tous les utilisateurs ayant le statut 'eleve'.
Si vous êtes vraiment sûr de vouloir effectuer cette opération, cliquez sur le lien ci-dessous :"; $msg .= "
Réinitialiser les mots de passe (Impression HTML)"; $msg .= "
Réinitialiser les mots de passe (Export CSV)"; $msg .= "
Réinitialiser les mots de passe (Impression PDF)"; } else if (is_numeric($_POST['classe'])) { $msg .= "Vous allez réinitialiser les mots de passe de tous les utilisateurs ayant le statut 'eleve' pour cette classe.
Si vous êtes vraiment sûr de vouloir effectuer cette opération, cliquez sur le lien ci-dessous :"; $msg .= "
Réinitialiser les mots de passe (Impression HTML)"; $msg .= "
Réinitialiser les mots de passe (Export CSV)"; $msg .= "
Réinitialiser les mots de passe (Impression PDF)"; } } } elseif ($action == "change_auth_mode") { $ldap_write_access = false; if ($gepiSettings['ldap_write_access'] == "yes") { $ldap_write_access = true; $ldap_server = new LDAPServer; } $nb_comptes = 0; $reg_auth_mode = (in_array($_POST['reg_auth_mode'], array("gepi", "ldap", "sso"))) ? $_POST['reg_auth_mode'] : "gepi"; if ($mode != "classe") { $msg .= "Erreur : Vous devez sélectionner une classe."; } elseif ($mode == "classe") { while ($current_eleve = mysqli_fetch_object($quels_eleves)) { $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE login = '" . $current_eleve->login ."'"), 0); if ($test > 0) { // L'utilisateur existe bien dans la tables utilisateurs, on modifie // Si on change le mode d'authentification, il faut quelques opérations particulières $old_auth_mode = $current_eleve->auth_mode; if ($_POST['reg_auth_mode'] != $old_auth_mode) { // On modifie ! $nb_comptes++; $res = mysqli_query($GLOBALS["mysqli"], "UPDATE utilisateurs SET auth_mode = '".$reg_auth_mode."' WHERE login = '".$current_eleve->login."'"); // On regarde si des opérations spécifiques sont nécessaires if ($old_auth_mode == "gepi" && ($_POST['reg_auth_mode'] == "ldap" || $_POST['reg_auth_mode'] == "sso")) { // On passe du mode Gepi à un mode externe : il faut supprimer le mot de passe $oldmd5password = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT password FROM utilisateurs WHERE login = '".$current_eleve->login."'"), 0); // 20140301 if(!getSettingAOui('auth_sso_ne_pas_vider_MDP_gepi')) { mysqli_query($GLOBALS["mysqli"], "UPDATE utilisateurs SET password = '', salt = '' WHERE login = '".$current_eleve->login."'"); } // Et si on a un accès en écriture au LDAP, il faut créer l'utilisateur ! if ($ldap_write_access) { $create_ldap_user = true; } } elseif (($old_auth_mode == "sso" || $old_auth_mode == "ldap") && $_POST['reg_auth_mode'] == "gepi") { // Passage au mode Gepi, rien de spécial à faire, si ce n'est annoncer à l'administrateur // qu'il va falloir réinitialiser les mots de passe $pass_init_required = true; // Et si accès en écriture au LDAP, on supprime le compte. if ($ldap_write_access) { $delete_ldap_user = true; } } // On effectue les opérations LDAP if (isset($create_ldap_user) && $create_ldap_user) { if (!$ldap_server->test_user($current_eleve->login)) { $eleve = mysqli_fetch_object(mysqli_query($GLOBALS["mysqli"], "SELECT distinct(e.login), e.nom, e.prenom, e.sexe, e.email " . "FROM eleves e WHERE (" . "e.login = '" . $current_eleve->login."')")); $reg_civilite = $eleve->sexe == "M" ? "M." : "Mlle"; $write_ldap_success = $ldap_server->add_user($eleve->login, $eleve->nom, $eleve->prenom, $eleve->email, $reg_civilite, md5(rand()), "eleve"); // On transfert le mot de passe à la main $ldap_server->set_manual_password($current_eleve->login, "{MD5}".base64_encode(pack("H*",$oldmd5password))); } } if (isset($delete_ldap_user) && $delete_ldap_user) { if (!$ldap_server->test_user($current_eleve->login)) { // L'utilisateur n'a pas été trouvé dans l'annuaire. $write_ldap_success = true; } else { $write_ldap_success = $ldap_server->delete_user($current_eleve->login); } } } } } $msg .= "$nb_comptes comptes ont été modifiés."; if (isset($pass_init_required) && $pass_init_required) { $msg .= "
Attention ! Des modifications appliquées nécessitent la réinitialisation de mots de passe !"; } } } } //**************** EN-TETE ***************** $titre_page = "Modifier des comptes élèves"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** ?>

Retour Retour | Ajouter de nouveaux comptes Aucun compte élève n'existe encore.
Vous pouvez ajouter des comptes élèves à l'aide du lien ci-dessus.

\n"; require("../lib/footer.inc.php"); die; } echo " | Fiches bienvenue"; echo " | Export CSV CSV sans entête"; echo " | Comptes responsables"; echo "

\n"; //echo "

Actions par lot :"; echo "

\n"; echo add_token_field(); echo "

Actions par lot pour les comptes élèves existants :

\n"; echo "
\n"; echo "

\n"; echo "\n"; echo "\n"; echo "
\n"; echo "\n"; echo " \n"; if ($session_gepi->auth_locale || $gepiSettings['ldap_write_access']) { echo "\n"; } echo "
\n"; echo ""; ?> \n"; //echo "
\n"; echo " \n"; echo "

\n"; echo "

\n"; echo "\n"; echo "
\n"; echo "
\n"; echo "
\n"; echo "


\n"; //======================================================== include("change_auth_mode.inc.php"); //======================================================== echo "

Liste des comptes élèves existants :

\n"; echo "
\n"; //==================================== $afficher_tous_les_eleves=isset($_POST['afficher_tous_les_eleves']) ? $_POST['afficher_tous_les_eleves'] : "n"; $critere_recherche=isset($_POST['critere_recherche']) ? $_POST['critere_recherche'] : (isset($_GET['critere_recherche']) ? $_GET['critere_recherche'] : ""); //$critere_recherche=preg_replace("/[^a-zA-ZÀÄÂÉÈÊËÎÏÔÖÙÛܽ¼Ççàäâéèêëîïôöùûü_ -]/", "", $critere_recherche); $critere_recherche=nettoyer_caracteres_nom($critere_recherche, 'a', ' -','%'); $critere_id_classe=isset($_POST['critere_id_classe']) ? preg_replace('/[^0-9]/', '', $_POST['critere_id_classe']) : ""; $critere_etat=isset($_POST['critere_etat']) ? $_POST['critere_etat'] : (isset($_GET['critere_etat']) ? $_GET['critere_etat'] : ""); if(!in_array($critere_etat, array('actif', 'inactif'))) { $critere_etat=""; } $critere_auth_mode=isset($_POST['critere_auth_mode']) ? $_POST['critere_auth_mode'] : (isset($_GET['critere_auth_mode']) ? $_GET['critere_auth_mode'] : array()); $critere_sso_corresp=isset($_POST['critere_sso_corresp']) ? $_POST['critere_sso_corresp'] : (isset($_GET['critere_sso_corresp']) ? $_GET['critere_sso_corresp'] : array()); $critere_limit=isset($_POST['critere_limit']) ? $_POST['critere_limit'] : (isset($_GET['critere_limit']) ? $_GET['critere_limit'] : 20); if(($critere_limit=="")||(!preg_match("/^[0-9]*$/", $critere_limit))||($critere_limit<1)) { $critere_limit=20; } //==================================== //++++++++++++++++++++++++ if((isset($critere_recherche))&&($critere_recherche!="")) { $_SESSION['edit_ele_critere_recherche']=$critere_recherche; } if($critere_recherche=="") { if(isset($_SESSION['edit_ele_critere_recherche'])) { if(isset($_GET['test_recup_critere'])) { $critere_recherche=$_SESSION['edit_ele_critere_recherche']; } unset($_SESSION['edit_ele_critere_recherche']); } } //++++++++++++++++++++++++ if((isset($critere_id_classe))&&($critere_id_classe!="")) { $_SESSION['edit_ele_critere_id_classe']=$critere_id_classe; } if($critere_id_classe=="") { if(isset($_SESSION['edit_ele_critere_id_classe'])) { if(isset($_GET['test_recup_critere'])) { $critere_id_classe=$_SESSION['edit_ele_critere_id_classe']; } unset($_SESSION['edit_ele_critere_id_classe']); } } //++++++++++++++++++++++++ if((isset($critere_etat))&&($critere_etat!="")) { $_SESSION['edit_ele_critere_etat']=$critere_etat; } if($critere_etat=="") { if(isset($_SESSION['edit_ele_critere_etat'])) { if(isset($_GET['test_recup_critere'])) { $critere_etat=$_SESSION['edit_ele_critere_etat']; } unset($_SESSION['edit_ele_critere_etat']); } } //++++++++++++++++++++++++ if((isset($critere_auth_mode))&&(is_array($critere_auth_mode))&&(count($critere_auth_mode)>0)) { $_SESSION['edit_ele_critere_auth_mode']=$critere_auth_mode; } if(count($critere_auth_mode)==0) { if(isset($_SESSION['edit_ele_critere_auth_mode'])) { if(isset($_GET['test_recup_critere'])) { $critere_auth_mode=$_SESSION['edit_ele_critere_auth_mode']; } unset($_SESSION['edit_ele_critere_auth_mode']); } } if((isset($critere_etat))&&($critere_etat!="")) { $_SESSION['edit_ele_critere_etat']=$critere_etat; } //++++++++++++++++++++++++ if((isset($critere_sso_corresp))&&(is_array($critere_sso_corresp))&&(count($critere_sso_corresp)>0)) { $_SESSION['edit_ele_critere_sso_corresp']=$critere_sso_corresp; } if(count($critere_sso_corresp)==0) { if(isset($_SESSION['edit_ele_critere_sso_corresp'])) { if(isset($_GET['test_recup_critere'])) { $critere_sso_corresp=$_SESSION['edit_ele_critere_sso_corresp']; } unset($_SESSION['edit_ele_critere_sso_corresp']); } } //++++++++++++++++++++++++ if((isset($critere_limit))&&($critere_limit!="")&&($critere_limit>19)) { $_SESSION['edit_ele_critere_limit']=$critere_limit; } if($critere_limit=="") { if(isset($_SESSION['edit_ele_critere_limit'])) { if(isset($_GET['test_recup_critere'])) { $critere_limit=$_SESSION['edit_ele_critere_limit']; } unset($_SESSION['edit_ele_critere_limit']); } } //++++++++++++++++++++++++ //==================================== echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $style_etat_actif=""; $sql="SELECT 1=1 FROM utilisateurs u, eleves e WHERE u.login=e.login AND u.etat='actif';"; $res_etat_actif=mysqli_query($GLOBALS["mysqli"], $sql); $nb_etat_actif=mysqli_num_rows($res_etat_actif); if($nb_etat_actif==0) {$style_etat_actif=" style='color:red'";} $style_etat_inactif=""; $sql="SELECT 1=1 FROM utilisateurs u, eleves e WHERE u.login=e.login AND u.etat='inactif';"; $res_etat_inactif=mysqli_query($GLOBALS["mysqli"], $sql); $nb_etat_inactif=mysqli_num_rows($res_etat_inactif); if($nb_etat_inactif==0) {$style_etat_inactif=" style='color:red'";} echo "\n"; echo "\n"; echo "\n"; echo "\n"; $style_auth_mode_gepi=""; $sql="SELECT 1=1 FROM utilisateurs u, eleves e WHERE u.login=e.login AND u.auth_mode='gepi';"; $res_auth_mode_gepi=mysqli_query($GLOBALS["mysqli"], $sql); $nb_auth_mode_gepi=mysqli_num_rows($res_auth_mode_gepi); if($nb_auth_mode_gepi==0) {$style_auth_mode_gepi=" style='color:red'";} $style_auth_mode_sso=""; $sql="SELECT 1=1 FROM utilisateurs u, eleves e WHERE u.login=e.login AND u.auth_mode='sso';"; $res_auth_mode_sso=mysqli_query($GLOBALS["mysqli"], $sql); $nb_auth_mode_sso=mysqli_num_rows($res_auth_mode_sso); if($nb_auth_mode_sso==0) {$style_auth_mode_sso=" style='color:red'";} $style_auth_mode_ldap=""; $sql="SELECT 1=1 FROM utilisateurs u, eleves e WHERE u.login=e.login AND u.auth_mode='ldap';"; $res_auth_mode_ldap=mysqli_query($GLOBALS["mysqli"], $sql); $nb_auth_mode_ldap=mysqli_num_rows($res_auth_mode_ldap); if($nb_auth_mode_ldap==0) {$style_auth_mode_ldap=" style='color:red'";} if(getSettingAOui('sso_cas_table')) { $style_sso_corresp_manquante=""; //$sql="(SELECT 1=1 FROM utilisateurs u, eleves e, sso_table_correspondance stc WHERE u.login=e.login AND u.statut='eleve' AND u.login=stc.login_gepi AND stc.login_sso='') UNION (SELECT 1=1 FROM utilisateurs u, eleves e WHERE u.login=e.login AND u.statut='eleve' AND u.login NOT IN (SELECT login_gepi FROM sso_table_correspondance WHERE login_sso!=''));"; $sql="(SELECT u.login FROM utilisateurs u, eleves e, sso_table_correspondance stc WHERE u.login=e.login AND u.statut='eleve' AND u.login=stc.login_gepi AND stc.login_sso='') UNION (SELECT u.login FROM utilisateurs u, eleves e WHERE u.login=e.login AND u.statut='eleve' AND u.login NOT IN (SELECT login_gepi FROM sso_table_correspondance WHERE login_sso!=''));"; //echo "$sql

"; $res_sso_corresp_manquante=mysqli_query($GLOBALS["mysqli"], $sql); $nb_sso_corresp_manquante=mysqli_num_rows($res_sso_corresp_manquante); if($nb_sso_corresp_manquante==0) {$style_sso_corresp_manquante=" style='color:red'";} $style_sso_corresp_manquante_auth_sso=""; //$sql="(SELECT 1=1 FROM utilisateurs u, eleves e, sso_table_correspondance stc WHERE u.login=e.login AND u.statut='eleve' AND u.auth_mode='sso' AND u.login=stc.login_gepi AND stc.login_sso='') UNION (SELECT 1=1 FROM utilisateurs u, eleves e WHERE u.login=e.login AND u.statut='eleve' AND u.auth_mode='sso' AND u.login NOT IN (SELECT login_gepi FROM sso_table_correspondance WHERE login_sso!=''));"; $sql="(SELECT u.login FROM utilisateurs u, eleves e, sso_table_correspondance stc WHERE u.login=e.login AND u.statut='eleve' AND u.auth_mode='sso' AND u.login=stc.login_gepi AND stc.login_sso='') UNION (SELECT u.login FROM utilisateurs u, eleves e WHERE u.login=e.login AND u.statut='eleve' AND u.auth_mode='sso' AND u.login NOT IN (SELECT login_gepi FROM sso_table_correspondance WHERE login_sso!=''));"; //echo "$sql

"; $res_sso_corresp_manquante_auth_sso=mysqli_query($GLOBALS["mysqli"], $sql); $nb_sso_corresp_manquante_auth_sso=mysqli_num_rows($res_sso_corresp_manquante_auth_sso); if($nb_sso_corresp_manquante_auth_sso==0) {$style_sso_corresp_manquante_auth_sso=" style='color:red'";} $style_sso_corresp_presente=""; //$sql="SELECT 1=1 FROM utilisateurs u, eleves e, sso_table_correspondance stc WHERE u.login=e.login AND u.statut='eleve' AND u.auth_mode='sso' AND u.login=stc.login_gepi AND stc.login_sso!='';"; $sql="SELECT u.login FROM utilisateurs u, eleves e, sso_table_correspondance stc WHERE u.login=e.login AND u.statut='eleve' AND u.auth_mode='sso' AND u.login=stc.login_gepi AND stc.login_sso!='';"; //echo "$sql

"; $res_sso_corresp_presente=mysqli_query($GLOBALS["mysqli"], $sql); $nb_sso_corresp_presente=mysqli_num_rows($res_sso_corresp_presente); if($nb_sso_corresp_presente==0) {$style_sso_corresp_presente=" style='color:red'";} } echo "\n"; echo "\n"; echo "\n"; echo "\n"; if(getSettingAOui('sso_cas_table')) { echo "\n"; } $sql="SELECT 1=1 FROM utilisateurs u, eleves e WHERE u.login=e.login;"; $res_ele=mysqli_query($GLOBALS["mysqli"], $sql); $nb_ele=mysqli_num_rows($res_ele); echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
\n"; echo "Filtrage:"; echo "\n"; echo " les élèves ayant un login dont le nom contient : "; echo "\n"; echo "\n"; echo "
\n"; echo " les élèves de la classe de : "; echo "\n"; echo "\n"; echo "
\n"; echo " les élèves le compte est : "; echo "\n"; echo "
\n"; echo "\n"; echo "
\n"; echo " les élèves dont mode d'authentification est : "; echo "\n"; echo "
\n"; echo "
\n"; echo "\n"; echo "
les élèves dont la correspondance SSO est :

\n"; echo "Restreindre la recherche à \n"; echo "\n"; echo " enregistrements\n"; echo "
\n"; echo "ou"; echo "
\n"; echo "\n"; echo "
\n"; echo "\n"; echo "
\n"; //==================================== echo "
\n"; ?> 0) { $chaine_auth_mode=""; for($loop=0;$loop0) { $chaine_sso_corresp=""; if(in_array("manquante", $critere_sso_corresp)) { if($chaine_sso_corresp!="") { $chaine_sso_corresp.=" OR "; } $chaine_sso_corresp.="u.login NOT IN ((SELECT login_gepi FROM sso_table_correspondance WHERE login_sso='') UNION ())"; } /* for($loop=0;$loop"; $quels_eleves = mysqli_query($GLOBALS["mysqli"], $sql); $nb_eleves_aff=mysqli_num_rows($quels_eleves); $complement_nb_lignes=""; if((isset($nb_lignes_avant_limit))&&($nb_lignes_avant_limit!=$nb_eleves_aff)) { $complement_nb_lignes=" sur ".$nb_lignes_avant_limit; } $alt=1; while ($current_eleve = mysqli_fetch_object($quels_eleves)) { $alt=$alt*(-1); echo "\n"; echo "\n"; echo "\n"; echo "\n"; $sso_table_login_ent=""; //if(($current_eleve->auth_mode=="sso")&&(getSettingAOui('sso_cas_table'))) { if(getSettingAOui('sso_cas_table')) { $sso_table_login_ent=get_valeur_champ('sso_table_correspondance', "login_gepi='$current_eleve->login'", 'login_sso'); } echo "\n"; echo "\n"; echo "\n"; /* echo "\n"; */ echo "\n"; } ?>
IdentifiantNom PrénomEtatMode auth.ActionsClasse
\n"; echo "".$current_eleve->login.""; echo "\n"; echo $current_eleve->nom . " " . $current_eleve->prenom; echo "\n"; //echo $current_eleve->etat; //echo "
"; echo "login', 'etat_".$current_eleve->login."') ;return false;\" title=\"Changer l'état actif/inactif.\">"; if ($current_eleve->etat == "actif") { echo ""; } else { echo ""; } echo "\n"; echo "
\n"; echo "login', '$current_eleve->auth_mode', '$sso_table_login_ent') ;return false;\">"; echo ""; echo $current_eleve->auth_mode; if(($current_eleve->auth_mode=="sso")&&(getSettingAOui('sso_cas_table'))) { echo temoin_compte_sso($current_eleve->login); } echo ""; echo ""; echo "\n"; echo "nom $current_eleve->prenom\">Supprimer\n"; echo " - nom $current_eleve->prenom. Le mot de passe n'est pas modifié, ni affiché.\">Fiche bienvenue\n"; if($current_eleve->etat == "actif" && ($current_eleve->auth_mode == "gepi" || $gepiSettings['ldap_write_access'] == "yes")) { echo "
"; echo "Réinitialiser le mot de passe : login."&user_status=eleve&mode=html".add_token_in_url()."\" onclick=\"javascript:return confirm('Êtes-vous sûr de vouloir effectuer cette opération ?\\n Celle-ci est irréversible, et réinitialisera le mot de passe de l\'utilisateur avec un mot de passe alpha-numérique généré aléatoirement.\\n En cliquant sur OK, vous lancerez la procédure, qui génèrera une page contenant la fiche-bienvenue à imprimer immédiatement pour distribution à l\'utilisateur concerné.')\" target='_blank'>Aléatoirement"; echo " - login."\" onclick=\"javascript:return confirm('Êtes-vous sûr de vouloir effectuer cette opération ?\\n Celle-ci réinitialisera le mot de passe de l\'utilisateur avec un mot de passe que vous choisirez.\\n En cliquant sur OK, vous lancerez une page qui vous demandera de saisir un mot de passe et de le valider.')\" target='_blank'>choisi "; } echo "
\n"; $tmp_class=get_class_from_ele_login($current_eleve->login); if(isset($tmp_class['liste'])) { echo $tmp_class['liste']; } else { echo "Aucune"; } echo "\n"; $tmp_class=get_class_from_ele_login($current_eleve->login); if(isset($tmp_class['liste'])) { echo $tmp_class['liste']; } else { echo "Aucune"; } echo "
$nb_eleves_aff ligne(s)".$complement_nb_lignes." affichée(s).

\n"; echo "
\n"; if (mysqli_num_rows($quels_eleves) == "0") { echo "

Pour créer de nouveaux comptes d'accès associés aux élèves définis dans Gepi, vous devez cliquer sur le lien 'Ajouter de nouveaux comptes' ci-dessus.

\n"; } require("../lib/footer.inc.php");?>