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();
$periode_query = mysqli_query($GLOBALS["mysqli"], "select max(num_periode) max from periodes");
$max_periode = old_mysql_result($periode_query, 0, 'max');
if (isset($_POST['is_posted'])) {
check_token();
$msg = '';
$reg_ok = '';
$nb_reg_ok=0;
$nb_modif_priorite=0;
// Première boucle sur le nombre de periodes
$per = 0;
while ($per < $max_periode) {
$per++;
// On dresse la liste de toutes les classes non virtuelles
$classes_list = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT c.* FROM classes c, periodes p WHERE p.id_classe = c.id ORDER BY classe");
$nb_classe = mysqli_num_rows($classes_list);
// $nb : nombre de classes ayant un nombre de periodes égal à $per
$nb=0;
$nbc = 0;
while ($nbc < $nb_classe) {
$modif_classe = 'no';
$id_classe = old_mysql_result($classes_list,$nbc,'id');
$query_per = mysqli_query($GLOBALS["mysqli"], "SELECT p.num_periode FROM classes c, periodes p WHERE (p.id_classe = c.id and c.id = '".$id_classe."')");
$nb_periode = mysqli_num_rows($query_per);
if ($nb_periode == $per) {
// la classe dont l'identifiant est $id_classe a $per périodes
$temp = "case_".$id_classe;
if (isset($_POST[$temp])) {
$k = '1';
while ($k < $per+1) {
$temp2 = "nb_".$per."_".$k;
if ($_POST[$temp2] != '') {
$sql="UPDATE periodes SET nom_periode='".$_POST[$temp2]."' WHERE (id_classe='".$id_classe."' and num_periode='".$k."')";
$register = mysqli_query($GLOBALS["mysqli"], $sql);
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
$temp2 = "date_fin_".$per."_".$k;
if ($_POST[$temp2] != '') {
$tmp_tab=explode("/", $_POST[$temp2]);
if((!isset($tmp_tab[2]))||(!checkdate($tmp_tab[1], $tmp_tab[0], $tmp_tab[2]))) {
$msg.="Erreur sur la modification de date de fin de période : ".$_POST[$temp2]." Aucune classe comportant des périodes n'a été définie.
";
}
else {
$sql="UPDATE periodes SET date_fin='".$tmp_tab[2]."-".$tmp_tab[1]."-".$tmp_tab[0]." 00:00:00'";
$sql.=" WHERE (id_classe='".$id_classe."' and num_periode='".$k."')";
$register = mysqli_query($GLOBALS["mysqli"], $sql);
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
}
$k++;
}
$temp2 ="nb_".$per."_reg_suivi_par";
if ($_POST[$temp2] != '') {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET suivi_par='".$_POST[$temp2]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
// echo "classe : ".$id_classe." - reg_suivi_par".$per." : ".$_POST[$temp2]."";
}
$temp2 = "nb_".$per."_reg_formule";
if ($_POST[$temp2] != '') {
//$register = mysql_query("UPDATE classes SET formule='".$_POST[$temp2]."' where id='".$id_classe."'");
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET formule='".html_entity_decode($_POST[$temp2])."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
// echo "classe : ".$id_classe." - reg_formule".$per." : ".$_POST[$temp2]."";
}
$temp2 ="nb_".$per."_reg_suivi_par_alt";
if ($_POST[$temp2] != '') {
$register = saveParamClasse($id_classe, 'suivi_par_alt', $_POST[$temp2]);
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
$temp2 ="nb_".$per."_reg_suivi_par_alt_fonction";
if ($_POST[$temp2] != '') {
$register = saveParamClasse($id_classe, 'suivi_par_alt_fonction', $_POST[$temp2]);
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['nb_'.$per.'_reg_format'])) {
$tab = explode("_", $_POST['nb_'.$per.'_reg_format']);
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET format_nom='".$tab[2]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
// echo "classe : ".$id_classe." - ".$_POST['nb_'.$per.'_reg_format']."";
}
if (isset($_POST['nb_'.$per.'_reg_elformat'])) {
$tab = explode("_", $_POST['nb_'.$per.'_reg_elformat']);
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET format_nom_eleve='".$tab[2]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
// echo "classe : ".$id_classe." - ".$_POST['nb_'.$per.'_reg_elformat']."";
}
if (isset($_POST['display_rang_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET display_rang='".$_POST['display_rang_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
//====================================
// AJOUT: boireaus
if (isset($_POST['display_address_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET display_address='".$_POST['display_address_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['display_coef_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET display_coef='".$_POST['display_coef_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['display_nbdev_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET display_nbdev='".$_POST['display_nbdev_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['display_moy_gen_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET display_moy_gen='".$_POST['display_moy_gen_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['display_mat_cat_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET display_mat_cat='".$_POST['display_mat_cat_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if ((isset($_POST['modele_bulletin_'.$per])) AND ($_POST['modele_bulletin_'.$per]!=0)) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET modele_bulletin_pdf='".$_POST['modele_bulletin_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['rn_nomdev_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET rn_nomdev='".$_POST['rn_nomdev_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['rn_toutcoefdev_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET rn_toutcoefdev='".$_POST['rn_toutcoefdev_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['rn_coefdev_si_diff_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET rn_coefdev_si_diff='".$_POST['rn_coefdev_si_diff_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['rn_datedev_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET rn_datedev='".$_POST['rn_datedev_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['rn_abs_2_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET rn_abs_2='".$_POST['rn_abs_2_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['rn_sign_chefetab_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET rn_sign_chefetab='".$_POST['rn_sign_chefetab_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['rn_sign_pp_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET rn_sign_pp='".$_POST['rn_sign_pp_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if (isset($_POST['rn_sign_resp_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET rn_sign_resp='".$_POST['rn_sign_resp_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
if($_POST['rn_sign_nblig_'.$per]!="") {
if(mb_strlen(my_ereg_replace("[0-9]","",$_POST['rn_sign_nblig_'.$per]))!=0){$_POST['rn_sign_nblig_'.$per]=3;}
if (isset($_POST['rn_sign_nblig_'.$per])) {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET rn_sign_nblig='".$_POST['rn_sign_nblig_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
}
if (isset($_POST['rn_formule_'.$per])) {
if ($_POST['rn_formule_'.$per]!='') {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET rn_formule='".$_POST['rn_formule_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
}
if (isset($_POST['ects_fonction_signataire_attestation_'.$per])) {
if ($_POST['ects_fonction_signataire_attestation_'.$per]!='') {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET ects_fonction_signataire_attestation='".$_POST['ects_fonction_signataire_attestation_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
}
if (isset($_POST['ects_type_formation_'.$per])) {
if ($_POST['ects_type_formation_'.$per]!='') {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET ects_type_formation='".$_POST['ects_type_formation_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
}
if (isset($_POST['ects_parcours_'.$per])) {
if ($_POST['ects_parcours_'.$per]!='') {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET ects_parcours='".$_POST['ects_parcours_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
}
if (isset($_POST['ects_domaines_etude_'.$per])) {
if ($_POST['ects_domaines_etude_'.$per]!='') {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET ects_domaines_etude='".$_POST['ects_domaines_etude_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
}
if (isset($_POST['ects_code_parcours_'.$per])) {
if ($_POST['ects_code_parcours_'.$per]!='') {
$register = mysqli_query($GLOBALS["mysqli"], "UPDATE classes SET ects_code_parcours='".$_POST['ects_code_parcours_'.$per]."' where id='".$id_classe."'");
if (!$register) $reg_ok = 'no'; else $reg_ok = 'yes' ;
}
}
// 20121027
//$tab_param=array('rn_aff_classe_nom');
$tab_param=array('rn_aff_classe_nom','rn_app', 'rn_moy_classe', 'rn_moy_min_max_classe', 'rn_retour_ligne','rn_rapport_standard_min_font', 'rn_adr_resp', 'rn_bloc_obs', 'rn_col_moy', 'rn_type_par_defaut');
for($loop=0;$loop
Cela risque de provoquer des problèmes sur les bulletins.
Des mesures ont été prises pour imposer des ordres différents, mais il se peut que l'ordre ne vous convienne pas.
\n";
}
if((isset($_POST['change_coef_'.$per]))&&($_POST['change_coef_'.$per]=='y')) {
if((isset($_POST['coef_enseignements_'.$per]))&&($_POST['coef_enseignements_'.$per]!="")) {
$coef_enseignements=my_ereg_replace("[^0-9]","",$_POST['coef_enseignements_'.$per]);
if($coef_enseignements!="") {
$sql="UPDATE j_groupes_classes SET coef='".$coef_enseignements."' WHERE id_classe='".$id_classe."';";
$update_coef=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$update_coef) {
$msg .= "
Une erreur s'est produite lors de la mise à jour des coefficients pour la classe $id_classe.";
}
else {
$nb_reg_ok++;
}
}
}
}
if((isset($_POST['forcer_recalcul_rang_'.$per]))&&($_POST['forcer_recalcul_rang_'.$per]=='y')) {
$sql="SELECT num_periode FROM periodes WHERE id_classe='$id_classe' ORDER BY num_periode DESC LIMIT 1;";
$res_per=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_per)>0) {
$lig_per=mysqli_fetch_object($res_per);
$recalcul_rang="";
for($i=0;$i<$lig_per->num_periode;$i++) {$recalcul_rang.="y";}
$sql="UPDATE groupes SET recalcul_rang='$recalcul_rang' WHERE id in (SELECT id_groupe FROM j_groupes_classes WHERE id_classe='$id_classe');";
//echo "$sql
";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res) {
$msg.="
Erreur lors de la programmation du recalcul des rangs pour la classe ".get_nom_classe($id_classe).".";
}
else {
$nb_reg_ok++;
}
}
else {
$msg.="
Aucune période n'est définie pour cette classe.
Recalcul des rangs impossible pour la classe ".get_nom_classe($id_classe).".";
}
}
if((isset($_POST['creer_enseignement_'.$per]))&&($_POST['creer_enseignement_'.$per]=='y')) {
if((isset($_POST['matiere_nouvel_enseignement_'.$per]))&&($_POST['matiere_nouvel_enseignement_'.$per]!="")) {
$matiere_nouvel_enseignement=$_POST['matiere_nouvel_enseignement_'.$per];
$sql="SELECT 1=1 FROM matieres WHERE matiere='$matiere_nouvel_enseignement';";
//echo "$sql
";
$verif=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($verif)==0) {
$msg .= "
La matière $matiere_nouvel_enseignement n'existe pas.";
}
else {
$coef_nouvel_enseignement=isset($_POST['coef_nouvel_enseignement_'.$per]) ? $_POST['coef_nouvel_enseignement_'.$per] : 0;
$coef_nouvel_enseignement=my_ereg_replace("[^0-9]","",$_POST['coef_nouvel_enseignement_'.$per]);
$nouvel_enseignement_visibilite=isset($_POST['nouvel_enseignement_visibilite_'.$per]) ? $_POST['nouvel_enseignement_visibilite_'.$per] : array();
$nouvel_enseignement_non_visible=array();
for($loop=0;$loop
";
$verif=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($verif)==0) {
// Si JavaScript est inactif, on peut proposer un prof qui n'est pas professeur dans la matière.
// Associons le alors à la matière.
$sql="SELECT ordre_matieres FROM j_professeurs_matieres jpm WHERE jpm.id_professeur='$professeur_nouvel_enseignement' ORDER BY ordre_matieres DESC LIMIT 1;";
//echo "$sql
";
$res_ordre_matieres=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_ordre_matieres)==0) {
$tmp_ordre_matieres=1;
}
else {
$tmp_ordre_matieres=old_mysql_result($res_ordre_matieres,0,"ordre_matieres")+1;
}
$sql="INSERT INTO j_professeurs_matieres SET id_professeur='$professeur_nouvel_enseignement', id_matiere='$matiere_nouvel_enseignement', ordre_matieres='$tmp_ordre_matieres';";
//echo "$sql
";
$insert=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$insert) {
$professeur_nouvel_enseignement="";
$msg.="Erreur lors de l'association de ".civ_nom_prenom($professeur_nouvel_enseignement)." avec la matière '$matiere_nouvel_enseignement'";
}
}
}
$reg_clazz = array();
$reg_clazz[] = $id_classe;
$reg_categorie = 1; // Récupérer par la suite la catégorie par défaut de la table 'matieres' (champ categorie_id)
$nom_nouvel_enseignement=isset($_POST['nom_nouvel_enseignement_'.$per]) ? $_POST['nom_nouvel_enseignement_'.$per] : "";
if($nom_nouvel_enseignement!="") {
$reg_nom_groupe=$nom_nouvel_enseignement;
}
else {
$reg_nom_groupe=$matiere_nouvel_enseignement; // Obtenir une unicité...?
}
$sql="SELECT nom_complet,categorie_id FROM matieres WHERE matiere='$matiere_nouvel_enseignement';";
$res_mat=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_mat)>0) {
$lig_mat=mysqli_fetch_object($res_mat);
$reg_categorie=$lig_mat->categorie_id;
$reg_nom_complet=$lig_mat->nom_complet;
}
$description_nouvel_enseignement=isset($_POST['description_nouvel_enseignement_'.$per]) ? $_POST['description_nouvel_enseignement_'.$per] : "";
if($description_nouvel_enseignement!="") {
$reg_nom_complet=$description_nouvel_enseignement;
}
$reg_matiere=$matiere_nouvel_enseignement;
$create = create_group($reg_nom_groupe, $reg_nom_complet, $reg_matiere, $reg_clazz, $reg_categorie);
if($create) {
$current_group=get_group($create);
// Si le groupe a été créé, il faut pointer le succès de création pour le message de retour.
$nb_reg_ok++;
$reg_professeurs = array();
if($professeur_nouvel_enseignement!="") {
$reg_professeurs[]=$professeur_nouvel_enseignement;
}
if(isset($_POST['declarer_pp_professeur_nouvel_enseignement_'.$per])) {
$sql="SELECT DISTINCT professeur FROM j_eleves_professeurs WHERE id_classe='$id_classe';";
//echo "$sql
";
$res_pp=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_pp)>0) {
while($lig_pp=mysqli_fetch_object($res_pp)) {
if(!in_array($lig_pp->professeur, $reg_professeurs)) {
$sql="SELECT 1=1 FROM j_professeurs_matieres jpm WHERE jpm.id_professeur='$lig_pp->professeur' AND jpm.id_matiere='$matiere_nouvel_enseignement'";
//echo "$sql
";
$verif=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($verif)==0) {
// Si JavaScript est inactif, on peut proposer un prof qui n'est pas professeur dans la matière.
// Associons le alors à la matière.
$sql="SELECT ordre_matieres FROM j_professeurs_matieres jpm WHERE jpm.id_professeur='$lig_pp->professeur' ORDER BY ordre_matieres DESC LIMIT 1;";
//echo "$sql
";
$res_ordre_matieres=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_ordre_matieres)==0) {
$tmp_ordre_matieres=1;
}
else {
$tmp_ordre_matieres=old_mysql_result($res_ordre_matieres,0,"ordre_matieres")+1;
}
$sql="INSERT INTO j_professeurs_matieres SET id_professeur='$lig_pp->professeur', id_matiere='$matiere_nouvel_enseignement', ordre_matieres='$tmp_ordre_matieres';";
//echo "$sql
";
$insert=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$insert) {
$msg.="Erreur lors de l'association de ".civ_nom_prenom($lig_pp->professeur)." avec la matière '$matiere_nouvel_enseignement'.
";
//$msg.="$sql
";
}
else {
$reg_professeurs[]=$lig_pp->professeur;
}
}
else {
$reg_professeurs[]=$lig_pp->professeur;
}
}
}
}
}
$nouvel_enseignement_eleves=isset($_POST['nouvel_enseignement_eleves_'.$per]) ? $_POST['nouvel_enseignement_eleves_'.$per] : "tous";
$tab_choix_nouvel_enseignement_eleves=array("tous", "aucun", "1", "2", "sconet");
if(!in_array($nouvel_enseignement_eleves, $tab_choix_nouvel_enseignement_eleves)) {$nouvel_enseignement_eleves="tous";}
$reg_eleves=array();
$tab_eleves_groupe_toutes_periodes=array();
foreach ($current_group["periodes"] as $period) {
$reg_eleves[$period['num_periode']]=array();
if($nouvel_enseignement_eleves=="sconet") {
$sql="SELECT jec.login FROM j_eleves_classes jec, eleves e, sconet_ele_options seo WHERE id_classe='$id_classe' AND periode='".$period['num_periode']."' AND jec.login=e.login AND e.ele_id=seo.ele_id AND seo.code_matiere='".$current_group["matiere"]["code_matiere"]."';";
//echo "$sql
";
$res_ele=mysqli_query($GLOBALS["mysqli"], $sql);
$eff_ele_ens=mysqli_num_rows($res_ele);
if($eff_ele_ens>0){
$cpt_ele_ens=0;
while($lig_ele=mysqli_fetch_object($res_ele)){
if($cpt_ele_ens<$eff_ele_ens/2) {
$reg_eleves[$period['num_periode']][]=$lig_ele->login;
if(!in_array($lig_ele->login, $tab_eleves_groupe_toutes_periodes)) {
$tab_eleves_groupe_toutes_periodes[]=$lig_ele->login;
}
}
$cpt_ele_ens++;
}
}
}
elseif($nouvel_enseignement_eleves!="aucun") {
$sql="SELECT jec.login FROM j_eleves_classes jec, eleves e WHERE jec.id_classe='$id_classe' AND jec.periode='".$period['num_periode']."' AND jec.login=e.login ORDER BY e.nom, e.prenom;";
$res_ele=mysqli_query($GLOBALS["mysqli"], $sql);
$eff_ele_ens=mysqli_num_rows($res_ele);
if($eff_ele_ens>0){
$cpt_ele_ens=0;
if($nouvel_enseignement_eleves=='1') {
while($lig_ele=mysqli_fetch_object($res_ele)){
if($cpt_ele_ens<$eff_ele_ens/2) {
$reg_eleves[$period['num_periode']][]=$lig_ele->login;
if(!in_array($lig_ele->login, $tab_eleves_groupe_toutes_periodes)) {
$tab_eleves_groupe_toutes_periodes[]=$lig_ele->login;
}
}
$cpt_ele_ens++;
}
}
elseif($nouvel_enseignement_eleves=='2') {
while($lig_ele=mysqli_fetch_object($res_ele)){
if($cpt_ele_ens>=$eff_ele_ens/2) {
$reg_eleves[$period['num_periode']][]=$lig_ele->login;
if(!in_array($lig_ele->login, $tab_eleves_groupe_toutes_periodes)) {
$tab_eleves_groupe_toutes_periodes[]=$lig_ele->login;
}
}
$cpt_ele_ens++;
}
}
else {
while($lig_ele=mysqli_fetch_object($res_ele)){
$reg_eleves[$period['num_periode']][]=$lig_ele->login;
if(!in_array($lig_ele->login, $tab_eleves_groupe_toutes_periodes)) {
$tab_eleves_groupe_toutes_periodes[]=$lig_ele->login;
}
}
}
}
}
}
$code_modalite_elect_eleves=array();
for($loop=0;$loop
Erreur lors de la mise à jour du coefficient du groupe n°$create pour la classe n°$id_classe.";
}
else {
$nb_reg_ok++;
}
}
for($loop=0;$loop
";
$res_grp_inscr=mysqli_query($GLOBALS["mysqli"], $sql);
while($lig_grp_inscr=mysqli_fetch_object($res_grp_inscr)) {
if($change_inscription_eleves_inscrire=="y") {
for($loop=0;$loop
".get_nom_prenom_eleve($lig_ele_inscr->login)." a un bulletin non vide en période ".$change_inscription_eleves_periodes[$loop];
}
elseif(nb_notes_ele_dans_tel_enseignement($lig_ele_inscr->login, $lig_grp_inscr->id_groupe, $change_inscription_eleves_periodes[$loop])>0) {
$msg.="
".get_nom_prenom_eleve($lig_ele_inscr->login)." a un carnet de notes non vide en période ".$change_inscription_eleves_periodes[$loop];
}
else {
$sql="DELETE FROM j_eleves_groupes WHERE login='".$lig_ele_inscr->login."' AND id_groupe='$lig_grp_inscr->id_groupe' AND periode='".$change_inscription_eleves_periodes[$loop]."';";
$del=mysqli_query($GLOBALS["mysqli"], $sql);
if($del) {
$nb_reg_ok++;
}
else {
$msg.="
ERREUR lors de la désinscription de ".get_nom_prenom_eleve($lig_ele_inscr->login)." du groupe n°".$lig_grp_inscr->id_groupe." en période ".$change_inscription_eleves_periodes[$loop];
}
}
}
}
}
}
}
/*
$_POST['change_coef2']= y
$_POST['coef_enseignements2']= 3
$_POST['matiere_modif_coef']= MATHS
$_POST['modif_enseignement_visibilite2']= bulletins|y
*/
if((isset($_POST['change_coef2_'.$per]))&&(isset($_POST['coef_enseignements2_'.$per]))&&($_POST['coef_enseignements2_'.$per]!="")&&(is_numeric($_POST['coef_enseignements2_'.$per]))&&(isset($_POST['matiere_modif_coef_'.$per]))&&($_POST['matiere_modif_coef_'.$per]!="")) {
$modif_enseignement_visibilite2=isset($_POST['modif_enseignement_visibilite2_'.$per]) ? $_POST['modif_enseignement_visibilite2_'.$per] : "";
$coef_enseignements2=$_POST['coef_enseignements2_'.$per];
$matiere_modif_coef=$_POST['matiere_modif_coef_'.$per];
if($modif_enseignement_visibilite2!="") {
$tmp_tab_vis=explode("|", $modif_enseignement_visibilite2);
if(isset($tmp_tab_vis[1])) {
if($matiere_modif_coef=='___Tous_les_enseignements___') {
if($tmp_tab_vis[1]=='y') {
$sql="UPDATE j_groupes_classes SET coef='$coef_enseignements2' WHERE id_classe='$id_classe' AND id_groupe NOT IN (SELECT id_groupe FROM j_groupes_visibilite WHERE domaine='".$tmp_tab_vis[0]."' AND visible='n');";
}
else {
$sql="UPDATE j_groupes_classes SET coef='$coef_enseignements2' WHERE id_classe='$id_classe' AND id_groupe IN (SELECT id_groupe FROM j_groupes_visibilite WHERE domaine='".$tmp_tab_vis[0]."' AND visible='n');";
}
$res_modif_coef=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res_modif_coef) {
$msg.="Erreur lors de la requête
$sql
";
}
else {
$nb_reg_ok++;
}
}
else {
/*
if($tmp_tab_vis[1]=='y') {
$sql="UPDATE j_groupes_classes SET coef='$coef_enseignements2' WHERE id_classe='$id_classe' AND id_groupe IN (SELECT jgc.id_groupe FROM j_groupes_classes jgc, j_groupes_matieres jgm WHERE jgm.id_matiere='".$matiere_modif_coef."' AND jgc.id_groupe=jgm.id_groupe AND jgc.id_classe='$id_classe') AND id_groupe NOT IN (SELECT id_groupe FROM j_groupes_visibilite WHERE domaine='".$tmp_tab_vis[0]."' AND visible='n');";
}
else {
$sql="UPDATE j_groupes_classes SET coef='$coef_enseignements2' WHERE id_classe='$id_classe' AND id_groupe IN (SELECT jgc.id_groupe FROM j_groupes_classes jgc, j_groupes_matieres jgm WHERE jgm.id_matiere='".$matiere_modif_coef."' AND jgc.id_groupe=jgm.id_groupe AND jgc.id_classe='$id_classe') AND id_groupe IN (SELECT id_groupe FROM j_groupes_visibilite WHERE domaine='".$tmp_tab_vis[0]."' AND visible='n');";
}
*/
if($tmp_tab_vis[1]=='y') {
$sql="SELECT jgc.id_groupe FROM j_groupes_classes jgc, j_groupes_matieres jgm WHERE jgm.id_matiere='".$matiere_modif_coef."' AND jgc.id_groupe=jgm.id_groupe AND jgc.id_classe='$id_classe' AND jgc.id_groupe NOT IN (SELECT id_groupe FROM j_groupes_visibilite WHERE domaine='".$tmp_tab_vis[0]."' AND visible='n');";
}
else {
$sql="SELECT jgc.id_groupe FROM j_groupes_classes jgc, j_groupes_matieres jgm WHERE jgm.id_matiere='".$matiere_modif_coef."' AND jgc.id_groupe=jgm.id_groupe AND jgc.id_classe='$id_classe' AND jgc.id_groupe IN (SELECT id_groupe FROM j_groupes_visibilite WHERE domaine='".$tmp_tab_vis[0]."' AND visible='n');";
}
$res_grp_modif_coef=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_grp_modif_coef)>0) {
while($lig_grp_modif_coef=mysqli_fetch_object($res_grp_modif_coef)) {
$sql="UPDATE j_groupes_classes SET coef='$coef_enseignements2' WHERE id_classe='$id_classe' AND id_groupe='$lig_grp_modif_coef->id_groupe';";
$res_modif_coef=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res_modif_coef) {
$msg.="Erreur lors de la requête
$sql
";
}
else {
$nb_reg_ok++;
}
}
}
}
/*
$res_modif_coef=mysql_query($sql);
if(!$res_modif_coef) {
$msg.="Erreur lors de la requête
$sql
";
}
else {
$nb_reg_ok++;
}
*/
}
else {
$msg.="Mode de visibilité ou non choisi inattendu pour les enseignements dont vous souhaitez modifier le coefficient.
";
}
}
else {
if($matiere_modif_coef=='___Tous_les_enseignements___') {
$sql="UPDATE j_groupes_classes SET coef='$coef_enseignements2' WHERE id_classe='$id_classe';";
}
else {
//$sql="UPDATE j_groupes_classes SET coef='$coef_enseignements2' WHERE id_classe='$id_classe' AND id_groupe IN (SELECT jgc.id_groupe FROM j_groupes_classes jgc, j_groupes_matieres jgm WHERE jgm.id_matiere='".$matiere_modif_coef."' AND jgc.id_groupe=jgm.id_groupe AND jgc.id_classe='$id_classe');";
$sql="UPDATE j_groupes_classes SET coef='$coef_enseignements2' WHERE id_classe='$id_classe' AND id_groupe IN (SELECT jgm.id_groupe FROM j_groupes_matieres jgm WHERE jgm.id_matiere='".$matiere_modif_coef."');";
}
//echo "$sql
";
$res_modif_coef=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$res_modif_coef) {
$msg.="Erreur lors de la requête
$sql
";
}
else {
$nb_reg_ok++;
}
}
}
//====================================
}
}
$nbc++;
}
}
if ($reg_ok=='') {
if(($nb_reg_ok==0)&&($nb_modif_priorite==0)) {
$message_enregistrement = "Aucune modification n'a été effectuée !";
}
else {
$message_enregistrement = ($nb_reg_ok+$nb_modif_priorite)." modification(s) effectuée(s) !";
}
$affiche_message = 'yes';
} else if ($reg_ok=='yes') {
$message_enregistrement = "Les modifications ont été effectuées avec succès.";
$affiche_message = 'yes';
} else {
$message_enregistrement = "Il y a eu un problème lors de l'enregistrement des modifications.";
$affiche_message = 'yes';
}
}
$style_specifique[] = "lib/DHTMLcalendar/calendarstyle";
$javascript_specifique[] = "lib/DHTMLcalendar/calendar";
$javascript_specifique[] = "lib/DHTMLcalendar/lang/calendar-fr";
$javascript_specifique[] = "lib/DHTMLcalendar/calendar-setup";
//**************** EN-TETE *****************
$titre_page = "Gestion des classes - Paramétrage des classes par lots";
require_once("../lib/header.inc.php");
//**************** FIN EN-TETE *****************
//debug_var();
if($max_periode <= 0) {
echo "
. |
NOTE : Les cases ne sont pas cochées par défaut.
Comme vous pouvez modifier la liste des classes concernées par le paramétrage par lots, il n'est pas possible de pré-cocher l'état actuel du paramétrage des classes.
Tout ce que vous cocherez correspondra aux modifications que vous souhaitez apporter.