\n";
echo "";
require("../lib/footer.inc.php");
die();
}
$tab_date_conseil=array();
$sql="SELECT id_classe, date_evenement, classe FROM d_dates_evenements dde, d_dates_evenements_classes ddec, classes c WHERE type='conseil_de_classe' AND date_evenement>='".strftime("%Y-%m-%d %H:%M:%S")."' AND dde.id_ev=ddec.id_ev AND c.id=ddec.id_classe ORDER BY date_evenement;";
$res=mysqli_query($GLOBALS["mysqli"], $sql);
while($lig_date=mysqli_fetch_object($res)) {
// Pour ne retenir que la première date de conseil dans le cas où les dates de conseil des 3 périodes seraient saisies dès le début de l'année:
if(!isset($tab_date_conseil[$lig_date->id_classe])) {
$tab_date_conseil[$lig_date->id_classe]['classe']=$lig_date->classe;
$tab_date_conseil[$lig_date->id_classe]['date']=$lig_date->date_evenement;
}
}
// Selection de la classe
if (!(isset($id_classe))) {
echo "
\n";
if ($_SESSION["statut"] == "scolarite") {
//$appel_donnees = mysql_query("SELECT DISTINCT c.* FROM classes c, periodes p WHERE p.id_classe = c.id ORDER BY classe");
$sql="SELECT DISTINCT c.* FROM classes c, periodes p, j_scol_classes jsc WHERE p.id_classe = c.id AND jsc.id_classe=c.id AND jsc.login='".$_SESSION['login']."' ORDER BY classe";
}
else {
$sql="SELECT DISTINCT c.* FROM classes c, j_eleves_professeurs s, j_eleves_classes cc WHERE (s.professeur='" . $_SESSION['login'] . "' AND s.login = cc.login AND cc.id_classe = c.id)";
}
$appel_donnees = mysqli_query($GLOBALS["mysqli"], $sql);
$lignes = mysqli_num_rows($appel_donnees);
if($lignes==0) {
echo "
Aucune classe ne vous est attribuée. Contactez l'administrateur pour qu'il effectue le paramétrage approprié dans la Gestion des classes.
\n";
}
}
} else if (!(isset($per))) {
echo "\n";
//fin ajout lien classe précédente / classe suivante
// ===========================================
// On teste si les élèves ont bien un CPE responsable
$test1 = mysqli_query($GLOBALS["mysqli"], "SELECT distinct(login) login from j_eleves_classes WHERE id_classe='" . $id_classe . "'");
$nb_eleves = mysqli_num_rows($test1);
$j = 0;
$flag = true;
while ($j < $nb_eleves) {
$login_e = old_mysql_result($test1, $j, "login");
$test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM j_eleves_cpe WHERE e_login='" . $login_e . "'"), 0);
if ($test == "0") {
$flag = false;
break;
}
$j++;
}
if (!$flag) {
echo "
ATTENTION : certains élèves de cette classe n'ont pas de CPE responsable attribué. Cela génèrera un message d'erreur sur la page d'édition des bulletins. Il faut corriger ce problème avant impression (contactez l'administrateur).
Classe : $nom_classe - Choisissez la période et les points à vérifier :
\n";
include "../lib/periodes.inc.php";
echo "
\n";
echo "
\n";
echo "
Vérifier
\n";
$i=1;
while ($i < $nb_periode) {
echo "
".ucfirst($nom_periode[$i])."
\n";
$i++;
}
echo "
\n";
echo "
\n";
//echo "
Vérifier
\n";
$i=1;
while ($i < $nb_periode) {
echo "
";
echo "";
if ($ver_periode[$i] == "P") {
$texte_courant="Période partiellement close.
Seule la saisie des avis du conseil de classe est possible.";
echo " $texte_courant\n";
} else if ($ver_periode[$i] == "O") {
$texte_courant="Période entièrement close.
Plus aucune saisie/modification n'est possible.";
echo " $texte_courant\n";
} else {
$texte_courant="Période ouverte.
Les saisies/modifications sont possibles.";
echo " $texte_courant\n";
}
echo "\n";
echo "
La formule à la fin de chaque bulletin n'est pas définie !
\n";
}
$appel_donnees_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT e.login, e.nom, e.prenom FROM eleves e, j_eleves_classes j WHERE (j.id_classe='$id_classe' AND j.login = e.login and j.periode='$per') ORDER BY login");
$nb_eleves = mysqli_num_rows($appel_donnees_eleves);
$j = 0;
//
//Début de la boucle élève
//
switch($mode) {
case 'note_app':
echo "
Vérification du remplissage des moyennes et appréciations :
\n";
break;
case 'avis':
echo "
Vérification du remplissage des avis du conseil de classe :
\n";
break;
case 'abs':
echo "
Vérification du remplissage des absences :
\n";
break;
case 'ects':
echo "
Vérification du remplissage des crédits ECTS :
\n";
break;
case 'tout_sauf_avis':
echo "
Vérification du remplissage des moyennes, appréciations et absences :
\n";
break;
case 'tout':
echo "
Vérification du remplissage des moyennes, appréciations, absences et avis du conseil de classe :
\n";
break;
}
// Tableau pour stocker les infos à envoyer aux profs à propos des notes/app non remplies
$tab_alerte_prof=array();
// Affichage sur 3 colonnes
$nb_eleve_par_colonne=round($nb_eleves/2);
echo "
\n";
echo "
\n";
$cpt_i = 0;
echo "
\n";
echo "
\n";
$temoin_note_app=0;
$temoin_avis=0;
$temoin_aid=0;
$temoin_abs=0;
$temoin_ects=0;
$temoin_has_ects = false; // Ce témoin sert dans les cas où en réalité aucun élève ne suit d'enseignement ouvrant droit à ECTS.
while($j < $nb_eleves) {
//affichage 2 colonnes
if(($cpt_i>0)&&(round($cpt_i/$nb_eleve_par_colonne)==$cpt_i/$nb_eleve_par_colonne)) {
echo "
\n";
echo "
\n";
}
$id_eleve[$j] = old_mysql_result($appel_donnees_eleves, $j, "login");
$eleve_nom[$j] = old_mysql_result($appel_donnees_eleves, $j, "nom");
$eleve_prenom[$j] = old_mysql_result($appel_donnees_eleves, $j, "prenom");
$affiche_nom = 1;
if(($mode=="note_app")||($mode=="tout")||($mode=="tout_sauf_avis")) {
$groupeinfo = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT id_groupe FROM j_eleves_groupes WHERE login='" . $id_eleve[$j] ."'");
$lignes_groupes = mysqli_num_rows($groupeinfo);
//
//Vérification des appréciations
//
$i= 0;
//
//Début de la boucle matière
//
// Variable remontée hors du test sur $mode
//$affiche_nom = 1;
$affiche_mess_app = 1;
$affiche_mess_note = 1;
while($i < $lignes_groupes) {
$group_id = old_mysql_result($groupeinfo, $i, "id_groupe");
$current_group = get_group($group_id);
//if (in_array($id_eleve[$j], $current_group["eleves"][$per]["list"])) { // Si l'élève suit cet enseignement pour la période considérée
if (((!isset($current_group['visibilite']['bulletins']))||($current_group['visibilite']['bulletins']!='n'))&&(in_array($id_eleve[$j], $current_group["eleves"][$per]["list"]))) { // Si l'élève suit cet enseignement pour la période considérée
//
//Vérification des appréciations :
//
$test_app = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM matieres_appreciations WHERE (login = '$id_eleve[$j]' and id_groupe = '" . $current_group["id"] . "' and periode = '$per')");
//$app = @old_mysql_result($test_app, 0, 'appreciation');
$app="";
if(mysqli_num_rows($test_app)>0) {$app=old_mysql_result($test_app, 0, 'appreciation');}
if ($app == '') {
$bulletin_rempli = 'no';
if ($affiche_nom != 0) {
//echo "
\n";
$alt=1;
//$tab_alerte_prof[$login_prof]['groupe'][$group_id]['app_manquante'][]
foreach($tab_alerte_prof as $login_prof => $tab_prof) {
$alt=$alt*(-1);
$info_prof=$tab_alerte_prof[$login_prof]['civilite']." ".casse_mot($tab_alerte_prof[$login_prof]['nom'],'maj')." ".casse_mot($tab_alerte_prof[$login_prof]['prenom'],'majf2');
$chaine_app_manquante="";
$chaine_moy_manquante="";
//$message="Bonjour(soir) ".$info_prof.",\n\nDes moyennes et/ou appréciations ne sont pas remplies:\n";
foreach($tab_prof['groupe'] as $group_id => $tab_group) {
if(isset($tab_group['app_manquante'])) {
//$message.="Appréciation(s) manquante(s) en ".$tab_alerte_prof[$login_prof]['groupe'][$group_id]['info']." pour ";
$chaine_app_manquante.="Appréciation(s) manquante(s) en ".$tab_alerte_prof[$login_prof]['groupe'][$group_id]['info']." pour ";
//echo count($tab_alerte_prof[$login_prof]['groupe'][$group_id]['app_manquante']);
for($loop=0;$loop0) {
//$message.=", ";
$chaine_app_manquante.=", ";
}
//$message.=$tab_group['app_manquante'][$loop];
//$message.=$tab_alerte_prof[$login_prof]['groupe'][$group_id]['app_manquante'][$loop];
$chaine_app_manquante.=$tab_alerte_prof[$login_prof]['groupe'][$group_id]['app_manquante'][$loop];
}
//$message.=".\n";
$chaine_app_manquante.=".\n";
}
if(isset($tab_group['moy_manquante'])) {
//$message.="Moyenne(s) manquante(s) en ".$tab_group['info']." pour ";
$chaine_moy_manquante.="Moyenne(s) manquante(s) en ".$tab_group['info']." pour ";
for($loop=0;$loop0) {
//$message.=", ";
$chaine_moy_manquante.=", ";
}
//$message.=$tab_group['moy_manquante'][$loop];
//$message.=$tab_alerte_prof[$login_prof]['groupe'][$group_id]['moy_manquante'][$loop];
$chaine_moy_manquante.=$tab_alerte_prof[$login_prof]['groupe'][$group_id]['moy_manquante'][$loop];
}
//$message.=".\n";
$chaine_moy_manquante.=".\n";
}
}
//$message.="\nLorsqu'un élève n'a pas de note, veuillez saisir un tiret '-' pour signaler qu'il n'y a pas d'oubli de saisie de votre part.\nEn revanche, s'il s'agit d'une erreur d'affectation, vous disposez, en mode Visualisation d'un carnet de notes, d'un lien 'Signaler des erreurs d affectation' pour alerter l'administrateur Gepi sur un problème d'affectation d'élèves.\n";
//$message.="\nJe vous serais reconnaissant(e) de bien vouloir les remplir rapidement.\n\nD'avance merci.\n-- \n".civ_nom_prenom($_SESSION['login']);
$message=stripslashes($MsgMailVerifRemplissageBulletins);
$message=preg_replace("/___NOM_PROF___/", $info_prof, $message);
//$message=preg_replace("/___ENSEIGNEMENT___/", "", $message);
//$message=preg_replace("/___LISTE_ELEVES___/", "", $message);
$message=preg_replace("/___LIGNE_APPRECIATIONS_MANQUANTES___/", $chaine_app_manquante, $message);
$message=preg_replace("/___LIGNE_MOYENNES_MANQUANTES___/", $chaine_moy_manquante, $message);
if(isset($tab_date_conseil[$id_classe]['date'])) {
$message=preg_replace("/___DATE_CONSEIL___/", formate_date($tab_date_conseil[$id_classe]['date'], "y2", "court"), $message);
}
$message=preg_replace("/___NOM_EMETTEUR___/", civ_nom_prenom($_SESSION['login']), $message);
echo "
la saisie/modification de notes du carnet de notes,";
foreach($tab_prof['groupe'] as $group_id => $tab_group) {
$sql="SELECT * FROM acces_cn WHERE id_groupe='$group_id' AND periode='$per' AND date_limite>'".strftime("%Y-%m-%d %H:%M:%S")."' ORDER BY date_limite ASC;";
//echo "$sql ";
$test = mysqli_query($mysqli, $sql);
if($test->num_rows > 0) {
while($lig_acces=mysqli_fetch_object($test)) {
echo "
".$tab_group['info']." : Accès (à la saisie de notes dans le Carnet de notes) ouvert jusqu'au ".formate_date($lig_acces->date_limite, "y", "court");
}
}
}
echo "
";
}
echo "
la saisie/modification de notes du bulletin,";
foreach($tab_prof['groupe'] as $group_id => $tab_group) {
$sql="SELECT * FROM acces_exceptionnel_matieres_notes WHERE id_groupe='$group_id' AND periode='$per' AND date_limite>'".strftime("%Y-%m-%d %H:%M:%S")."' ORDER BY date_limite ASC;";
//echo "$sql ";
$test = mysqli_query($mysqli, $sql);
if($test->num_rows > 0) {
while($lig_acces=mysqli_fetch_object($test)) {
echo "
".$tab_group['info']." : Accès (à la saisie de notes dans les Bulletins) ouvert jusqu'au ".formate_date($lig_acces->date_limite, "y", "court");
}
}
}
echo "
la proposition de saisie d'appréciation(s) sur les bulletins.";
foreach($tab_prof['groupe'] as $group_id => $tab_group) {
$sql="SELECT * FROM matieres_app_delais WHERE id_groupe='$group_id' AND periode='$per' AND date_limite>'".strftime("%Y-%m-%d %H:%M:%S")."' ORDER BY date_limite ASC;";
//echo "$sql ";
$test = mysqli_query($mysqli, $sql);
if($test->num_rows > 0) {
while($lig_acces=mysqli_fetch_object($test)) {
echo "
".$tab_group['info']." : Accès (Appréciations des bulletins : ".$lig_acces->mode.") ouvert jusqu'au ".formate_date($lig_acces->date_limite, "y", "court");
}
}
}
echo "