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(); } //debug_var(); // 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); $msg = ''; $compteur_aff_time=0; function aff_time() { global $compteur_aff_time; // Pour tenter de repérer à quel niveau cela traine: $debug=0; if($debug==1) { echo "$compteur_aff_time: ".strftime("%D %T")."
"; } $compteur_aff_time++; } aff_time(); // 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_parents = mysqli_query($GLOBALS["mysqli"], "SELECT distinct(r.login), u.auth_mode " . "FROM utilisateurs u, resp_pers r, responsables2 re, classes c, j_eleves_classes jec, eleves e WHERE (" . "u.login = r.login AND r.pers_id = re.pers_id AND " . "re.ele_id = e.ele_id AND " . "e.login = jec.login AND " . "jec.id_classe = c.id)"); if (!$quels_parents) $msg .= mysqli_error($GLOBALS["mysqli"]); } elseif (is_numeric($_POST['classe'])) { $quels_parents = mysqli_query($GLOBALS["mysqli"], "SELECT distinct(r.login), u.auth_mode " . "FROM utilisateurs u, resp_pers r, responsables2 re, classes c, j_eleves_classes jec, eleves e WHERE (" . "u.login = r.login AND r.pers_id = re.pers_id AND " . "re.ele_id = e.ele_id AND " . "e.login = jec.login AND " . "jec.id_classe = '" . $_POST['classe']."')"); if (!$quels_parents) $msg .= mysqli_error($GLOBALS["mysqli"]); } else { $error = true; $msg .= "Vous devez sélectionner au moins une classe !
"; } } aff_time(); if((isset($_GET['acces_resp_legal_0']))&&(($_GET['acces_resp_legal_0']=='y')||($_GET['acces_resp_legal_0']=='n'))) { check_token(); $sql="UPDATE responsables2 SET acces_sp='".$_GET['acces_resp_legal_0']."' WHERE pers_id='".$_GET['pers_id']."' AND ele_id='".$_GET['ele_id']."';"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if($update) { $msg="Modification de l'accès aux données pour pers_id=".$_GET['pers_id']." et ele_id=".$_GET['ele_id']." effectuée.
"; } else { $msg="Erreur lors de la modification de l'accès aux données pour pers_id=".$_GET['pers_id']." et ele_id=".$_GET['ele_id']."
"; } } // 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['parent_login']."' AND statut = 'responsable')"; $res=mysqli_query($GLOBALS["mysqli"],$sql); if(mysqli_num_rows($res)==0) { $msg .= "Erreur : Aucun compte responsable n'a été trouvé pour le login indiqué : " . $_GET['parent_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['parent_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['parent_login']."')"); if ($res) { $msg .= "L'utilisateur ".$_GET['parent_login'] . " a été désactivé."; } else { $msg .= "Erreur lors de la désactivation de l'utilisateur."; } } } elseif ($mode == "classe" and !$error) { // Pour tous les parents qu'on a déjà sélectionnés un peu plus haut, on désactive les comptes while ($current_parent = mysqli_fetch_object($quels_parents)) { $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE login = '" . $current_parent->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_parent->login . "'"); if (!$res) { $msg .= "Erreur lors de la désactivation du compte ".$current_parent->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['parent_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['parent_login']."')"); if ($res) { $msg .= "L'utilisateur ".$_GET['parent_login'] . " a été activé."; } else { $msg .= "Erreur lors de l'activation de l'utilisateur."; } } } elseif ($mode == "classe") { // Pour tous les parents qu'on a déjà sélectionnés un peu plus haut, on désactive les comptes while ($current_parent = mysqli_fetch_object($quels_parents)) { $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE login = '" . $current_parent->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_parent->login . "'"); if (!$res) { $msg .= "Erreur lors de l'activation du compte ".$current_parent->login."
"; } else { $nb_comptes++; } } } $msg .= "$nb_comptes comptes ont été activés."; } } elseif ($action == "supprimer") { // 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['parent_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['parent_login']."')"); if ($res) { $msg .= "L'utilisateur ".$_GET['parent_login'] . " a été supprimé."; // Réinitialisation du champ login dans la table 'resp_pers': $res2 = mysqli_query($GLOBALS["mysqli"], "UPDATE resp_pers SET login='' WHERE login = '".$_GET['parent_login'] . "'"); // Suppression de scorie éventuelle: $res3 = mysqli_query($GLOBALS["mysqli"], "DELETE FROM sso_table_correspondance WHERE login_gepi = '".$_GET['parent_login']."'"); } else { $msg .= "Erreur lors de la suppression de l'utilisateur."; } } } elseif ($mode == "classe") { // Pour tous les parents qu'on a déjà sélectionnés un peu plus haut, on désactive les comptes while ($current_parent = mysqli_fetch_object($quels_parents)) { $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE login = '" . $current_parent->login ."'"), 0); if ($test > 0) { // L'utilisateur existe bien dans la tables utilisateurs, on désactive // Suppression du compte proprement dite: $res = mysqli_query($GLOBALS["mysqli"], "DELETE FROM utilisateurs WHERE login = '" . $current_parent->login . "'"); if (!$res) { $msg .= "Erreur lors de l'activation du compte ".$current_parent->login."
"; } else { // Réinitialisation du champ login dans la table 'resp_pers': $res = mysqli_query($GLOBALS["mysqli"], "UPDATE resp_pers SET login = '' WHERE login = '" . $current_parent->login ."'"); // Suppression de scorie éventuelle: $res3 = mysqli_query($GLOBALS["mysqli"], "DELETE FROM sso_table_correspondance WHERE login_gepi = '".$current_parent->login."'"); $nb_comptes++; } } } $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 ($_POST['classe'] == "all") { $msg .= "Vous allez réinitialiser les mots de passe de tous les utilisateurs ayant le statut 'responsable'.
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) - ou (Impression HTML avec adresse)"; $msg .= "
Réinitialiser les mots de passe (Export CSV)"; } else if (is_numeric($_POST['classe'])) { $msg .= "Vous allez réinitialiser les mots de passe de tous les utilisateurs ayant le statut 'responsable' pour la classe de ".get_class_from_id($_POST['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) - ou (Impression HTML avec adresse)"; $msg .= "
Réinitialiser les mots de passe (Export CSV)"; } } }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_parent = mysqli_fetch_object($quels_parents)) { $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE login = '" . $current_parent->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_parent->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_parent->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_parent->login."'"), 0); // 20140301 if(!getSettingAOui('auth_sso_ne_pas_vider_MDP_gepi')) { mysqli_query($GLOBALS["mysqli"], "UPDATE utilisateurs SET password = '', salt = '' WHERE login = '".$current_parent->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_parent->login)) { $parent = mysqli_fetch_object(mysqli_query($GLOBALS["mysqli"], "SELECT distinct(r.login), r.nom, r.prenom, r.civilite, r.mel " . "FROM resp_pers r WHERE (" . "r.login = '" . $current_parent->login."')")); $write_ldap_success = $ldap_server->add_user($parent->login, $parent->nom, $parent->prenom, $parent->mel, $parent->civilite, md5(rand()), "responsable"); // On transfert le mot de passe à la main $ldap_server->set_manual_password($current_parent->login, "{MD5}".base64_encode(pack("H*",$oldmd5password))); } } if (isset($delete_ldap_user) && $delete_ldap_user) { if (!$ldap_server->test_user($current_parent->login)) { // L'utilisateur n'a pas été trouvé dans l'annuaire. $write_ldap_success = true; } else { $write_ldap_success = $ldap_server->delete_user($current_parent->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 des utilisateurs !"; } } } } aff_time(); //**************** EN-TETE ***************** $titre_page = "Modifier des comptes responsables"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** //debug_var(); aff_time(); ?>

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

