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 "
Prendre modèle sur d'autres classes :
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'> | "; echo ""; //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 " |
NOTES :
Les dates de fin de période indiquées ici ne correspondent pas à une date de verrouillage des saisies de notes.
Il s'agit de dates prises en compte pour l'appartenance d'élèves à la classe pour telle période.
C'est utile notamment pour les élèves qui changent de classe.
Ces dates sont aussi prises en compte dans les modules Absences.
Le verrouillage des périodes de notes s'effectue en compte \"scolarité\" à la rubrique \"Verrouillage/déverrouillage des périodes\".
L'accès des parents/élèves aux appréciations et avis des conseils de classe se paramètre en compte \"administrateur\" ou sous réserve d'en donner le droit dans Gestion générale/Droits d'accès en compte \"scolarité\" ou \"professeur\" s'il est ".$chaine_gepi_prof_suivi.".