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($is_posted) and ($is_posted == "yes")) { check_token(); $msg = ''; // // Insertion et suppression de périodes // $pb_reg_per = ''; $periode_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM periodes WHERE id_classe = '$id_classe'"); $nb_periode = mysqli_num_rows($periode_query); if ($nombre_periode < $nb_periode) { $k = $nombre_periode + 1; $nb_periode++; $autorisation_efface = 'oui'; while ($k < $nb_periode) { $test = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM j_eleves_classes WHERE (periode = '$k' and id_classe='$id_classe')"); if (mysqli_num_rows($test) !=0) { $msg .= "Cette classe contient des élèves pour la periode $k ! Suppression impossible. Vous devez d'abord retirer les élèves de la classe.
"; $autorisation_efface = 'non'; } $k++; } if ($autorisation_efface == 'oui') { $pb_reg_per = 'no'; $k = $nombre_periode + 1; while ($k < $nb_periode) { $efface = mysqli_query($GLOBALS["mysqli"], "DELETE FROM periodes WHERE (num_periode = '$k' AND id_classe = '$id_classe')"); if (!$efface) {$pb_reg_per = 'yes';} $test = mysqli_query($GLOBALS["mysqli"], "SELECT login FROM j_eleves_classes WHERE (periode = '$k' AND id_classe = '$id_classe')"); $nb_ligne = mysqli_num_rows($test); $j = 0; while ($j < $nb_ligne) { $login_eleve = old_mysql_result($test, $j, 'login'); $efface = mysqli_query($GLOBALS["mysqli"], "DELETE FROM j_eleves_groupes WHERE (periode = '$k' AND login = '$login_eleve')"); if (!$efface) {$pb_reg_per = 'yes';} $j++; } $efface = mysqli_query($GLOBALS["mysqli"], "DELETE FROM j_eleves_classes WHERE (periode='$k' AND id_classe='$id_classe')"); if (!$efface) {$pb_reg_per = 'yes';} $k++; } } } else { $pb_reg_per = 'no'; $k = $nb_periode + 1; $nombre_periode++; while ($k < $nombre_periode) { $sql="INSERT INTO periodes SET nom_periode='période ".$k."', num_periode='$k', verouiller = 'N', id_classe='$id_classe';"; //echo "$sql
"; $register = mysqli_query($GLOBALS["mysqli"], $sql); if (!$register) {$pb_reg_per = 'yes';} $k++; } } // // Verrouillage et déverrouillage; changement de noms // $date_fin_period=isset($_POST['date_fin_period']) ? $_POST['date_fin_period'] : NULL; $periode_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM periodes WHERE id_classe = '$id_classe'"); $nb_periode = mysqli_num_rows($periode_query) + 1 ; $k = "1"; while ($k < $nb_periode) { if (!isset($nom_period[$k])) $nom_period[$k] = ''; $nom_period[$k] = trim($nom_period[$k]); if ($nom_period[$k] == '') $nom_period[$k] = "période ".$k; //$register = mysql_query("UPDATE periodes SET nom_periode='$nom_period[$k]' WHERE (num_periode='$k' and id_classe='$id_classe')"); $sql="UPDATE periodes SET nom_periode='".html_entity_decode($nom_period[$k])."'"; if(isset($date_fin_period[$k])) { $tmp_tab=explode("/", $date_fin_period[$k]); if((!isset($tmp_tab[2]))||(!checkdate($tmp_tab[1], $tmp_tab[0], $tmp_tab[2]))) { $msg.="Erreur sur la date de fin de période en période $k
"; } else { $sql.=", date_fin='".$tmp_tab[2]."-".$tmp_tab[1]."-".$tmp_tab[0]." 00:00:00'"; } } if(isset($date_conseil_period[$k])) { $tmp_tab=explode("/", $date_conseil_period[$k]); if((!isset($tmp_tab[2]))||(!checkdate($tmp_tab[1], $tmp_tab[0], $tmp_tab[2]))) { $msg.="Erreur sur la date de conseil de classe en période $k
"; } else { $sql.=", date_conseil_classe='".$tmp_tab[2]."-".$tmp_tab[1]."-".$tmp_tab[0]." 00:00:00'"; } } $sql.=" WHERE (num_periode='$k' and id_classe='$id_classe');"; //echo "$sql
"; $register = mysqli_query($GLOBALS["mysqli"], $sql); if (!$register) {$pb_reg_per = 'yes';} $k++; } if ($pb_reg_per == 'no') { $msg.="Les modifications ont été enregistrées !"; } else if ($pb_reg_per == 'yes') { $msg.="Il y a eu un problème lors de la tentative de modification du nombre de périodes !"; } } $call_data = mysqli_query($GLOBALS["mysqli"], "SELECT classe FROM classes WHERE id = '$id_classe'"); $classe = old_mysql_result($call_data, 0, "classe"); $periode_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM periodes WHERE id_classe = '$id_classe'"); $test_periode = mysqli_num_rows($periode_query) ; include "../lib/periodes.inc.php"; // ================================= // 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++; } } // ================================= $style_specifique[] = "lib/DHTMLcalendar/calendarstyle"; $javascript_specifique[] = "lib/DHTMLcalendar/calendar"; $javascript_specifique[] = "lib/DHTMLcalendar/lang/calendar-fr"; $javascript_specifique[] = "lib/DHTMLcalendar/calendar-setup"; $themessage = 'Des informations ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?'; //**************** EN-TETE ***************** $titre_page = "Gestion des classes - Gestion des périodes"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** echo "
\n"; echo "