\n"; require("../lib/footer.inc.php"); die; } echo " | Fiches bienvenue"; echo " | Export CSV"; echo " CSV sans entête"; echo " | Export CSV avec adresse"; echo " CSV avec adresse sans entête"; echo " | Comptes élèves"; echo "

\n"; aff_time(); echo "
\n"; echo add_token_field(); echo "

Actions par lot pour les comptes responsables existants :

\n"; flush(); echo "
\n"; echo "

\n"; echo "\n"; echo "
\n"; aff_time(); flush(); echo "\n"; echo " \n"; echo " \n"; if ($session_gepi->auth_locale || $gepiSettings['ldap_write_access']) { echo " \n"; } echo "
\n"; echo " Modifier authentification : "; 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 responsables existants :

\n"; echo "
\n"; $afficher_tous_les_resp=isset($_POST['afficher_tous_les_resp']) ? $_POST['afficher_tous_les_resp'] : (isset($_GET['afficher_tous_les_resp']) ? $_GET['afficher_tous_les_resp'] : "n"); $critere_recherche=isset($_POST['critere_recherche']) ? $_POST['critere_recherche'] : (isset($_GET['critere_recherche']) ? $_GET['critere_recherche'] : ""); //$critere_recherche=preg_replace("/[^a-zA-ZÀÄÂÉÈÊËÎÏÔÖÙÛܽ¼Ççàäâéèêëîïôöùûü_ -]/u", "", $critere_recherche); $critere_recherche=nettoyer_caracteres_nom($critere_recherche, 'a', ' -',''); $critere_recherche_login=isset($_POST['critere_recherche_login']) ? $_POST['critere_recherche_login'] : (isset($_GET['critere_recherche_login']) ? $_GET['critere_recherche_login'] : ""); //$critere_recherche_login=preg_replace("/[^a-zA-ZÀÄÂÉÈÊËÎÏÔÖÙÛܽ¼Ççàäâéèêëîïôöùûü_ -]/u", "", $critere_recherche_login); $critere_recherche_login=nettoyer_caracteres_nom($critere_recherche_login, 'a', ' -_.',''); $critere_id_classe=isset($_POST['critere_id_classe']) ? preg_replace('/[^0-9]/', '', $_POST['critere_id_classe']) : (isset($_POST['classe']) ? preg_replace('/[^0-9]/', '', $_POST['classe']) : (isset($_GET['critere_id_classe']) ? preg_replace('/[^0-9]/', '', $_GET['critere_id_classe']) : (isset($_GET['classe']) ? preg_replace('/[^0-9]/', '', $_GET['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_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_resp_critere_recherche']=$critere_recherche; } if($critere_recherche=="") { if(isset($_SESSION['edit_resp_critere_recherche'])) { if(isset($_GET['test_recup_critere'])) { $critere_recherche=$_SESSION['edit_resp_critere_recherche']; } unset($_SESSION['edit_resp_critere_recherche']); } } //++++++++++++++++++++++++ if((isset($critere_recherche_login))&&($critere_recherche_login!="")) { $_SESSION['edit_resp_critere_recherche_login']=$critere_recherche_login; } if($critere_recherche_login=="") { if(isset($_SESSION['edit_resp_critere_recherche_login'])) { if(isset($_GET['test_recup_critere'])) { $critere_recherche_login=$_SESSION['edit_resp_critere_recherche_login']; } unset($_SESSION['edit_resp_critere_recherche_login']); } } //++++++++++++++++++++++++ if((isset($critere_id_classe))&&($critere_id_classe!="")) { $_SESSION['edit_resp_critere_id_classe']=$critere_id_classe; } if($critere_id_classe=="") { if(isset($_SESSION['edit_resp_critere_id_classe'])) { if(isset($_GET['test_recup_critere'])) { $critere_id_classe=$_SESSION['edit_resp_critere_id_classe']; } unset($_SESSION['edit_resp_critere_id_classe']); } } //++++++++++++++++++++++++ if((isset($critere_etat))&&($critere_etat!="")) { $_SESSION['edit_resp_critere_etat']=$critere_etat; } if($critere_etat=="") { if(isset($_SESSION['edit_resp_critere_etat'])) { if(isset($_GET['test_recup_critere'])) { $critere_etat=$_SESSION['edit_resp_critere_etat']; } unset($_SESSION['edit_resp_critere_etat']); } } //++++++++++++++++++++++++ if((isset($critere_auth_mode))&&(is_array($critere_auth_mode))&&(count($critere_auth_mode)>0)) { $_SESSION['edit_resp_critere_auth_mode']=$critere_auth_mode; } if(count($critere_auth_mode)==0) { if(isset($_SESSION['edit_resp_critere_auth_mode'])) { if(isset($_GET['test_recup_critere'])) { $critere_auth_mode=$_SESSION['edit_resp_critere_auth_mode']; } unset($_SESSION['edit_resp_critere_auth_mode']); } } if((isset($critere_etat))&&($critere_etat!="")) { $_SESSION['edit_resp_critere_etat']=$critere_etat; } //++++++++++++++++++++++++ if((isset($critere_limit))&&($critere_limit!="")&&($critere_limit>19)) { $_SESSION['edit_resp_critere_limit']=$critere_limit; } if($critere_limit=="") { if(isset($_SESSION['edit_resp_critere_limit'])) { if(isset($_GET['test_recup_critere'])) { $critere_limit=$_SESSION['edit_resp_critere_limit']; } unset($_SESSION['edit_resp_critere_limit']); } } //++++++++++++++++++++++++ $rowspan=6; $sql="SELECT DISTINCT u.*,rp.pers_id FROM utilisateurs u, resp_pers rp, responsables2 r, eleves e WHERE u.statut='responsable' AND rp.login=u.login AND rp.pers_id=r.pers_id AND r.ele_id=e.ele_id AND e.login NOT IN (SELECT login FROM j_eleves_classes) ORDER BY u.nom,u.prenom;"; //echo "$sql
"; $test_parents = mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_parents)>0) { $rowspan++; } echo "
\n"; //echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; /* $sql="SELECT u.*,rp.pers_id FROM utilisateurs u, resp_pers rp, responsables2 r, eleves e WHERE u.statut='responsable' AND rp.login=u.login AND rp.pers_id=r.pers_id AND r.ele_id=e.ele_id AND e.login NOT IN (SELECT login FROM j_eleves_classes) ORDER BY u.nom,u.prenom;"; //echo "$sql
"; $test_parents = mysql_query($sql); */ if(mysqli_num_rows($test_parents)>0) { $nb_resp_anormaux_actifs=0; while($lig_resp_anormaux=mysqli_fetch_object($test_parents)) { if($lig_resp_anormaux->etat=='actif') { $nb_resp_anormaux_actifs++; } } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } $style_etat_actif=""; $sql="SELECT 1=1 FROM utilisateurs u, resp_pers rp WHERE u.login=rp.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, resp_pers rp WHERE u.login=rp.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, resp_pers rp WHERE u.login=rp.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, resp_pers rp WHERE u.login=rp.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, resp_pers rp WHERE u.login=rp.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'";} echo "\n"; echo "\n"; echo "\n"; echo "\n"; $sql="SELECT 1=1 FROM utilisateurs u, resp_pers rp WHERE u.login=rp.login;"; $res_resp=mysqli_query($GLOBALS["mysqli"], $sql); $nb_resp=mysqli_num_rows($res_resp); echo "\n"; 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 responsables ayant un login dont le nom contient : "; echo "\n"; echo "\n"; echo "
\n"; echo " les responsables ayant un login qui contient : "; echo "\n"; echo "\n"; echo "
\n"; echo " les responsables (ayant un login) d'élève(s) de la classe de : "; echo "\n"; echo "\n"; echo "
\n"; echo "ou"; echo "
\n"; echo " (".mysqli_num_rows($test_parents)." dont ".$nb_resp_anormaux_actifs." actif"; if($nb_resp_anormaux_actifs>0) {echo "s";} echo ")\n"; echo "\n"; echo "
\n"; echo " les responsables (ayant un login) dont le compte est : "; echo "\n"; echo "
\n"; echo "\n"; echo "
\n"; echo " les responsables (ayant un login) dont mode d'authentification est : "; echo "\n"; echo "
\n"; echo "
\n"; echo "\n"; echo "
\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"; echo "
\n"; //==================================== echo "
\n"; echo " \n"; ?> 0) { $chaine_auth_mode=""; for($loop=0;$loop\n"; $quels_parents = mysqli_query($GLOBALS["mysqli"], $sql); // Effectif sans login avec filtrage sur le nom: $nb1 = mysqli_num_rows($quels_parents); $complement_nb_lignes=""; if((isset($nb_lignes_avant_limit))&&($nb_lignes_avant_limit!=$nb1)) { $complement_nb_lignes=" sur ".$nb_lignes_avant_limit; } $compteur_resp=0; $alt=1; while ($current_parent = mysqli_fetch_object($quels_parents)) { $alt=$alt*(-1); echo "\n"; echo "\n"; echo "\n"; /* echo "\n"; */ echo "\n"; echo "\n"; $sso_table_login_ent=""; //if(($current_parent->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_parent->login'", 'login_sso'); } echo "\n"; echo ""; if($current_parent->etat == "actif" && ($current_parent->auth_mode == "gepi" || $gepiSettings['ldap_write_access'] == "yes")) { echo ""; echo ""; echo ""; echo "\n"; } else { echo "\n"; } echo "\n"; echo "\n"; $compteur_resp++; flush(); } echo "
Identifiant Nom Prénom Responsable de Etat Mode auth. Supprimer Réinitialiser le mot de passe Fiche bienvenue
"; echo "".$current_parent->login.""; echo ""; echo $current_parent->nom . " " . $current_parent->prenom; echo ""; echo "A REVOIR: un responsable peut être resp_legal 1,2 ou 0 selon l'enfant"; echo $current_parent->resp_legal; echo ""; /* $sql="SELECT DISTINCT e.login, e.nom,e.prenom,c.classe FROM eleves e, j_eleves_classes jec, classes c, responsables2 r WHERE e.login=jec.login AND jec.id_classe=c.id AND r.ele_id=e.ele_id AND r.pers_id='$current_parent->pers_id' AND (r.resp_legal='1' OR r.resp_legal='2') ORDER BY e.nom,e.prenom"; */ $sql="SELECT DISTINCT e.login, e.nom,e.prenom, e.ele_id,c.classe, r.resp_legal, r.acces_sp FROM eleves e, j_eleves_classes jec, classes c, responsables2 r WHERE e.login=jec.login AND jec.id_classe=c.id AND r.ele_id=e.ele_id AND r.pers_id='$current_parent->pers_id' ORDER BY e.nom,e.prenom"; $res_enfants=mysqli_query($GLOBALS["mysqli"], $sql); //echo "$sql
"; if(mysqli_num_rows($res_enfants)==0){ echo "Aucun élève"; } else{ while($current_enfant=mysqli_fetch_object($res_enfants)){ echo "".casse_mot($current_enfant->prenom,'majf2')." ".casse_mot($current_enfant->nom,'maj')." (".$current_enfant->classe.")"; if($current_enfant->resp_legal==0) { if(getSettingAOui('GepiMemesDroitsRespNonLegaux')) { if($current_enfant->acces_sp=='y') { echo " pers_id&ele_id=".$current_enfant->ele_id."&acces_resp_legal_0=n"; if(isset($critere_recherche)) {echo "&critere_recherche=".$critere_recherche;} if(isset($critere_recherche_login)) {echo "&critere_recherche_login=".$critere_recherche_login;} if(isset($critere_id_classe)) {echo "&critere_id_classe=".$critere_id_classe;} if(isset($afficher_tous_les_resp)) {echo "&afficher_tous_les_resp=".$afficher_tous_les_resp;} echo add_token_in_url()."'"; echo " onclick=\"return confirm_abandon (this, change, '$themessage')\""; echo ">prenom $current_parent->nom a accès aux données notes, CDT,... de l'élève (si ces modules sont actifs). Cliquer pour retirer l'accès.\" />"; } else { echo " pers_id&ele_id=".$current_enfant->ele_id."&acces_resp_legal_0=y"; if(isset($critere_recherche)) {echo "&critere_recherche=".$critere_recherche;} if(isset($critere_recherche_login)) {echo "&critere_recherche_login=".$critere_recherche_login;} if(isset($critere_id_classe)) {echo "&critere_id_classe=".$critere_id_classe;} if(isset($afficher_tous_les_resp)) {echo "&afficher_tous_les_resp=".$afficher_tous_les_resp;} echo add_token_in_url()."'"; echo " onclick=\"return confirm_abandon (this, change, '$themessage')\""; echo ">prenom $current_parent->nom n'a pas accès aux données notes, CDT,... de l'élève (si ces modules sont actifs). Cliquer pour donner l'accès.\" />"; } } } echo " "; echo ""; echo $current_enfant->resp_legal; echo ""; echo "
\n"; } } echo "
"; echo "login', 'etat_".$current_parent->login."') ;return false;\" title=\"Changer l'état actif/inactif.\">"; if ($current_parent->etat == "actif") { echo ""; } else { echo ""; } echo "\n"; echo ""; echo "login', '$current_parent->auth_mode', '$sso_table_login_ent') ;return false;\">"; echo ""; echo $current_parent->auth_mode; if(($current_parent->auth_mode=="sso")&&(getSettingAOui('sso_cas_table'))) { echo temoin_compte_sso($current_parent->login); } echo ""; echo ""; echo ""; echo "Supprimer"; echo ""; //echo "
"; echo "login."&user_status=responsable&mode=html"."&test_recup_critere=y".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' title=\"Une fiche bienvenue sera générée avec les informations login/mot de passe.\">Aléatoirement"; echo "
"; echo "login."&user_status=responsable&mode=html&affiche_adresse_resp=y"."&test_recup_critere=y".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' title=\"Une fiche bienvenue sera générée avec les informations login/mot de passe.\n\nLa fiche bienvenue comportera un cadre Adresse du responsable pour un envoi courrier papier.\">Aléa.avec adresse"; echo ""; echo "login."&user_status=responsable&mode=html&envoi_mail=y"."&test_recup_critere=y".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' title=\"Une fiche bienvenue sera générée avec les informations login/mot de passe.\nCette fiche sera affichée et envoyée par mail.\">Aléa.avec envoi mail"; echo ""; echo "login."&test_recup_critere=y".add_token_in_url()."\" 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"; echo " "; echo ""; echo "nom $current_parent->prenom. Le mot de passe n'est pas modifié, ni affiché.\">Fiche.B.\n"; echo "
\n"; aff_time(); echo "

