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();
}
$id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : (isset($_GET['id_classe']) ? $_GET['id_classe'] : NULL);
if((!isset($id_classe))||(!preg_match("/^[0-9]{1,}$/", $id_classe))) {
header("Location: ../accueil.php?msg=Classe non choisie.");
die();
}
include "../lib/periodes.inc.php";
$_SESSION['chemin_retour'] = $gepiPath."/classes/classes_const.php?id_classe=".$id_classe;
$explication_motif_bloquant_suppression_eleve_de_la_classe="La présence de moyennes, appréciations ou avis du conseil de classe est bloquante pour la suppression d'un élève d'une classe.
Vous pouvez demander aux professeurs de vider leurs notes et appréciations pour le ou les élèves en question.
Sinon, un compte de statut 'secours' permet de corriger/vider des moyennes, appréciations et/ou avis du conseil de classe en se rendant dans la rubrique Saisie/Bulletin : saisie des moyennes et des appréciations par matière/Choix d'un élève.";
if (isset($is_posted)) {
check_token();
$reg_ok = 'yes';
$call_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT e.* FROM eleves e, j_eleves_classes c WHERE (c.id_classe = '$id_classe' AND e.login = c.login)");
$nombreligne = mysqli_num_rows($call_eleves);
//=========================
// AJOUT: boireaus 20071010
$log_eleve=$_POST['log_eleve'];
$regime_eleve=isset($_POST['regime_eleve']) ? $_POST['regime_eleve'] : NULL;
$doublant_eleve=isset($_POST['doublant_eleve']) ? $_POST['doublant_eleve'] : NULL;
$prof_principal=isset($_POST['prof_principal']) ? $_POST['prof_principal'] : NULL;
$cpe_resp=isset($_POST['cpe_resp']) ? $_POST['cpe_resp'] : NULL;
//=========================
$k = 0;
While ($k < $nombreligne) {
$login_eleve = old_mysql_result($call_eleves, $k, 'login');
//echo "
\$login_eleve=$login_eleve
\n";
//=========================
// AJOUT: boireaus 20071003
// Récupération du numéro de l'élève dans les saisies:
$num_eleve=-1;
for($i=0;$i
\n";
//echo "$login_eleve - \$reg_prof=\$prof_principal[$num_eleve]=".$prof_principal[$num_eleve]."
";
//=========================
$call_profsuivi_eleve = mysqli_query($GLOBALS["mysqli"], "SELECT professeur FROM j_eleves_professeurs WHERE (login = '$login_eleve' AND id_classe='$id_classe')");
$eleve_profsuivi = @old_mysql_result($call_profsuivi_eleve, '0', 'professeur');
//echo "\$eleve_profsuivi=$eleve_profsuivi
\n";
if (($reg_prof == '(vide)') and ($eleve_profsuivi != '')) {
$sql="DELETE FROM j_eleves_professeurs WHERE (login='$login_eleve' AND id_classe='$id_classe')";
//echo "$sql
";
$reg_data = mysqli_query($GLOBALS["mysqli"], $sql);
if (!($reg_data)){
$reg_ok = 'no';
//echo "PB";
}
}
if (($reg_prof != '(vide)') and ($eleve_profsuivi != '') and ($reg_prof != $eleve_profsuivi)) {
$sql="UPDATE j_eleves_professeurs SET professeur ='$reg_prof' WHERE (login='$login_eleve' AND id_classe='$id_classe')";
//echo "$sql
";
$reg_data = mysqli_query($GLOBALS["mysqli"], $sql);
if (!($reg_data)){
$reg_ok = 'no';
//echo "PB";
}
}
if (($reg_prof != '(vide)') and ($eleve_profsuivi == '')) {
$sql="INSERT INTO j_eleves_professeurs VALUES ('$login_eleve', '$reg_prof', '$id_classe')";
//echo "$sql
";
$reg_data = mysqli_query($GLOBALS["mysqli"], $sql);
if (!($reg_data)){
$reg_ok = 'no';
//echo "PB";
}
}
//=========================
// MODIF: boireaus 20071010
//$cpe_login = "cpe_".$login_eleve;
//$reg_cperesp = isset($_POST[$cpe_login])?$_POST[$cpe_login]:NULL;
//$reg_cperesp="(vide)";
$reg_cperesp="(vide)";
if(isset($cpe_resp[$num_eleve])){$reg_cperesp=$cpe_resp[$num_eleve];}
//echo "\$reg_cperesp=$reg_cperesp
\n";
//=========================
$call_cperesp_eleve = mysqli_query($GLOBALS["mysqli"], "SELECT cpe_login FROM j_eleves_cpe WHERE e_login = '$login_eleve'");
$eleve_cperesp = @old_mysql_result($call_cperesp_eleve, '0', 'cpe_login');
if (($reg_cperesp == '(vide)') and ($eleve_cperesp != '')) {
$sql="DELETE FROM j_eleves_cpe WHERE e_login='$login_eleve'";
//echo "$sql
";
$reg_data = mysqli_query($GLOBALS["mysqli"], $sql);
if (!($reg_data)){
$reg_ok = 'no';
//echo "PB";
}
}
if (($reg_cperesp != '(vide)') and ($eleve_cperesp != '') and ($reg_cperesp != $eleve_cperesp)) {
$sql="UPDATE j_eleves_cpe SET cpe_login ='$reg_cperesp' WHERE e_login='$login_eleve'";
//echo "$sql
";
$reg_data = mysqli_query($GLOBALS["mysqli"], $sql);
if (!($reg_data)){
$reg_ok = 'no';
//echo "PB";
}
}
if (($reg_cperesp != '(vide)') and ($eleve_cperesp == '')) {
$sql="INSERT INTO j_eleves_cpe VALUES ('$login_eleve', '$reg_cperesp')";
//echo "$sql
";
$reg_data = mysqli_query($GLOBALS["mysqli"], $sql);
if (!($reg_data)){
$reg_ok = 'no';
//echo "PB";
}
}
}
$k++;
}
$k = '0';
$liste_cible = '';
$liste_cible2 = '';
$liste_cible3 = '';
$autorisation_sup = 'yes';
while ($k < $nombreligne){
$eleve_login = old_mysql_result($call_eleves, $k, "login");
//echo "
\$eleve_login=$eleve_login et ";
//=========================
// AJOUT: boireaus 20071003
// Récupération du numéro de l'élève dans les saisies:
$num_eleve=-1;
for($i=0;$i
";
$test = mysqli_query($GLOBALS["mysqli"], $sql);
$nb_test = mysqli_num_rows($test);
$sql="SELECT * FROM matieres_appreciations WHERE (login='$eleve_login' and periode='$i')";
//echo "$sql
";
$test_app = mysqli_query($GLOBALS["mysqli"], $sql);
$nb_test_app = mysqli_num_rows($test_app);
$sql="SELECT * FROM avis_conseil_classe WHERE (login='$eleve_login' and periode='$i' and avis!='')";
//echo "$sql
";
$test_app_conseil = mysqli_query($GLOBALS["mysqli"], $sql);
$nb_test_app_conseil = mysqli_num_rows($test_app_conseil);
if (($nb_test != 0) or ($nb_test_app != 0) or ($nb_test_app_conseil != 0)) {
$motif_bloquant="";
if ($nb_test != 0) {
$motif_bloquant.=$nb_test." moyenne(s)";
}
if ($nb_test_app != 0) {
if($motif_bloquant!="") {$motif_bloquant.=", ";}
$motif_bloquant.=$nb_test_app." appréciation(s)";
}
if ($nb_test_app_conseil != 0) {
if($motif_bloquant!="") {$motif_bloquant.=", ";}
$motif_bloquant.="un avis du conseil de classe";
}
$autorisation_sup = 'no';
if(!isset($msg)) {$msg="";}
$msg.="--> Impossible de retirer l'élève $eleve_login de la classe pour la période $i !
Cet(te) élève a $motif_bloquant pour cette période. Commencez par supprimer les données de l'élève pour cette période !
\n";
$reg_ok = "impossible";
} else {
$liste_cible .= $eleve_login.";";
$liste_cible2 .= $i.";";
$liste_cible3 .= $id_classe.";";
}
}
$i++;
}
}
$k++;
}
//debug_var();
if($autorisation_sup=='no') {
$msg.="De façon générale : ".$explication_motif_bloquant_suppression_eleve_de_la_classe."
";
}
if (($liste_cible != '') and ($autorisation_sup != 'no')) {
header("Location: ../lib/confirm_query.php?liste_cible=$liste_cible&liste_cible2=$liste_cible2&liste_cible3=$liste_cible3&action=retire_eleve".add_token_in_url(false));
}
if ($reg_ok == 'yes') {
//$message_enregistrement = "Les modifications ont été enregistrées !";
if(!isset($msg)){$msg="";}
$msg.="Les modifications ont été enregistrées !";
} else if ($reg_ok == "impossible") {
$message_enregistrement = "Opération Impossible (voir message d'avertissement en rouge).";
$affiche_message = 'yes';
} else {
//$message_enregistrement = "Il y a eu un problème lors de l'enregistrement";
$message_enregistrement="Il y a eu un problème lors de l'enregistrement";
$affiche_message = 'yes';
}
//$affiche_message = 'yes';
}
if(isset($_GET['add_eleve_classe'])) {
check_token();
//add_eleve_classe=y&num_periode=$i&id_classe=$id_classe&login_eleve=$login_eleve
$login_eleve=isset($_GET['login_eleve']) ? $_GET['login_eleve'] : NULL;
$num_periode=isset($_GET['num_periode']) ? $_GET['num_periode'] : NULL;
if(($num_periode=='')||(preg_match("/[^0-9]/", $num_periode))) {
$msg="Numéro de période $num_periode invalide pour l'ajout de $login_eleve dans la classe.";
}
elseif(($login_eleve=='')||(preg_match("/[^A-Za-z0-9\._-]/", $login_eleve))) {
$msg="Login élève $login_eleve invalide pour l'ajout dans la classe en période $num_periode.";
}
else {
//$sql="SELECT id_classe FROM j_eleves_classes WHERE login='$login_eleve' AND id_classe='$id_classe' AND periode='$num_periode';";
$sql="SELECT id_classe FROM j_eleves_classes WHERE login='$login_eleve' AND periode='$num_periode';";
$test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($test)>0) {
$lig=mysqli_fetch_object($test);
$msg="$login_eleve est déjà inscrit dans la classe ".get_class_from_id($lig->id_classe)." en période $num_periode.";
}
else {
$sql="INSERT INTO j_eleves_classes SET login='$login_eleve', id_classe='$id_classe', periode='$num_periode';";
$insert=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$insert) {
$msg="Erreur lors de l'ajout de $login_eleve dans la classe en période $num_periode.";
}
else {
$msg="Ajout de $login_eleve dans la classe en période $num_periode effectué.
Pensez à définir les matières suivies.";
}
}
}
}
// =================================
// AJOUT: boireaus
$chaine_options_classes="";
$sql="SELECT id, classe FROM classes ORDER BY classe";
$res_class_tmp=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_class_tmp)>0){
$id_class_prec=0;
$id_class_suiv=0;
$temoin_tmp=0;
$cpt_classe=0;
$num_classe=-1;
while($lig_class_tmp=mysqli_fetch_object($res_class_tmp)){
if($lig_class_tmp->id==$id_classe){
// Index de la classe dans les \n";
$temoin_tmp=1;
if($lig_class_tmp=mysqli_fetch_object($res_class_tmp)){
$chaine_options_classes.="\n";
$id_class_suiv=$lig_class_tmp->id;
}
else{
$id_class_suiv=0;
}
}
else {
$chaine_options_classes.="\n";
}
if($temoin_tmp==0){
$id_class_prec=$lig_class_tmp->id;
}
$cpt_classe++;
}
}
// =================================
$themessage = 'Des informations ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?';
//**************** EN-TETE **************************************
$titre_page = "Gestion des classes | Gestion des élèves";
require_once("../lib/header.inc.php");
//**************** FIN EN-TETE **********************************
$call_classe = mysqli_query($GLOBALS["mysqli"], "SELECT classe FROM classes WHERE id = '$id_classe'");
$classe = old_mysql_result($call_classe, "0", "classe");
//debug_var();
//=============================
$gepi_prof_suivi=ucfirst(retourne_denomination_pp($id_classe));
if(!isset($quitter_la_page)){
echo "
NOTE : ".$explication_motif_bloquant_suppression_eleve_de_la_classe."
\n"; require("../lib/footer.inc.php"); ?>