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();
}
//if(isset($suppr_resp)){
if((isset($suppr_resp1))||(isset($suppr_resp2))||(isset($suppr_resp0))) {
check_token();
$msg="";
if(isset($suppr_resp1)){
$suppr_resp=$suppr_resp1;
for($i=0;$i
\n";
$res_test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_test)==0){
// On vérifie que la personne existe et on en récupère l'identifiant d'adresse (éventuellement vide)
$sql="SELECT adr_id, login FROM resp_pers WHERE pers_id='$suppr_resp[$i]';";
//echo "$sql
\n";
$res1=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res1)>0){
$lig1=mysqli_fetch_object($res1);
$sql="SELECT statut FROM utilisateurs WHERE login='$lig1->login';";
//echo "$sql
\n";
$res3=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res3)>0){
$lig3=mysqli_fetch_object($res3);
if($lig3->statut=='responsable') {
$sql="DELETE FROM utilisateurs WHERE login='$lig1->login';";
//echo "$sql
\n";
$res4=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res4){
$msg.="Erreur lors de la suppression du compte d'utilisateur $lig1->login.
\n";
}
else {
$msg.="Compte d'utilisateur $lig1->login supprimé.
\n";
}
}
else {
$msg.="ANOMALIE: Un compte d'utilisateur existe associé au login $lig1->login, mais pas de statut responsable : $lig3->statut
\n";
}
}
$sql="SELECT statut FROM tempo_utilisateurs WHERE login='$lig1->login';";
//echo "$sql
\n";
$res3=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res3)>0){
$lig3=mysqli_fetch_object($res3);
if($lig3->statut=='responsable') {
$sql="DELETE FROM tempo_utilisateurs WHERE login='$lig1->login';";
//echo "$sql
\n";
$res4=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res4){
$msg.="Erreur lors de la suppression du compte d'utilisateur $lig1->login de la table 'tempo_utilisateurs'.
\n";
}
else {
$msg.="Compte d'utilisateur $lig1->login supprimé de la table 'tempo_utilisateurs'.
\n";
}
}
else {
$msg.="ANOMALIE: Un compte d'utilisateur existe associé au login $lig1->login dans la table 'tempo_utilisateurs', mais pas de statut responsable : $lig3->statut
\n";
}
}
$sql="DELETE FROM resp_pers WHERE pers_id='$suppr_resp[$i]';";
//echo "$sql
\n";
$res2=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res2){
$msg.="Erreur lors de la suppression du responsable $suppr_resp[$i] de la table 'resp_pers'.
\n";
}
else{
// On supprime l'adresse si elle n'est plus associée à aucun parent
$sql="SELECT 1=1 FROM resp_pers WHERE adr_id='$lig1->adr_id';";
//echo "$sql
\n";
$res3=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res3)==0){
$sql="DELETE FROM resp_adr WHERE adr_id='$lig1->adr_id';";
//echo "$sql
\n";
$res4=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res4){
$msg.="Erreur lors de la suppression de l'adresse $lig1->adr_id de la table 'resp_adr'.
\n";
}
}
}
}
}
}
else{
$msg.="Erreur lors de la suppression du responsable $suppr_resp[$i] de la table 'responsables2'.
";
}
}
}
if(isset($suppr_resp)){
unset($suppr_resp);
}
if(isset($suppr_resp2)){
$suppr_resp=$suppr_resp2;
for($i=0;$i
\n";
$res_test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_test)==0){
// On vérifie que la personne existe et on en récupère l'identifiant d'adresse (éventuellement vide)
$sql="SELECT adr_id, login FROM resp_pers WHERE pers_id='$suppr_resp[$i]';";
//echo "$sql
\n";
$res1=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res1)>0){
$lig1=mysqli_fetch_object($res1);
$sql="SELECT statut FROM utilisateurs WHERE login='$lig1->login';";
//echo "$sql
\n";
$res3=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res3)>0){
$lig3=mysqli_fetch_object($res3);
if($lig3->statut=='responsable') {
$sql="DELETE FROM utilisateurs WHERE login='$lig1->login';";
//echo "$sql
\n";
$res4=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res4){
$msg.="Erreur lors de la suppression du compte d'utilisateur $lig1->login.
\n";
}
else {
$msg.="Compte d'utilisateur $lig1->login supprimé.
\n";
}
}
else {
$msg.="ANOMALIE: Un compte d'utilisateur existe associé au login $lig1->login, mais pas de statut responsable : $lig3->statut
\n";
}
}
$sql="SELECT statut FROM tempo_utilisateurs WHERE login='$lig1->login';";
//echo "$sql
\n";
$res3=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res3)>0){
$lig3=mysqli_fetch_object($res3);
if($lig3->statut=='responsable') {
$sql="DELETE FROM tempo_utilisateurs WHERE login='$lig1->login';";
//echo "$sql
\n";
$res4=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res4){
$msg.="Erreur lors de la suppression du compte d'utilisateur $lig1->login de la table 'tempo_utilisateurs'.
\n";
}
else {
$msg.="Compte d'utilisateur $lig1->login supprimé de la table 'tempo_utilisateurs'.
\n";
}
}
else {
$msg.="ANOMALIE: Un compte d'utilisateur existe associé au login $lig1->login dans la table 'tempo_utilisateurs', mais pas de statut responsable : $lig3->statut
\n";
}
}
$sql="DELETE FROM resp_pers WHERE pers_id='$suppr_resp[$i]';";
//echo "$sql
\n";
$res2=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res2){
$msg.="Erreur lors de la suppression du responsable $suppr_resp[$i] de la table 'resp_pers'.
\n";
}
else{
// On supprime l'adresse si elle n'est plus associée à aucun parent
$sql="SELECT 1=1 FROM resp_pers WHERE adr_id='$lig1->adr_id';";
//echo "$sql
\n";
$res3=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res3)==0){
$sql="DELETE FROM resp_adr WHERE adr_id='$lig1->adr_id';";
//echo "$sql
\n";
$res4=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res4){
$msg.="Erreur lors de la suppression de l'adresse $lig1->adr_id de la table 'resp_adr'.
\n";
}
}
}
}
}
}
else{
$msg.="Erreur lors de la suppression du responsable $suppr_resp[$i] de la table 'responsables2'.
";
}
}
}
if(isset($suppr_resp)){
unset($suppr_resp);
}
if(isset($suppr_resp0)){
// Suppression des personnes non responsables d'élèves
$suppr_resp=$suppr_resp0;
for($i=0;$i
\n";
$res3=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res3)>0){
$lig3=mysqli_fetch_object($res3);
if($lig3->statut=='responsable') {
$sql="DELETE FROM utilisateurs WHERE login='$lig1->login';";
//echo "$sql
\n";
$res4=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res4){
$msg.="Erreur lors de la suppression du compte d'utilisateur $lig1->login.
\n";
}
else {
$msg.="Compte d'utilisateur $lig1->login supprimé.
\n";
}
}
else {
$msg.="ANOMALIE: Un compte d'utilisateur existe associé au login $lig1->login, mais pas de statut responsable : $lig3->statut
\n";
}
}
$sql="SELECT statut FROM tempo_utilisateurs WHERE login='$lig1->login';";
//echo "$sql
\n";
$res3=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res3)>0){
$lig3=mysqli_fetch_object($res3);
if($lig3->statut=='responsable') {
$sql="DELETE FROM tempo_utilisateurs WHERE login='$lig1->login';";
//echo "$sql
\n";
$res4=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res4){
$msg.="Erreur lors de la suppression du compte d'utilisateur $lig1->login de la table 'tempo_utilisateurs'.
\n";
}
else {
$msg.="Compte d'utilisateur $lig1->login supprimé de la table 'tempo_utilisateurs'.
\n";
}
}
else {
$msg.="ANOMALIE: Un compte d'utilisateur existe associé au login $lig1->login dans la table 'tempo_utilisateurs', mais pas de statut responsable : $lig3->statut
\n";
}
}
$sql="DELETE FROM resp_pers WHERE pers_id='$suppr_resp[$i]';";
//echo "$sql
\n";
$res2=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res2){
$msg.="Erreur lors de la suppression du responsable $suppr_resp[$i] de la table 'resp_pers'.
\n";
}
else{
$sql="SELECT 1=1 FROM resp_pers WHERE adr_id='$lig1->adr_id';";
//echo "$sql
\n";
$res3=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res3)==0){
$sql="DELETE FROM resp_adr WHERE adr_id='$lig1->adr_id';";
//echo "$sql
\n";
$res4=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res4){
$msg.="Erreur lors de la suppression de l'adresse $lig1->adr_id de la table 'resp_adr'.
\n";
}
}
}
}
}
}
if($msg==''){
$msg="Suppression(s) réussie(s).";
}
}
//**************** EN-TETE *****************
$titre_page = "Gestion des ".$gepiSettings['denomination_responsables'];
require_once("../lib/header.inc.php");
//**************** FIN EN-TETE *****************
//debug_var();
//echo "\$num_resp=$num_resp
";
if(!getSettingValue('conv_new_resp_table')){
$sql="SELECT 1=1 FROM responsables";
$test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($test)>0){
echo "
Une conversion des données ".$gepiSettings['denomination_responsables']." est requise.
\n"; echo "Suivez ce lien: CONVERTIR
\n"; require("../lib/footer.inc.php"); die(); } $sql="SHOW COLUMNS FROM eleves LIKE 'ele_id'"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0){ echo "Une conversion des données ".$gepiSettings['denomination_eleves']."/".$gepiSettings['denomination_responsables']." est requise.
\n"; echo "Suivez ce lien: CONVERTIR
\n"; require("../lib/footer.inc.php"); die(); } else{ $sql="SELECT 1=1 FROM eleves WHERE ele_id=''"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0){ if ($_SESSION['statut'] == 'administrateur'){ echo "\n"; } else{ echo "\n"; } echo "Une conversion des données ".$gepiSettings['denomination_eleves']."/".$gepiSettings['denomination_responsables']." est requise.
\n"; echo "Suivez ce lien: CONVERTIR
\n"; require("../lib/footer.inc.php"); die(); } } } //echo "\$num_resp=$num_resp"; if ($_SESSION['statut'] == 'administrateur') { echo " Retour"; echo " | Ajouter un ".$gepiSettings['denomination_responsable']."\n"; if(getSettingValue("import_maj_xml_sconet")==1) { echo " | Mettre à jour depuis Sconet\n"; } //- Dédoublonner parents/homonymes $sql="SELECT pers_id,nom,prenom,COUNT(*) AS nb_doublons FROM resp_pers GROUP BY nom,prenom HAVING COUNT(*)>1 ORDER BY nom,prenom;"; $test_resp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_resp)>0) { echo " | Dédoublonner les responsables (".mysqli_num_rows($test_resp).")\n"; } //- Recup login et compte utilisateur $sql="SELECT 1=1 FROM tempo_utilisateurs WHERE statut='responsable' AND identifiant2 LIKE '%|%|%' AND temoin!='recree';"; $test_resp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_resp)>0) { echo " | Récup.comptes\n"; } if($num_resp!=0){ echo " | Personnes non associées\n"; } else{ echo " | Personnes associées\n"; } echo " | Gérer les adresses\n"; $sql="SELECT 1=1 FROM utilisateurs WHERE statut='responsable';"; $test_resp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_resp)>0) { echo " | Synchroniser les adresses mail responsables\n"; } } else{ echo " Retour"; } if($_SESSION['statut']=="scolarite") { echo " | Ajouter un ".$gepiSettings['denomination_responsable']."\n"; if((getSettingValue("import_maj_xml_sconet")==1)&&(getSettingAOui('GepiAccesMajSconetScol'))) { echo " | Mettre à jour depuis Sconet\n"; } //- Dédoublonner parents/homonymes $sql="SELECT pers_id,nom,prenom,COUNT(*) AS nb_doublons FROM resp_pers GROUP BY nom,prenom HAVING COUNT(*)>1 ORDER BY nom,prenom;"; $test_resp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_resp)>0) { echo " | Dédoublonner les responsables (".mysqli_num_rows($test_resp).")\n"; } /* //- Recup login et compte utilisateur $sql="SELECT 1=1 FROM tempo_utilisateurs WHERE statut='responsable' AND identifiant2 LIKE '%|%|%' AND temoin!='recree';"; $test_resp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_resp)>0) { echo " | Récup.comptes\n"; } */ $sql="SELECT 1=1 FROM utilisateurs WHERE statut='responsable';"; $test_resp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_resp)>0) { echo " | Synchroniser les adresses mail responsables\n"; } } if(($_SESSION['statut']=='administrateur')||($_SESSION['statut']=='scolarite')||($_SESSION['statut']=='cpe')) { echo " | Informations élèves/parents, tel, mail et adresse"; } if($_SESSION['statut']=="administrateur") {echo " | Comptes d'utilisateurs responsables\n";} echo "
\n"; $_SESSION['chemin_retour'] = $_SERVER['REQUEST_URI']; //if (!isset($order_by)) {$order_by = "nom1,prenom1";} //echo "\$num_resp=$num_respSuppression de responsabilités sans ".$gepiSettings['denomination_eleve'].".
Voici la liste des identifiants de ".$gepiSettings['denomination_responsables']." qui étaient associés à des ".$gepiSettings['denomination_eleves']." inexistants: \n";
$cpt_nett=0;
while($lig_nett=mysqli_fetch_object($test)){
if($cpt_nett>0){echo ", ";}
echo "".$lig_nett->pers_id."";
$sql="DELETE FROM responsables2 WHERE pers_id='$lig_nett->pers_id' AND ele_id='$lig_nett->ele_id';";
$nettoyage=mysqli_query($GLOBALS["mysqli"], $sql);
flush();
$cpt_nett++;
}
echo ".
$cpt_nett associations aberrantes supprimées.
\n"; } $sql="SELECT 1=1 FROM resp_pers rp LEFT JOIN responsables2 r ON r.pers_id=rp.pers_id WHERE r.pers_id is NULL"; if(isset($chaine_recherche)){ $sql.=" AND $chaine_recherche"; //echo "\n"; } } elseif(($order_by=="nom,prenom")&& (($num_resp==1)||($num_resp==2))) { if($critere_id_classe=="") { $sql="SELECT DISTINCT r.pers_id FROM resp_pers rp, responsables2 r WHERE rp.pers_id=r.pers_id AND r.resp_legal='$num_resp' "; if(isset($chaine_recherche)){ $sql.=" AND $chaine_recherche"; //echo "\n"; } $sql.=" ORDER BY $order_by"; } else { $sql="SELECT DISTINCT r.pers_id FROM resp_pers rp, responsables2 r, eleves e, j_eleves_classes jec WHERE rp.pers_id=r.pers_id AND r.resp_legal='$num_resp' AND r.ele_id=e.ele_id AND e.login=jec.login AND jec.id_classe='$critere_id_classe'"; if(isset($chaine_recherche)){ $sql.=" AND $chaine_recherche"; } $sql.=" ORDER BY rp.nom,rp.prenom"; } } elseif(($order_by=="nom,prenom")&&($num_resp=="ele")){ if($critere_id_classe=="") { $sql="SELECT DISTINCT r.ele_id,e.nom,e.prenom,e.login FROM responsables2 r, eleves e WHERE e.ele_id=r.ele_id "; if(isset($chaine_recherche)){ $sql.=" AND $chaine_recherche"; //echo "\n"; } $sql.=" ORDER BY e.nom,e.prenom"; } else { $sql="SELECT DISTINCT r.ele_id,e.nom,e.prenom,e.login FROM responsables2 r, eleves e, j_eleves_classes jec WHERE e.ele_id=r.ele_id AND e.login=jec.login AND jec.id_classe='$critere_id_classe'"; if(isset($chaine_recherche)){ $sql.=" AND $chaine_recherche"; //echo "\n"; } $sql.=" ORDER BY e.nom,e.prenom"; } } $sql_recherche_resp_sans_limit=$sql; //echo "$sql< br />"; $res1=mysqli_query($GLOBALS["mysqli"], $sql); $cpt=mysqli_num_rows($res1); // Dans le cas où la recherche ne retourne rien: if($cpt==0){ // $gepiSettings['denomination_responsables'] // On n'a pas forcément une recherche sur les responsables *légaux* echo "Aucun responsable trouvé "; if((isset($chaine_info_recherche))&&($chaine_info_recherche!="")) {echo "sur \"$chaine_info_recherche\"";} echo ".
\n"; //if($chaine_recherche!="") { if((isset($chaine_recherche))&&($chaine_recherche!="")) { // 20130714 echo "Retourner à l'index des responsables
"; // Pour le moment, il manque des infos dans le cas où on a fait une recherche sur un resp non légal if($num_resp!='0') { echo "Ou effectuer la même recherche parmi les :
\$chaine_recherche=$chaine_recherche et \$num_resp=$num_resp
"; if($critere_id_classe=="") { $sql="SELECT DISTINCT r.pers_id FROM resp_pers rp, responsables2 r WHERE rp.pers_id=r.pers_id AND r.resp_legal='$num_resp' "; if(isset($chaine_recherche)){ $sql.=" AND $chaine_recherche"; //echo "\n"; } $sql.=" ORDER BY $order_by"; } else { $sql="SELECT DISTINCT r.pers_id FROM resp_pers rp, responsables2 r, eleves e, j_eleves_classes jec WHERE rp.pers_id=r.pers_id AND r.resp_legal='$num_resp' AND r.ele_id=e.ele_id AND e.login=jec.login AND jec.id_classe='$critere_id_classe'"; if(isset($chaine_recherche)){ $sql.=" AND $chaine_recherche"; } $sql.=" ORDER BY rp.nom,rp.prenom"; } echo "";
if("$num_resp"=="0"){
echo ucfirst($gepiSettings['denomination_responsables'])." sans ".$gepiSettings['denomination_eleve']." associé";
}
elseif(($order_by=="nom,prenom")&&("$num_resp"=="1")) {
echo $gepiSettings['denomination_responsables']." triés par nom du ".$gepiSettings['denomination_responsable']." 1";
}
elseif(($order_by=="nom,prenom")&&("$num_resp"=="2")) {
echo ucfirst($gepiSettings['denomination_responsables'])." triés par nom du ".$gepiSettings['denomination_responsable']." 2";
}
elseif(($order_by=="nom,prenom")&&("$num_resp"=="ele")) {
echo ucfirst($gepiSettings['denomination_responsables'])." triés par nom d'élève";
}
if($chaine_info_recherche!=""){
echo "
dont ".$chaine_info_recherche;
}
echo "(effectif: $cpt)";
echo ".