$compteur_resp ligne(s)".$complement_nb_lignes." affichée(s).

\n"; echo "
\n"; ?> Pour créer de nouveaux comptes d'accès associés aux responsables d'élèves définis dans Gepi, vous devez cliquer sur le lien 'Ajouter de nouveaux comptes' ci-dessus.

"; } echo "

NOTES :

Si vous générez des Fiches bienvenue avec Bloc adresse du responsable de l'élève, il peut arriver que si les paramètres sont mal choisis, l'adresse n'apparaisse pas... ou hors champ.

\n"; echo "

Contrôler les paramétrages aberrants pour un format A4 ou un un format A3

"; if(isset($_GET['check_param_bloc_adresse_html'])) { if($_GET['check_param_bloc_adresse_html']=='a4') { echo "

Contrôle des paramètres pour la version A4 :

"; $retour_check=check_param_bloc_adresse_html('a4'); } else { echo "

Contrôle des paramètres pour la version A3 :

"; $retour_check=check_param_bloc_adresse_html('a3'); } if($retour_check=='') { echo "

"; echo "Pas de valeur aberrante trouvée."; } else { echo "

"; echo "".$retour_check; } echo "

"; } echo "

Remarque : Le bloc adresse des responsables d'un élève est positionné dans les bulletins HTML et Fiches Bienvenue avec les mêmes paramètres.
Ils sont définis dans la page Paramètres d'impression des bulletins

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


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