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();
}
$msg_complement="";
if(getSettingValue('classes_ajout_debug_var')=='y') {
debug_var();
}
if(getSettingValue('classes_ajout_sans_regime')=='y') {
$classes_ajout_sans_regime="y";
}
else {
$classes_ajout_sans_regime="n";
}
// On ne propose pas de définir le régime quand suhosin est actif... on a alors trop de variables postées s'il y a beaucoup d'élèves
$suhosin_post_max_totalname_length=ini_get('suhosin.post.max_totalname_length');
if($suhosin_post_max_totalname_length!='') {
$classes_ajout_sans_regime="y";
}
$sql="SELECT classe FROM classes WHERE id = '$id_classe';";
$call_classe = mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($call_classe)==0) {
echo "La classe n°$id_classe (id_classe) n'existe pas.
\n";
die();
}
$classe = old_mysql_result($call_classe, "0", "classe");
include "../lib/periodes.inc.php";
if (isset($is_posted) and ($is_posted == 1)) {
check_token();
//$gepiProfSuivi=getSettingValue("gepi_prof_suivi");
$gepiProfSuivi=ucfirst(retourne_denomination_pp($id_classe));
$call_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT login, id_eleve FROM eleves ORDER BY nom, prenom;");
$nombreligne = mysqli_num_rows($call_eleves);
/*
$_POST['regime_1442']= d/p
$_POST['ajout_eleve_1442']= Array (*)
$_POST[ajout_eleve_1442]['1']= yes
$_POST['regime_1441']= d/p
$_POST['doublant_eleve_1441']= R
*/
$reg_data = 'yes';
$tab_ele_sans_cpe_defini=array();
$tab_ele_sans_pp_defini=array();
$k = '0';
while ($k < $nombreligne) {
$pb = 'no';
$login_eleve = old_mysql_result($call_eleves, $k, 'login');
$id_eleve = old_mysql_result($call_eleves, $k, 'id_eleve');
if(isset($_POST['ajout_eleve_'.$id_eleve])) {
$i=1;
while ($i < $nb_periode) {
$tab_per_ajout_eleve=$_POST['ajout_eleve_'.$id_eleve];
if(isset($tab_per_ajout_eleve[$i])) {
// Contrôler que l'élève n'est pas déjà dans une autre classe
$sql="SELECT id_classe FROM j_eleves_classes WHERE
(login = '$login_eleve' and
id_classe!='$id_classe' and
periode = '$i')";
$test_clas_per=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($test_clas_per)>0) {
$lig_clas_per=mysqli_fetch_object($test_clas_per);
$msg_complement.=get_nom_prenom_eleve($login_eleve)." est déjà dans une autre classe : ".get_class_from_id($lig_clas_per->id_classe)." en période $i
\n";
$reg_ok = 'no';
}
else {
$sql="SELECT login FROM j_eleves_classes WHERE
(login = '$login_eleve' and
id_classe = '$id_classe' and
periode = '$i')";
$res_clas_per=mysqli_query($GLOBALS["mysqli"], $sql);
if (mysqli_num_rows($res_clas_per)==0) {
$sql="INSERT INTO j_eleves_classes VALUES('$login_eleve', '$id_classe', $i, '0');";
$reg_data = mysqli_query($GLOBALS["mysqli"], $sql);
if (!($reg_data)) {$reg_ok = 'no';}
else {
// Ménage:
$sql="SELECT id FROM infos_actions WHERE titre LIKE 'Ajout dans une classe % effectuer pour %($login_eleve)';";
$res_actions=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_actions)>0) {
while($lig_action=mysqli_fetch_object($res_actions)) {
$menage=del_info_action($lig_action->id);
if(!$menage) {$msg.="Erreur lors de la suppression de l'action en attente en page d'accueil à propos de $login_eleve
";}
}
}
}
}
// UPDATE: Ajouter l'élève à tous les groupes pour la période:
$sql="SELECT id_groupe FROM j_groupes_classes WHERE id_classe='$id_classe'";
$res_liste_grp_classe=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_liste_grp_classe)>0){
while($lig_tmp=mysqli_fetch_object($res_liste_grp_classe)){
$sql="SELECT 1=1 FROM j_eleves_groupes WHERE login='$login_eleve' AND id_groupe='$lig_tmp->id_groupe' AND periode='$i'";
$test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($test)==0){
$sql="INSERT INTO j_eleves_groupes SET login='$login_eleve',id_groupe='$lig_tmp->id_groupe',periode='$i'";
$insert_grp=mysqli_query($GLOBALS["mysqli"], $sql);
if (!($insert_grp)) {$reg_ok = 'no';}
}
}
}
$sql="SELECT DISTINCT cpe_login FROM j_eleves_cpe jecpe, j_eleves_classes jec
WHERE (
jec.id_classe='$id_classe' AND
jecpe.e_login=jec.login AND
jec.periode='$i'
)";
//echo "$sql
";
$res_cpe=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_cpe)==1) {
$sql="DELETE FROM j_eleves_cpe WHERE e_login='$login_eleve';";
//echo "$sql
";
$nettoyage=mysqli_query($GLOBALS["mysqli"], $sql);
$lig_tmp=mysqli_fetch_object($res_cpe);
$sql="INSERT INTO j_eleves_cpe SET cpe_login='$lig_tmp->cpe_login', e_login='$login_eleve';";
//echo "$sql
";
$insert_cpe=mysqli_query($GLOBALS["mysqli"], $sql);
}
else {
if(!in_array($login_eleve, $tab_ele_sans_cpe_defini)) {
$msg_complement.="
L'élève $login_eleve n'a pas été associé à un CPE.";
$tab_ele_sans_cpe_defini[]=$login_eleve;
}
}
$sql="SELECT DISTINCT professeur FROM j_eleves_professeurs jep
WHERE (
jep.id_classe='$id_classe'
)";
//echo "$sql
";
$res_pp=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_pp)==1) {
$sql="DELETE FROM j_eleves_professeurs WHERE login='$login_eleve';";
//echo "$sql
";
$nettoyage=mysqli_query($GLOBALS["mysqli"], $sql);
$lig_tmp=mysqli_fetch_object($res_pp);
$sql="INSERT INTO j_eleves_professeurs SET professeur='$lig_tmp->professeur', login='$login_eleve', id_classe='$id_classe';";
//echo "$sql
";
$insert_pp=mysqli_query($GLOBALS["mysqli"], $sql);
}
else {
if(!in_array($login_eleve, $tab_ele_sans_pp_defini)) {
$msg_complement.="
L'élève $login_eleve n'a pas été associé à un ".$gepiProfSuivi.".";
$tab_ele_sans_pp_defini[]=$login_eleve;
}
}
}
}
$i++;
}
}
if(isset($_POST['regime_'.$id_eleve])) {
$sql="SELECT * FROM j_eleves_regime WHERE login='$login_eleve';";
$call_regime = mysqli_query($GLOBALS["mysqli"], $sql);
$nb_test_regime = mysqli_num_rows($call_regime);
if ($nb_test_regime == 0) {
$sql="INSERT INTO j_eleves_regime SET login='$login_eleve', regime='".$_POST['regime_'.$id_eleve]."', doublant='-';";
$reg_data = mysqli_query($GLOBALS["mysqli"], $sql);
if (!($reg_data)) $reg_ok = 'no';
} else {
$sql="UPDATE j_eleves_regime SET regime='".$_POST['regime_'.$id_eleve]."' WHERE login='$login_eleve';";
$reg_data = mysqli_query($GLOBALS["mysqli"], $sql);
if (!($reg_data)) $reg_ok = 'no';
}
}
if(isset($_POST['doublant_eleve_'.$id_eleve])) {
$sql="SELECT * FROM j_eleves_regime WHERE login='$login_eleve';";
$call_regime = mysqli_query($GLOBALS["mysqli"], $sql);
$nb_test_regime = mysqli_num_rows($call_regime);
if ($nb_test_regime == 0) {
$sql="INSERT INTO j_eleves_regime SET login='$login_eleve', doublant='".$_POST['doublant_eleve_'.$id_eleve]."', regime='d/p';";
$reg_data = mysqli_query($GLOBALS["mysqli"], $sql);
if (!($reg_data)) $reg_ok = 'no';
} else {
$sql="UPDATE j_eleves_regime SET doublant='".$_POST['doublant_eleve_'.$id_eleve]."' WHERE login='$login_eleve';";
$reg_data = mysqli_query($GLOBALS["mysqli"], $sql);
if (!($reg_data)) $reg_ok = 'no';
}
}
$k++;
}
if (($reg_data) == 'yes') {
$msg = "L'enregistrement des données a été correctement effectué !";
} else {
$msg = "Il y a eu un problème lors de l'enregistrement !";
}
$msg.=$msg_complement;
}
// 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 | Ajout d'élèves à une classe";
require_once("../lib/header.inc.php");
//**************** FIN EN-TETE **********************************
//debug_var();
echo "\n";
?>