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();
}
$sql="SELECT 1=1 FROM droits WHERE id='/utilisateurs/ajax_modif_utilisateur.php';";
$test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($test)==0) {
$sql="INSERT INTO droits SET id='/utilisateurs/ajax_modif_utilisateur.php',
administrateur='V',
professeur='F',
cpe='F',
scolarite='F',
eleve='F',
responsable='F',
secours='F',
autre='F',
description='Ajax : Modification utilisateur',
statut='';";
$insert=mysqli_query($GLOBALS["mysqli"], $sql);
}
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
check_token();
header('Content-Type: text/html; charset=utf-8');
$mode=isset($_POST['mode']) ? $_POST['mode'] : (isset($_GET['mode']) ? $_GET['mode'] : "");
$login_user=isset($_POST['login_user']) ? $_POST['login_user'] : (isset($_GET['login_user']) ? $_GET['login_user'] : "");
$auth_mode_user=isset($_POST['auth_mode_user']) ? $_POST['auth_mode_user'] : (isset($_GET['auth_mode_user']) ? $_GET['auth_mode_user'] : "");
$sso_table_login_ent=isset($_POST['sso_table_login_ent']) ? $_POST['sso_table_login_ent'] : (isset($_GET['sso_table_login_ent']) ? $_GET['sso_table_login_ent'] : NULL);
/*
echo "\$mode=$mode
";
echo "\$login_user=$login_user
";
echo "\$auth_mode=$auth_mode
";
*/
//debug_var();
if($mode=="get_sso_table_login_ent") {
check_token();
echo get_valeur_champ('sso_table_correspondance', "login_gepi='$login_user'", 'login_sso');
die();
}
elseif($mode=='changer_auth_mode2') {
//**************** EN-TETE *****************
$titre_page = "Changer le auth_mode d'un compte";
require_once("../lib/header.inc.php");
//**************** FIN EN-TETE *****************
echo "
ERREUR : Aucun login n'a été transmis.
\n"; require("../lib/footer.inc.php"); die(); } $sql="SELECT auth_mode, nom, prenom FROM utilisateurs WHERE login='$login_user';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "ERREUR : Le compte $login_user n'existe pas.
\n"; require("../lib/footer.inc.php"); die(); } $lig_user=mysqli_fetch_object($res); $nom_user=$lig_user->nom; $prenom_user=$lig_user->prenom; $auth_mode_user=$lig_user->auth_mode; $tab_auth_mode=array('gepi', 'ldap', 'sso'); echo "\n"; require("../lib/footer.inc.php"); die(); } elseif($mode=='changer_auth_mode') { if(isset($_POST['modif_sans_js'])) { //**************** EN-TETE ***************** $titre_page = "Changer le auth_mode d'un compte"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** echo ""; echo "Modification auth_mode de $login_user : ";
}
$tab_auth_mode=array('gepi', 'ldap', 'sso');
if(($login_user=='')||($auth_mode_user=='')||(!in_array($auth_mode_user,$tab_auth_mode))) {
echo " KO";
return false;
die();
}
if($login_user==$_SESSION['login']) {
echo " KO";
return false;
die();
}
$sql="SELECT 1=1 FROM utilisateurs WHERE login='$login_user';";
$test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($test)==0) {
echo " KO";
return false;
die();
}
$chaine_vidage_mdp="";
if((($auth_mode_user=="ldap")||($auth_mode_user=="sso"))&&
(!getSettingAOui('auth_sso_ne_pas_vider_MDP_gepi'))) {
$sql="SELECT auth_mode FROM utilisateurs WHERE login='".$login_user."';";
$res_old_auth_mode=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_old_auth_mode)>0) {
$lig_old_auth_mode=mysqli_fetch_object($res_old_auth_mode);
if($lig_old_auth_mode->auth_mode=="gepi") {
$chaine_vidage_mdp=", password='', salt='', change_mdp='n' ";
}
}
}
$sql="UPDATE utilisateurs SET auth_mode='$auth_mode_user' $chaine_vidage_mdp WHERE login='$login_user';";
//echo "$sql
";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if($res) {
if((getSettingAOui('sso_cas_table'))&&(isset($sso_table_login_ent))) {
$sql="SELECT login_gepi FROM sso_table_correspondance WHERE login_sso='$sso_table_login_ent' AND login_sso!='' AND login_gepi!='$login_user';";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res)>0) {
$lig=mysqli_fetch_object($res);
echo " ERREUR : $sso_table_login_ent est déjà attribué à ".$lig->login_gepi." ";
}
else {
$sql="SELECT 1=1 FROM sso_table_correspondance WHERE login_gepi='$login_user';";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res)>0) {
$sql="UPDATE sso_table_correspondance SET login_sso='$sso_table_login_ent' WHERE login_gepi='$login_user';";
$update=mysqli_query($GLOBALS["mysqli"], $sql);
}
else {
$sql="INSERT INTO sso_table_correspondance SET login_sso='$sso_table_login_ent', login_gepi='$login_user';";
$insert=mysqli_query($GLOBALS["mysqli"], $sql);
}
}
}
if(($auth_mode_user=="sso")&&(getSettingAOui('sso_cas_table'))) {
echo temoin_compte_sso($login_user);
}
else {
echo "$auth_mode_user";
}
}
else {
echo "ERREUR";
}
if(isset($_POST['modif_sans_js'])) {
echo "
ERREUR : Aucun login n'a été transmis.
\n"; require("../lib/footer.inc.php"); die(); } $sql="SELECT auth_mode, nom, prenom FROM utilisateurs WHERE login='$login_user';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "ERREUR : Le compte $login_user n'existe pas.
\n"; require("../lib/footer.inc.php"); die(); } $lig_user=mysqli_fetch_object($res); $nom_user=$lig_user->nom; $prenom_user=$lig_user->prenom; $etat=$lig_user->etat; echo "\n"; require("../lib/footer.inc.php"); die(); } elseif($mode == "changer_etat_user") { if(isset($_POST['modif_sans_js'])) { //**************** EN-TETE ***************** $titre_page = "Changer l'état d'un compte"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** echo ""; echo "Modification de l'état de $login_user : ";
}
if($login_user==$_SESSION['login']) {
echo " KO";
return false;
die();
}
$sql="SELECT etat FROM utilisateurs WHERE login='$login_user';";
$test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($test)==0) {
echo " KO";
return false;
die();
}
$lig=mysqli_fetch_object($test);
if($lig->etat == "actif") {
$etat="inactif";
}
else {
$etat="actif";
}
$sql="UPDATE utilisateurs SET etat='$etat' WHERE login='$login_user';";
//echo "$sql
";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if($res) {
//echo "$etat";
if($etat=='actif') {
echo "
";
}
else {
echo "
";
}
}
else {
echo "ERREUR";
}
if(isset($_POST['modif_sans_js'])) {
echo "