Retour Retour \n"; if($id_class_prec!=0){echo " | Classe précédente\n";} if($chaine_options_classes!="") { echo "\n"; echo " | \n"; } if($id_class_suiv!=0){echo " | Classe suivante\n";} //========================= // AJOUT: boireaus 20081224 $titre="Navigation"; $texte=""; //$texte.=" Périodes
"; if($nb_periode>1) { // On a $nb_periode = Nombre de périodes + 1 $texte.=" Élèves
"; } $texte.=" Enseignements
"; $texte.=" config.simplifiée
"; $texte.=" Paramètres"; $ouvrir_infobulle_nav=getSettingValue("ouvrir_infobulle_nav"); if($ouvrir_infobulle_nav=="y") { $texte.="

\n"; } else { $texte.="
\n"; } $texte.="\n"; $tabdiv_infobulle[]=creer_div_infobulle('navigation_classe',$titre,"",$texte,"",14,0,'y','y','n','n'); echo " | "; echo "Navigation"; echo ""; //========================= echo "

\n"; echo "
\n"; ?>

Classe :


Remarque : Le verrouillage/déverrouillage d'une période (*) est possible en étant connecté sous un compte ayant le statut "scolarité"
((*) il est question dans cette remarque de verrouillage des saisies dans le carnet de notes, contrairement à la date de fin proposée ci-dessous qui concerne les absences et listes d'élèves proposées).


Nombre de périodes : "; //$sql="SELECT 1=1 FROM j_groupes_classes WHERE id_classe='$id_classe';"; $sql="SELECT 1=1 FROM j_groupes_classes jgc, j_eleves_groupes jeg WHERE jgc.id_classe='$id_classe' AND jeg.id_groupe=jgc.id_groupe;"; $verif=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($verif)>0) { $temp = $nb_periode - 1; echo "".$temp.""; echo "\n"; echo "
\n"; echo "Ajouter / Supprimer des périodes
\n"; } else { echo "\n"; } echo "

\n"; if ($test_periode == 0) { echo "

Si vous choisissez de ne pas définir de périodes pour cette classe (nombre de périodes = 0), cette classe sera considérée comme virtuelle.

\n"; echo "

Remarques :

\n"; echo "\n"; } else { ?> \n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $k++; } ?>
  Nom de la période Date de fin
de la période
Date de conseil
de classe
Période $k"; //echo "get_strPopup('../lib/calendrier/pop.calendrier.php', 350, 170)."\">\"Petit\n"; echo img_calendrier_js("date_fin_period_".$k, "img_bouton_date_fin_period_".$k); echo ""; echo img_calendrier_js("date_conseil_period_".$k, "img_bouton_date_conseil_period_".$k); echo "
setTimeout(\"afficher_div('navigation_classe','y',-100,20);\",1000) \n"; } if($nb_periode>1) { //$sql="SELECT num_periode, nom_periode, date_fin, COUNT(date_fin) AS eff_date_fin FROM periodes GROUP BY nom_periode ORDER BY eff_date_fin DESC, num_periode ASC;"; $sql="SELECT DISTINCT num_periode, nom_periode, date_fin FROM periodes ORDER BY num_periode ASC;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { echo "

Prendre modèle sur d'autres classes :

"; $alt=1; $cpt=0; while($lig=mysqli_fetch_object($res)) { $alt=$alt*(-1); $date_fin_formatee=formate_date($lig->date_fin); echo " "; echo " "; $cpt++; } echo "
Numéro Nom Date de fin Effectif Classes
".$lig->num_periode." ".$lig->nom_periode." num_periode.", ".$cpt.")\" title='Prendre ce nom de période pour la classe courante'> ".$date_fin_formatee." num_periode.", '".$date_fin_formatee."')\" title='Prendre cette date pour la classe courante'>"; //formate_date($lig->date_fin) $sql="SELECT COUNT(date_fin) AS eff_date_fin FROM periodes p WHERE p.num_periode='".$lig->num_periode."' AND p.nom_periode='".$lig->nom_periode."' AND p.date_fin='".$lig->date_fin."';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { $lig2=mysqli_fetch_object($res2); echo $lig2->eff_date_fin; } echo " "; $sql="SELECT c.id, c.classe FROM classes c, periodes p WHERE p.id_classe=c.id AND p.num_periode='".$lig->num_periode."' AND p.nom_periode='".$lig->nom_periode."' AND p.date_fin='".$lig->date_fin."' ORDER BY c.classe;"; //echo "$sql
"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { $cpt2=0; while($lig2=mysqli_fetch_object($res2)) { if($cpt2>0) {echo ", ";} echo $lig2->classe; $cpt2++; } } echo "
"; } } $gepi_prof_suivi=ucfirst(retourne_denomination_pp($id_classe)); if(casse_mot($gepi_prof_suivi, "min")!=casse_mot(getSettingValue('gepi_prof_suivi'), "min")) { $chaine_gepi_prof_suivi=$gepi_prof_suivi." (".getSettingValue('gepi_prof_suivi').")"; } else { $chaine_gepi_prof_suivi=$gepi_prof_suivi; } echo "

NOTES :

\n"; require("../lib/footer.inc.php"); ?>