function verifChecked($id){ // On utilise les variables définies dans /creer_statut_autorisation.php global $autorise; global $iter; for($i = 1 ; $i < $iter ; $i++){ // On récupère les droits de ce statut privé $sql_ds = "SELECT autorisation FROM droits_speciaux WHERE id_statut = '".$id."' AND nom_fichier = '".$autorise[$i][0]."'"; $query_ds = mysqli_query($GLOBALS["mysqli"], $sql_ds) OR trigger_error('Erreur dans la fonction verifChecked ', E_USER_ERROR); $count = mysqli_num_rows($query_ds); if ($count >= 1) { $rep = old_mysql_result($query_ds, 0,"autorisation"); }else{ $rep = 'F'; } // echo $sql_ds.' '.$rep.'<br />'; // debug if ($rep == 'V') { $retour[$i] = ' checked="checked"'; }else{ $retour[$i] = ''; } } return $retour; }
function getTypeCurrentWeek($numero_sem_actu){ $retour = ''; $query = mysqli_query($GLOBALS["mysqli"], "SELECT type_edt_semaine FROM edt_semaines WHERE num_edt_semaine = '".$numero_sem_actu."'"); if (count($query) == 1) { $type = old_mysql_result($query, 0); $retour = $type; } return $retour; }
/** * Fonction qui renvoie le login d'un élève en échange de son ele_id * * @param int $id_eleve ele_id de l'élève * @return string login de l'élève */ function get_login_eleve($id_eleve) { $sql = "SELECT login FROM eleves WHERE id_eleve = '" . $id_eleve . "'"; $query = mysqli_query($GLOBALS["mysqli"], $sql) or trigger_error('Impossible de récupérer le login de cet élève.', E_USER_ERROR); if ($query) { $retour = old_mysql_result($query, 0, "login"); } else { $retour = 'erreur'; } return $retour; }
function test_before_eleve_grp_removal($_login, $_id_groupe, $_periode) { $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "select count(*) FROM matieres_notes WHERE (login = '******' AND id_groupe = '" . $_id_groupe . "' AND periode = '" . $_periode . "')"), 0); $test2 = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "select count(*) FROM matieres_appreciations WHERE (login = '******' AND id_groupe = '" . $_id_groupe . "' AND periode = '" . $_periode . "')"), 0); // cnd.statut='': on ne compte que les vraies notes: pas abs, disp, - ou v $test3 = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "select count(*) FROM cn_notes_devoirs cnd, cn_devoirs cd, cn_cahier_notes ccn WHERE (cnd.login = '******' AND cnd.statut='' AND cnd.id_devoir=cd.id AND cd.id_racine=ccn.id_cahier_notes AND ccn.id_groupe = '" . $_id_groupe . "' AND ccn.periode = '" . $_periode . "')"), 0); if ($test == 0 and $test2 == 0 and $test3 == 0) { return true; } else { return false; } }
function statutAutreSetting() { // On cherche quel est le droit dont dispose cet utilisateur 'autre' if ($_SESSION["statut"] == 'autre') { $query = mysqli_query($GLOBALS["mysqli"], "SELECT autorisation FROM droits_speciaux WHERE id_statut = '" . $_SESSION["statut_special_id"] . "' AND nom_fichier = '/tous_les_edt'"); $rep = old_mysql_result($query, 0, "autorisation"); if ($rep["autorisation"] == 'V') { return 'oui'; } else { return 'non'; } } else { return 'oui'; } }
function get_eleves_classe($_id_classe) { if (!is_numeric($_id_classe)) { $_id_classe = "0"; } $query = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT nom, prenom, e.login, id_eleve\n\t\t\t\t\t\t\tFROM j_eleves_classes jec, eleves e\n\t\t\t\t\t\t\tWHERE e.login = jec.login\n\t\t\t\t\t\t\tAND jec.id_classe = '" . $_id_classe . "'\n\t\t\t\t\t\t\tORDER BY nom, prenom"); $nbre = mysqli_num_rows($query); $retour = array(); $retour["nbre"] = $nbre; for ($i = 0; $i < $nbre; $i++) { $retour[$i]["nom"] = old_mysql_result($query, $i, "nom"); $retour[$i]["prenom"] = old_mysql_result($query, $i, "prenom"); $retour[$i]["login"] = old_mysql_result($query, $i, "login"); $retour[$i]["id_eleve"] = old_mysql_result($query, $i, "id_eleve"); } return $retour; }
function modif_suivi_du_courrier($id_absence_eleve, $eleve_absence_eleve) { global $prefix_base; // on vérify s'il y a un courrier si oui on le supprime s'il fait parti d'un ensemble de courrier alors on le modifi. // première option il existe une lettre qui fait seulement référence à cette id donc suppression $cpt_lettre_suivi = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM ".$prefix_base."lettres_suivis WHERE quirecois_lettre_suivi = '".$eleve_absence_eleve."' AND partde_lettre_suivi = 'absences_eleves' AND type_lettre_suivi = '6' AND partdenum_lettre_suivi = ',".$id_absence_eleve.",'"),0); if( $cpt_lettre_suivi == 1 ) { $requete = "DELETE FROM ".$prefix_base."lettres_suivis WHERE partde_lettre_suivi = 'absences_eleves' AND type_lettre_suivi = '6' AND partdenum_lettre_suivi = ',".$id_absence_eleve.",'"; mysqli_query($GLOBALS["mysqli"], $requete) or die('Erreur SQL !'.$requete.'<br />'.mysqli_error($GLOBALS["mysqli"])); } // deuxième option il existe une lettre qui fait référence à cette id mais à d'autre aussi donc modification $cpt_lettre_suivi = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM ".$prefix_base."lettres_suivis WHERE quirecois_lettre_suivi = '".$eleve_absence_eleve."' AND partde_lettre_suivi = 'absences_eleves' AND type_lettre_suivi = '6' AND partdenum_lettre_suivi LIKE '%,".$id_absence_eleve.",%'"),0); if( $cpt_lettre_suivi == 1 ) { $requete = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM ".$prefix_base."lettres_suivis WHERE partde_lettre_suivi = 'absences_eleves' AND type_lettre_suivi = '6' AND partdenum_lettre_suivi LIKE '%,".$id_absence_eleve.",%'"); $donnee = mysqli_fetch_array($requete); $remplace_sa = ','.$id_absence_eleve.','; $modifier_par = my_ereg_replace($remplace_sa,',',$donnee['partdenum_lettre_suivi']); $requete = "UPDATE ".$prefix_base."lettres_suivis SET partdenum_lettre_suivi = '".$modifier_par."', envoye_date_lettre_suivi = '', envoye_heure_lettre_suivi = '', quienvoi_lettre_suivi = '' WHERE partde_lettre_suivi = 'absences_eleves' AND type_lettre_suivi = '6' AND partdenum_lettre_suivi LIKE '%,".$id_absence_eleve.",%'"; mysqli_query($GLOBALS["mysqli"], $requete) or die('Erreur SQL !'.$requete.'<br />'.mysqli_error($GLOBALS["mysqli"])); } }
// Vérifier que l'id_ct_devoir correspond à un cours de l'élève. $sql = "SELECT 1=1 FROM ct_devoirs_entry cde, j_eleves_groupes jeg WHERE cde.id_ct='" . $id_ct_devoir . "' AND cde.id_groupe=jeg.id_groupe AND jeg.login='******';"; //echo "$sql<br />"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) == 0) { echo "<img src='../images/icons/sens_interdit.png' class='icone16' title=\"Vous ne suivez pas l'enseignement associé à ce devoir.\" />"; die; } $date_courante = strftime("%Y-%m-%d %H:%M:%S"); $sql = "SELECT * FROM ct_devoirs_faits WHERE id_ct='" . $id_ct_devoir . "' AND login='******';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) == 0) { $nouvel_etat = "fait"; $sql = "INSERT INTO ct_devoirs_faits SET id_ct='" . $id_ct_devoir . "', login='******', date_initiale='{$date_courante}', date_modif='{$date_courante}', etat='{$nouvel_etat}', commentaire='';"; } else { $etat = old_mysql_result($res, 0, 'etat'); if ($etat == "") { $nouvel_etat = 'fait'; } else { $nouvel_etat = ''; } $sql = "UPDATE ct_devoirs_faits SET date_modif='{$date_courante}', etat='{$nouvel_etat}', commentaire='' WHERE id_ct='" . $id_ct_devoir . "' AND login='******';"; } $reg = mysqli_query($GLOBALS["mysqli"], $sql); if (!$reg) { //echo "<img src='../images/icons/ico_attention.png' class='icone16' title=\"Il s'est produit une erreur.\" />"; echo "<img src='../images/icons/ico_attention.png' class='icone16' title=\"Il s'est produit une erreur.\n{$sql}\" />"; } elseif ($nouvel_etat == 'fait') { echo "<a href=\"javascript:cdt_modif_etat_travail('{$login_eleve}', '" . $id_ct_devoir . "')\" title=\"FAIT: Le travail est fait\"><img src='../images/edit16b.png' class='icone16' /></a>"; } else { echo "<a href=\"javascript:cdt_modif_etat_travail('{$login_eleve}', '" . $id_ct_devoir . "')\" title=\"NON FAIT: Le travail n'est pas encore fait\"><img src='../images/edit16.png' class='icone16' /></a>";
$note_eleve1 = @old_mysql_result($note_eleve1_query, 0, "moyenne"); if ($note_eleve1 == '') {$note_eleve1 = '-';} $note_eleve2 = @old_mysql_result($note_eleve2_query, 0, "moyenne"); if ($note_eleve2 == '') {$note_eleve2 = '-';} } } if ($inserligne == "yes") { if ($affiche_categories) { // On regarde si on change de catégorie de matière if ($current_group["classes"]["classes"][$id_classe]["categorie_id"] != $prev_cat_id) { $prev_cat_id = $current_group["classes"]["classes"][$id_classe]["categorie_id"]; // On est dans une nouvelle catégorie // On récupère les infos nécessaires, et on affiche une ligne //$cat_name = html_entity_decode(old_mysql_result(mysql_query("SELECT nom_complet FROM matieres_categories WHERE id = '" . $current_group["classes"]["classes"][$id_classe]["categorie_id"] . "'"), 0)); $cat_name = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT nom_complet FROM matieres_categories WHERE id = '" . $current_group["classes"]["classes"][$id_classe]["categorie_id"] . "'"), 0); // On détermine le nombre de colonnes pour le colspan $nb_total_cols = 4; // On a toutes les infos. On affiche ! echo "<tr>"; echo "<td colspan='" . $nb_total_cols . "'>"; echo "<p style='padding: 5; margin:0; font-size: 15px;'>".$cat_name."</p></td>"; echo "</tr>"; } } //echo "<tr><td><p>" . $current_group["matiere"]["nom_complet"] . "</p></td><td><p>"; echo "<tr><td><p>" . htmlspecialchars($current_group["matiere"]["nom_complet"]) . "</p></td><td><p>"; echo "$note_eleve1"; echo "</p></td><td><p>";
if ($exist == 'no') { // Aucun professeur ne porte le même nom dans la base GEPI. On va donc rentrer ce professeur dans la base $affiche[1] = nettoyer_caracteres_nom($affiche[1], "a", " _-", ""); if ($_POST['login_gen_type'] == 'ent') { // A MODIFIER : Pouvoir gérer use_ent et NetCollege ITOP hors 27: if (getSettingValue("use_ent") == 'y' && !preg_match("/^027/", getSettingValue('gepiSchoolRne'))) { // Charge à l'organisme utilisateur de pourvoir à cette fonctionnalité // le code suivant n'est qu'une méthode proposée pour relier Gepi à un ENT $bx = 'oui'; if (isset($bx) and $bx == 'oui') { // On va chercher le login de l'utilisateur dans la table créée $sql_p = "SELECT login_u FROM ldap_bx\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE nom_u = '" . my_strtoupper($affiche[0]) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND prenom_u = '" . my_strtoupper($affiche[1]) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND statut_u = 'teacher'"; $query_p = mysqli_query($GLOBALS["mysqli"], $sql_p); $nbre = mysqli_num_rows($query_p); if ($nbre >= 1 and $nbre < 2) { $temp1 = old_mysql_result($query_p, 0, "login_u"); } else { // Il faudrait alors proposer une alternative à ce cas $temp1 = "erreur_" . $k; } } } else { die('Vous n\'avez pas autorisé Gepi à utiliser un ENT'); } } else { $temp1 = generate_unique_login($affiche[0], $affiche[1], $_POST['login_gen_type'], $_POST['login_gen_type_casse']); } if (!$temp1 || $temp1 == "") { $temp1 = "erreur_"; } $login_prof = $temp1;
$periode_max = mysqli_num_rows($query_periode_max) + 1; // si l'élève est déjà dans une classe dont le nombre de périodes est différent du nombre de périodes de la classe selctionnée, on ne fait rien. Dans la cas contraire : if ($periode_max == $nb_periode) { $i = '1'; while ($i < $nb_periode) { $call_data2 = mysqli_query($GLOBALS["mysqli"], "SELECT id_classe FROM j_eleves_classes WHERE (login = '******' and periode = '{$i}')"); $test2 = mysqli_num_rows($call_data2); if ($test2 == 0) { // l'élève n'est affecté à aucune classe pour cette période $inserer_ligne = 'yes'; $eleves_non_affectes = 'yes'; $nom_classe[$i] = 'vide'; } else { $idd_classe = old_mysql_result($call_data2, 0, "id_classe"); $call_classe = mysqli_query($GLOBALS["mysqli"], "SELECT classe FROM classes WHERE (id = '{$idd_classe}')"); $nom_classe[$i] = old_mysql_result($call_classe, 0, "classe"); } $i++; } } } if ($inserer_ligne == 'yes') { $alt = $alt * -1; echo "<tr class='lig{$alt}'><td><a name='ligne_{$login_eleve}'></a>\n"; $current_nom_prenom = casse_mot($nom_eleve, "maj") . " " . casse_mot($prenom_eleve, 'majf2'); //echo "<input type='hidden' name='log_eleve[$ki]' value=\"$login_eleve\" />\n"; if ($acces_modify_eleve) { echo "<p><a href='../eleves/modify_eleve.php?eleve_login={$login_eleve}' target='_blank' title=\"Consulter/Modifier la fiche élève\">" . $current_nom_prenom . "</a></p></td>\n"; } else { echo "<p>" . $current_nom_prenom . "</p></td>\n"; }
$calldata = mysqli_query($GLOBALS["mysqli"], $sql); $nb = mysqli_num_rows($calldata); $eleves_list = array(); $eleves_list["list"] = array(); for ($i = 0; $i < $nb; $i++) { $e_login = old_mysql_result($calldata, $i, "login"); //================================ //echo "<input type='hidden' name='login_eleve[$i]' value='$e_login' />\n"; echo "<input type='hidden' name='login_eleve[{$i}]' id='login_eleve_{$i}' value='{$e_login}' />\n"; //========================= $login_eleve[$i] = $e_login; //========================= $e_nom = old_mysql_result($calldata, $i, "nom"); $e_prenom = old_mysql_result($calldata, $i, "prenom"); $e_id_classe = old_mysql_result($calldata, $i, "id_classe"); $classe = old_mysql_result($calldata, $i, "classe"); $eleves_list["list"][] = $e_login; $eleves_list["users"][$e_login] = array("login" => $e_login, "nom" => $e_nom, "prenom" => $e_prenom, "classe" => $classe, "id_classe" => $e_id_classe); } //echo "count(\$eleves_list)=".count($eleves_list)."<br />"; $total_eleves = $eleves_list["list"]; //echo "count(\$total_eleves)=".count($total_eleves)."<br />"; foreach ($current_group["periodes"] as $period) { if ($period["num_periode"] != "") { //$total_eleves = array_merge($total_eleves, (array)$reg_eleves[$period["num_periode"]]); if (count($reg_eleves[$period["num_periode"]]) > 0) { $total_eleves = array_merge($total_eleves, (array) $reg_eleves[$period["num_periode"]]); } //echo "count(\$reg_eleves[".$period["num_periode"]."])=".count($reg_eleves[$period["num_periode"]])."<br />"; } }
/** * Affichage de la liste des conteneurs * * @global array * @global text * @global int * @global int * @param int $id_conteneur Id du conteneur * @param int $periode_num Numéro de la période * @return text no si le conteneur contient des notes, yes sinon * @see getSettingValue() * @see add_token_in_url() */ function liste_devoirs_conteneurs($id_dev_cc, $id_conteneur, $periode_num) { global $gepiClosedPeriodLabel, $id_groupe, $id_cn_dev, $id_racine; // A FAIRE: Tester si la période est ouverte // Si ce n'est pas le cas, refuser le transfert. // // Cas particulier de la racine $gepi_denom_boite = getSettingValue("gepi_denom_boite"); $sql = "SELECT * FROM cn_conteneurs WHERE (parent='0' and id_racine='{$id_conteneur}')"; $appel_conteneurs = mysqli_query($GLOBALS["mysqli"], $sql); $nb_cont = mysqli_num_rows($appel_conteneurs); if ($nb_cont != 0) { echo "<ul>\n"; $id_cont = old_mysql_result($appel_conteneurs, 0, 'id'); $id_parent = old_mysql_result($appel_conteneurs, 0, 'parent'); //$id_racine = old_mysql_result($appel_conteneurs, 0, 'id_racine'); $nom_conteneur = old_mysql_result($appel_conteneurs, 0, 'nom_court'); echo "<li>\n"; echo "{$nom_conteneur} "; /* if ($ver_periode <= 1) { echo " (<strong>".$gepiClosedPeriodLabel."</strong>) "; } */ echo "- <a href='transfert_cc_vers_cn.php?id_dev_cc={$id_dev_cc}&id_racine={$id_racine}&id_conteneur={$id_cont}&creer_dev=y" . add_token_in_url() . "'>Créer une nouvelle évaluation dans ce conteneur</a>\n"; $appel_dev = mysqli_query($GLOBALS["mysqli"], "select * from cn_devoirs where id_conteneur='{$id_cont}' order by date"); $nb_dev = mysqli_num_rows($appel_dev); if ($nb_dev != 0) { $empty = 'no'; } //if ($ver_periode >= 2) { $j = 0; if ($nb_dev > 0) { echo "<ul>\n"; while ($j < $nb_dev) { $nom_devoir_cn = old_mysql_result($appel_dev, $j, 'nom_court'); $id_devoir_cn = old_mysql_result($appel_dev, $j, 'id'); echo "<li>\n"; echo "<font color='green'>{$nom_devoir_cn}</font>"; echo " - <a href='transfert_cc_vers_cn.php?id_dev_cc={$id_dev_cc}&id_racine={$id_racine}&id_conteneur={$id_cont}&id_devoir_cn={$id_devoir_cn}&ecraser_contenu_dev=y" . add_token_in_url() . "' onclick=\"return confirm('Vous allez remplacer le contenu de cette évaluation. Etes-vous sûr?')\">Utiliser ce devoir</a>"; echo " (n°{$id_devoir_cn})"; if ($id_devoir_cn == $id_cn_dev) { echo " <img src='../images/enabled.png' width='20' height='20' title='Devoir précédemment associé' />"; } echo " - <a href='saisie_notes.php?id_conteneur={$id_cont}&id_devoir={$id_devoir_cn}'><img src='../images/icons/chercher.png' width='16' height='16' title='Voir cette évaluation du carnet de notes' alt='Voir cette évaluation du carnet de notes' /></a>"; // A FAIRE: Ajouter une infobulle avec le détail de ce devoir... avec le contenu (les notes et commentaires?) /* $sql="SELECT 1=1 FROM cn_notes_devoirs cnd, j_eleves_classes jec WHERE cnd.id_devoir='$id_dev' AND cnd.statut!='v' AND jec.login=cnd.login AND jec.periode='$periode_num';"; $res_eff_dev=mysql_query($sql); $eff_dev=mysql_num_rows($res_eff_dev); echo " <span title=\"Effectif des notes saisies/effectif total de l'enseignement\" style='font-size:small;"; if(isset($eff_groupe)) {if($eff_dev==$eff_groupe) {echo "color:green;";} else {echo "color:red;";}} echo "'>($eff_dev"; if(isset($eff_groupe)) {echo "/$eff_groupe";} echo ")</span>"; */ $j++; } echo "</ul>\n"; } //} } //if ($ver_periode >= 2) { $appel_conteneurs = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM cn_conteneurs WHERE (parent='{$id_conteneur}') order by nom_court"); $nb_cont = mysqli_num_rows($appel_conteneurs); if ($nb_cont > 0) { echo "<ul>\n"; $i = 0; while ($i < $nb_cont) { $id_cont = old_mysql_result($appel_conteneurs, $i, 'id'); $id_parent = old_mysql_result($appel_conteneurs, $i, 'parent'); //$id_racine = old_mysql_result($appel_conteneurs, $i, 'id_racine'); $nom_conteneur = old_mysql_result($appel_conteneurs, $i, 'nom_court'); if ($id_cont != $id_parent) { echo "<li>\n"; echo "{$nom_conteneur} - <a href='transfert_cc_vers_cn.php?id_dev_cc={$id_dev_cc}&id_racine={$id_racine}&id_conteneur={$id_cont}&creer_dev=y" . add_token_in_url() . "'>Créer une nouvelle évaluation dans ce conteneur</a>\n"; $display_bulletin = old_mysql_result($appel_conteneurs, $i, 'display_bulletin'); $coef = old_mysql_result($appel_conteneurs, $i, 'coef'); echo " (<i><span title='Coefficient {$coef}'>{$coef}</span> "; if ($display_bulletin == 1) { echo "<img src='../images/icons/visible.png' width='19' height='16' title='{$gepi_denom_boite} visible sur le bulletin' alt='{$gepi_denom_boite} visible sur le bulletin' />"; } else { echo " <img src='../images/icons/invisible.png' width='19' height='16' title='{$gepi_denom_boite} non visible sur le bulletin' alt='{$gepi_denom_boite} non visible sur le bulletin' />\n"; } echo "</i>)"; $appel_dev = mysqli_query($GLOBALS["mysqli"], "select * from cn_devoirs where id_conteneur='{$id_cont}' order by date"); $nb_dev = mysqli_num_rows($appel_dev); if ($nb_dev != 0) { $empty = 'no'; } // Existe-t-il des sous-conteneurs? $sql = "SELECT 1=1 FROM cn_conteneurs WHERE (parent='{$id_cont}')"; $test_sous_cont = mysqli_query($GLOBALS["mysqli"], $sql); $nb_sous_cont = mysqli_num_rows($test_sous_cont); $j = 0; if ($nb_dev > 0) { echo "<ul>\n"; while ($j < $nb_dev) { $nom_devoir_cn = old_mysql_result($appel_dev, $j, 'nom_court'); $id_devoir_cn = old_mysql_result($appel_dev, $j, 'id'); echo "<li>\n"; echo "<font color='green'>{$nom_devoir_cn}</font>"; echo " - <a href='transfert_cc_vers_cn.php?id_dev_cc={$id_dev_cc}&id_racine={$id_racine}&id_conteneur={$id_cont}&id_devoir={$id_devoir_cn}&ecraser_contenu_dev=y" . add_token_in_url() . "' onclick=\"return confirmlink(this, 'Vous allez remplacer le contenu de cette évaluation. Etes-vous sûr?')\">Utiliser ce devoir</a>"; echo " (n°{$id_devoir_cn})"; /* $sql="SELECT 1=1 FROM cn_notes_devoirs cnd, j_eleves_classes jec WHERE cnd.id_devoir='$id_dev' AND cnd.statut!='-' AND cnd.statut!='v' AND jec.login=cnd.login AND jec.periode='$periode_num';"; $res_eff_dev=mysql_query($sql); $eff_dev=mysql_num_rows($res_eff_dev); echo " <span title=\"Effectif des notes saisies/effectif total de l'enseignement\" style='font-size:small;"; if(isset($eff_groupe)) {if($eff_dev==$eff_groupe) {echo "color:green;";} else {echo "color:red;";}} echo "'>($eff_dev"; if(isset($eff_groupe)) {echo "/$eff_groupe";} echo ")</span>"; */ echo " - <a href='saisie_notes.php?id_conteneur={$id_cont}&id_devoir={$id_devoir_cn}'><img src='../images/icons/chercher.png' width='16' height='16' title='Voir cette évaluation du carnet de notes' alt='Voir cette évaluation du carnet de notes' /></a>"; echo "</li>\n"; $j++; } echo "</ul>\n"; } } if ($id_conteneur != $id_cont) { liste_devoirs_conteneurs($id_dev_cc, $id_cont, $periode_num); } if ($id_cont != $id_parent) { echo "</li>\n"; } $i++; } echo "</ul>\n"; } //} if (isset($empty) && $empty != 'no') { return 'yes'; } }
$lig_sanction=mysqli_fetch_object($res_sanction); $date_retour=formate_date($lig_sanction->date_retour); $heure_retour=$lig_sanction->heure_retour; $travail=$lig_sanction->travail; } } elseif($odt=='autre') { $nom_autorite=civ_nom_prenom($_SESSION['login'],''); $sql="SELECT * FROM s_incidents WHERE id_incident='$id_incident';"; $res_incident=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_incident)==0) { $qualification_faits=""; } else { $qualification_faits=old_mysql_result($res_incident,0,"description"); } $sql="SELECT sas.*, sts.nature FROM s_autres_sanctions sas, s_types_sanctions sts WHERE sas.id_sanction='$id_sanction' AND sas.id_nature=sts.id_nature;"; $res_sanction=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_sanction)==0) { $nature_sanction=""; $description_sanction=""; } else { $lig_sanction=mysqli_fetch_object($res_sanction); $nature_sanction=$lig_sanction->nature; $description_sanction=$lig_sanction->description; } } }
if (mysqli_num_rows($test) == 0) { $sql = "INSERT INTO nomenclatures SET code='" . $matiere[$i]['code'] . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype='matiere';"; $insert = mysqli_query($GLOBALS["mysqli"], $sql); if ($insert) { foreach ($tab_champs_matiere as $key => $value) { $tmp_value = strtolower($value); if (isset($matiere[$i][$tmp_value])) { $sql = "INSERT INTO nomenclatures_valeurs SET type='matiere',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcode='" . $matiere[$i]['code'] . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnom='" . mysqli_real_escape_string($GLOBALS["mysqli"], $tmp_value) . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvaleur='" . mysqli_real_escape_string($GLOBALS["mysqli"], $matiere[$i][$tmp_value]) . "';"; $insert = mysqli_query($GLOBALS["mysqli"], $sql); } } } } } } else { $nom_complet = old_mysql_result($verif, 0, 'nom_complet'); $alt = $alt * -1; echo "<tr class='lig{$alt}'>\n"; echo "<td><p><font color='green'>" . $matiere[$i]['code_gestion'] . "</font></p></td><td><p>" . htmlspecialchars($nom_complet) . "</p></td></tr>\n"; } $i++; } echo "</table>\n"; // Importation des MEF $divisions = array(); $tab_mef_code = array(); $i = 0; foreach ($sts_xml->DONNEES->STRUCTURE->DIVISIONS->children() as $objet_division) { $divisions[$i] = array(); foreach ($objet_division->attributes() as $key => $value) { if (my_strtoupper($key) == 'CODE') {
if ($nb == 0) { $bulletin_rempli = 'no'; if ($affiche_nom != 0) { echo "<p style='border:1px solid black;'><span class='bold'>{$eleve_prenom[$j]} {$eleve_nom[$j]}</span>"; } echo "<br /><br />\n"; echo "<b>Crédits ECTS</b> non remplis !"; // On récupère le prof principal, si celui-ci est autorisé à saisir les ECTS if ($gepiSettings['GepiAccesSaisieEctsPP'] == 'yes') { $call_prof = mysqli_query($GLOBALS["mysqli"], "SELECT u.login, u.nom, u.prenom FROM utilisateurs u, j_eleves_professeurs j WHERE (j.login = '******' and j.id_classe='{$id_classe}' and u.login=j.professeur)"); $nb_result = mysqli_num_rows($call_prof); if ($nb_result != 0) { $login_prof = old_mysql_result($call_prof, 0, 'login'); $email = retourne_email($login_prof); $nom_prof = old_mysql_result($call_prof, 0, 'nom'); $prenom_prof = old_mysql_result($call_prof, 0, 'prenom'); //echo " (<a href='mailto:$email'>$prenom_prof $nom_prof</a>)"; //if($email!="") { if ($email != "" && check_mail($email)) { $sujet_mail = "[Gepi]: ECTS non remplis: " . $eleve_nom[$j]; $message_mail = "Bonjour,\r\n\r\nCordialement"; echo " (<a href='mailto:{$email}?subject={$sujet_mail}&body=" . rawurlencode($message_mail) . "'>" . casse_mot($prenom_prof, 'majf2') . " " . my_strtoupper($nom_prof) . "</a>)"; } else { echo " (" . casse_mot($prenom_prof, 'majf2') . " " . my_strtoupper($nom_prof) . ")"; } } else { echo " (pas de " . getSettingValue("gepi_prof_suivi") . ")"; } } $affiche_nom = 0; $temoin_ects++;
//$reg_nom_court = $_POST["ligne".$i."_nom_court"]; //$reg_nom_long = $_POST["ligne".$i."_nom_long"]; $reg_nom_court = $lig->col1; $reg_nom_long = $lig->col2; // On nettoie et on vérifie : $reg_nom_court = remplace_accents($reg_nom_court); $reg_nom_court = preg_replace("/[^A-Za-z0-9._\\-]/", "", trim(my_strtoupper($reg_nom_court))); if (mb_strlen($reg_nom_court) > 50) { $reg_nom_court = mb_substr($reg_nom_court, 0, 50); } $reg_nom_long = nettoyer_caracteres_nom($reg_nom_long, "an", " &'_-", ""); if (mb_strlen($reg_nom_long) > 200) { $reg_nom_long = mb_substr($reg_nom_long, 0, 200); } // Maintenant que tout est propre, on fait un test sur la table pour voir si la matière existe déjà ou pas $test = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(matiere) FROM matieres WHERE matiere = '" . $reg_nom_court . "'"), 0); if ($test == 0) { // Test négatif : aucune matière avec ce nom court... on enregistre ! $insert = mysqli_query($GLOBALS["mysqli"], "INSERT INTO matieres SET " . "matiere = '" . $reg_nom_court . "', " . "nom_complet = '" . mysqli_real_escape_string($GLOBALS["mysqli"], $reg_nom_long) . "',priority='0',matiere_aid='n',matiere_atelier='n'"); //"nom_complet = '" . htmlspecialchars($reg_nom_long) . "'"); if (!$insert) { $error++; echo "<span style='color:red'>" . mysqli_error($GLOBALS["mysqli"]) . '<span><br />'; } else { $total++; } } else { $nb_matieres_existantes++; } $i++; if (!isset($_POST['ligne' . $i . '_nom_court'])) {
protected function statutAutre() { global $mysqli; $this->b = 0; if ($_SESSION["statut"] == 'autre') { // On récupère la liste des fichiers à autoriser require_once "utilisateurs/creer_statut_autorisation.php"; $nbre_a = count($autorise); $a = 1; while ($a < $nbre_a) { $numitem = $a; // On récupère le droit sur le fichier $sql_f = "SELECT autorisation FROM droits_speciaux\n\t\t\t\t WHERE id_statut = '" . $_SESSION["statut_special_id"] . "'\n\t\t\t\t AND nom_fichier = '" . $autorise[$a][0] . "'\n\t\t\t\t ORDER BY id"; $query_f = mysqli_query($mysqli, $sql_f) or trigger_error('Impossible de trouver le droit : ' . mysqli_error($GLOBALS["mysqli"]), E_USER_WARNING); $nbre = $query_f->num_rows; if ($nbre >= 1) { $rep_f = old_mysql_result($query_f, 0, "autorisation"); } else { $rep_f = ''; } if ($rep_f == 'V') { $test = explode(".", $autorise[$a][0]); // On teste pour voir s'il y a un .php à la fin de la chaîne if (!isset($test[1])) { // rien, la vérification se fait dans le module EdT // ou alors dans les autres modules spécifiés } else { if ($a == 4) { // Dans le cas de la saisie des absences, il faut ajouter une variable pour le GET $var = '?type=A'; } else { $var = ''; } $this->creeNouveauItem($_SESSION["gepiPath"] . $autorise[$a][0] . $var, $menu_accueil[$a][0], $menu_accueil[$a][1]); } } $a++; } } if ($this->b > 0) { $this->creeNouveauTitre('accueil', "Navigation", 'images/icons/document.png'); return true; } }
} } } // Déverrouillage de la période suivante si le bouton radio est à Oui. //if ((($action_apres == 'retour') OR ($action_apres == 'imprime_html') OR ($action_apres == 'imprime_pdf') OR ($action_apres == 'rien')) AND isset($_POST['deverouillage_auto_periode_suivante'])) { if (($action_apres == 'retour' or $action_apres == 'imprime_bull' or $action_apres == 'rien') and isset($_POST['deverouillage_auto_periode_suivante'])) { if ($_POST['deverouillage_auto_periode_suivante'] == 'y') { //recherche du nombre de période pour la classe $sql_periode = "SELECT * FROM periodes WHERE id_classe='{$classe}';"; $result_periode = mysqli_query($GLOBALS["mysqli"], $sql_periode); $nb_periodes_classe = mysqli_num_rows($result_periode); //echo $nb_periodes_classe; $periode_en_cours = $periode; $periode_suivante = $periode + 1; //Pour la période modifiée on récupère son état $etat_periode = old_mysql_result($result_periode, $periode - 1, "verouiller"); //echo "<br/>".$etat_periode; //echo "<br/>".$periode_en_cours; //echo "<br/>".$nb_periodes_classe; //si l'état est P ou O on dévérouille totalement la période +1 (di elle existe !) if ($etat_periode == 'P' or $etat_periode == 'O') { if ($periode_en_cours < $nb_periodes_classe) { //echo "<br/>On déverrouille $periode_suivante"; //$sql_maj_periode_suivante = "UPDATE periodes SET verouiller='N' WHERE (num_periode='".$periode_suivante."' and id_classe='".$classe."')"; //$sql_maj_periode_suivante = "UPDATE periodes SET verouiller='N', date_verrouillage='".time()."' WHERE (num_periode='".$periode_suivante."' and id_classe='".$classe."')"; $sql_maj_periode_suivante = "UPDATE periodes SET verouiller='N', date_verrouillage=NOW() WHERE (num_periode='" . $periode_suivante . "' and id_classe='" . $classe . "')"; //echo "<br/>".$sql_maj_periode_suivante; $result_maj_periode_suivante = mysqli_query($GLOBALS["mysqli"], $sql_maj_periode_suivante); if (!$result_maj_periode_suivante) { $pb_reg_ver = 'yes'; }
} //============================== //echo "$reg_eleve_login : $note <br />"; if ($note == 'disp' || $note == 'd') { $note = '0'; $elev_statut = 'disp'; } elseif ($note == 'abs' || $note == 'a') { $note = '0'; $elev_statut = 'abs'; } elseif ($note == '-' || $note == 'n') { $note = '0'; $elev_statut = '-'; } elseif (my_ereg("^[0-9\\.\\,]{1,}\$", $note)) { $note = str_replace(",", ".", "{$note}"); $appel_note_sur = mysqli_query($GLOBALS["mysqli"], "SELECT note_sur FROM cc_eval WHERE id='{$id_eval}'"); $note_sur_verif = old_mysql_result($appel_note_sur, 0, 'note_sur'); if ($note < 0 or $note > $note_sur_verif) { $note = ''; $elev_statut = 'v'; } } else { $note = ''; $elev_statut = 'v'; } $test_eleve_note_query = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM cc_notes_eval WHERE (login='******' AND id_eval = '{$id_eval}')"); $test = mysqli_num_rows($test_eleve_note_query); if ($test != "0") { $sql = "UPDATE cc_notes_eval SET comment='" . $comment . "', note='{$note}',statut='{$elev_statut}' WHERE (login='******' AND id_eval='" . $id_eval . "')"; //echo "$sql<br />"; $register = mysqli_query($GLOBALS["mysqli"], $sql); } else {
if ($m == 0) { echo "{$e_login}"; } else { echo ", {$e_login}"; } } echo "<br />\n"; } else { echo "Aucun élève dans ce groupe???<br />\n"; } } else { // Si on est là, c'est que le groupe existe déjà, mais que le professeur que l'on // est en train de traiter n'est pas encore associé au groupe // C'est le cas de deux professeurs pour un même groupe/classe dans une matière. affiche_debug("Le groupe existe déjà pour la classe \$id_classe={$id_classe}, on ajoute le professeur {$login_prof} au groupe:<br />\n"); $group_id = old_mysql_result($verif2, 0); $res = mysqli_query($GLOBALS["mysqli"], "insert into j_groupes_professeurs set id_groupe = '" . $group_id . "', login ='******'"); affiche_debug("insert into j_groupes_professeurs set id_groupe = '" . $group_id . "', login ='******'<br />\n"); echo "Ajout de {$login_prof} à un groupe existant (<i>plus d'un professeur pour ce groupe</i>).<br />\n"; //echo "Ajout de $login_prof à un groupe existant.<br />\n"; } } //echo "</p>\n"; } } } } affiche_debug("===================================================<br />\n"); } } //dbase_close($fp);
echo "{$sql}<br />"; $update_per = mysqli_query($GLOBALS["mysqli"], $sql); } elseif ($nb_edt_cal > 0) { $info_action_titre = "Dates de périodes pour la classe " . get_nom_classe($classe_id); $info_action_texte = "Pensez à contrôler que la classe " . get_nom_classe($classe_id) . " est bien associée aux périodes et vacances dans <a href='edt_organisation/edt_calendrier.php'>Emplois du temps/Gestion/Gestion du calendrier</a>."; $info_action_destinataire = array("administrateur"); $info_action_mode = "statut"; enregistre_infos_actions($info_action_titre, $info_action_texte, $info_action_destinataire, $info_action_mode); } } $num_periods = 3; } else { // La classe existe // On récupère son ID $classe_id = old_mysql_result($test, 0, "id"); $num_periods = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(num_periode) FROM periodes WHERE id_classe = '" . $classe_id . "'"), 0); } // Maintenant qu'on a l'ID de la classe et le nombre de périodes, on enregistre l'association for ($p = 1; $p <= $num_periods; $p++) { $sql = "INSERT INTO j_eleves_classes SET login = '******', " . "id_classe = '" . $classe_id . "', " . "periode = '" . $p . "'"; //echo "$sql<br />"; $insert = mysqli_query($GLOBALS["mysqli"], $sql); } if (!$insert) { $error++; echo "<span style='color:red'>" . mysqli_error($GLOBALS["mysqli"]) . "</span><br />\n"; } else { $total++; } } }
$nom_sous_cont = array(); $id_sous_cont = array(); $coef_sous_cont = array(); $display_bulletin_sous_cont = array(); $ponderation_sous_cont = array(); $nb_sous_cont = 0; if ($mode == 1) { // on s'intéresse à tous les conteneurs fils, petit-fils, ... sous_conteneurs($id_conteneur, $nb_sous_cont, $nom_sous_cont, $coef_sous_cont, $id_sous_cont, $display_bulletin_sous_cont, 'all', $ponderation_sous_cont); } else { // On s'intéresse uniquement au conteneur fils sous_conteneurs($id_conteneur, $nb_sous_cont, $nom_sous_cont, $coef_sous_cont, $id_sous_cont, $display_bulletin_sous_cont, '', $ponderation_sous_cont); } $appel_nom_racine = mysqli_query($GLOBALS["mysqli"], "SELECT * FROM cn_conteneurs WHERE id ='{$id_racine}'"); // Nom du conteneur racine $nom_racine = old_mysql_result($appel_nom_racine, 0, 'nom_court'); // Nom du conteneur racine } else { if (getSettingValue("gepi_denom_boite_genre") == 'f') { $nom_court = "Nouvelle " . my_strtolower(getSettingValue("gepi_denom_boite")); } else { $nom_court = "Nouveau " . my_strtolower(getSettingValue("gepi_denom_boite")); } $nom_complet = ''; $new_conteneur = 'yes'; $coef = "1"; $arrondir = "s1"; $ponderation = "0"; $display_parents = "1"; $display_bulletin = "0"; $parent = '-1';
if (!file_exists($sav_photo['tmp_name'])) { $msg .= "Erreur de téléchargement niveau 2.<br />"; } else { if (my_strtolower($sav_photo['type']) != "image/jpeg") { $msg .= "Erreur : seuls les fichiers ayant l'extension .jpg sont autorisés (<i>" . $sav_photo['name'] . " : " . $sav_photo['type'] . "</i>)<br />"; } else { if (!(preg_match('/jpg$/i', $sav_photo['name']) || preg_match('/jpeg$/i', $sav_photo['name']))) { $msg .= "Erreur : seuls les fichiers ayant l'extension .jpg ou .jpeg sont autorisés (<i>" . $sav_photo['name'] . "</i>)<br />"; } else { $dest = $rep_photos; $sql = "SELECT elenoet FROM eleves WHERE login='******'login_photo']) . "';"; $res_elenoet = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_elenoet) == 0) { $msg .= "Aucun elenoet n'a été trouvé pour renommer la photo de cet élève.<br />\n"; } else { $quiestce = encode_nom_photo(old_mysql_result($res_elenoet, 0, 'elenoet')); if (!deplacer_fichier_upload($sav_photo['tmp_name'], $rep_photos . $quiestce . ".jpg")) { $msg .= "Problème de transfert : le fichier n'a pas pu être transféré sur le répertoire photos/eleves/<br />"; } else { //$msg = "Téléchargement réussi."; if (getSettingValue("active_module_trombinoscopes_rd") == 'y') { // si le redimensionnement des photos est activé on redimenssionne $source = imagecreatefromjpeg($rep_photos . $quiestce . ".jpg"); // La photo est la source if (getSettingValue("active_module_trombinoscopes_rt") == '') { $destination = imagecreatetruecolor(getSettingValue("l_resize_trombinoscopes"), getSettingValue("h_resize_trombinoscopes")); } // On crée la miniature vide // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur_source = imagesx($source); $hauteur_source = imagesy($source);
} $i++; } echo "</td>\n"; echo "</tr>\n"; echo "</table>\n"; echo "<input type='hidden' name='id_classe' value='{$id_classe}' />\n"; echo "<input type='hidden' name='periode_num' value='{$periode_num}' />\n"; echo "<input type='hidden' name='login_eleve' value='{$login_eleve}' />\n"; echo "<p align='center'><input type='submit' value='Enregistrer' style='margin: 30px 0 60px 0;'/></p>\n"; echo "</form>\n"; } } else { $sql = "SELECT classe FROM classes WHERE id='{$id_future_classe}';"; $call_classe_future = mysqli_query($GLOBALS["mysqli"], $sql); $classe_future = old_mysql_result($call_classe_future, "0", "classe"); echo "<p>Vous souhaitez déplacer l'élève de <b>{$classe}</b> vers <b>{$classe_future}</b> sur la période <b>" . $nom_periode[$periode_num] . "</b>"; if ($chgt_periode_sup == 'y') { echo " et suivantes"; } echo ".</p>\n"; //$sql="SELECT * FROM j_groupes_classes WHERE id_classe='$id_classe';"; //$groupes=get_groups_for_class($id_classe); //$groupes=get_groups_for_class($id_classe, "", "n"); //for($i=0;$i<count($groupes);$i++) { // Groupes de la classe future: $sql = "SELECT g.id FROM groupes g,\n\t\t\t\t\t\tj_groupes_classes jgc\n\t\t\tWHERE (g.id = jgc.id_groupe AND\n\t\t\t\t\tjgc.id_classe='{$id_future_classe}')\n\t\t\tORDER BY jgc.priorite, g.name;"; //echo "$sql<br />"; affiche_debug("{$sql}<br />"); $res_grp_fut = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_grp_fut) == 0) {
if (!isset($nom_selected)) { $nom_selected = isset($nom_prof) ? $nom_prof : NULL; // permet de définir le selected } echo ' <select name ="' . $increment . '"' . $id_select . ' onmouseover="if(document.getElementById(\'texte_nomGepi' . $l . '\')) {document.getElementById(\'texte_nomGepi' . $l . '\').style.backgroundColor=\'yellow\'}" onmouseout="if(document.getElementById(\'texte_nomGepi' . $l . '\')) {document.getElementById(\'texte_nomGepi' . $l . '\').style.backgroundColor=\'\'}"> <option value="aucun">Liste des professeurs</option>'; // on recherche la liste des professeurs $query = mysqli_query($GLOBALS["mysqli"], "SELECT login, nom, prenom FROM utilisateurs\r\n\t\t\t\t\t\tWHERE statut = 'professeur' AND\r\n\t\t\t\t\t\tetat = 'actif'\r\n\t\t\t\t\t\tORDER BY nom, prenom"); $nbre = mysqli_num_rows($query); $verif = 0; for ($i = 0; $i < $nbre; $i++) { $utilisateur[$i] = old_mysql_result($query, $i, "login"); $nom[$i] = old_mysql_result($query, $i, "nom"); $nom_m[$i] = my_strtoupper(remplace_accents(old_mysql_result($query, $i, "nom"), 'all_nospace')); $prenom[$i] = old_mysql_result($query, $i, "prenom"); //Pour les noms composés, on ajoute un test $test = explode(" ", $nom_m[$i]); // On détermine le selected si c'est possible if ($nom_m[$i] == $nom_selected) { $verif++; // on crée une marque pour afficher un couleur si il y a une interrogation sur le résultat $selected = ' selected="selected"'; } elseif ($test[0] == $nom_selected) { $verif++; // on crée une marque pour afficher un couleur si il y a une interrogation sur le résultat $selected = ' selected="selected"'; } else { $selected = ''; } echo '
echo "<div>\n"; echo "<p>Choisissez les classes pour lesquelles vous souhaitez générer les fiches brevet:</p>\n"; echo "<form action='".$_SERVER['PHP_SELF']."' id='form_choix_classe' method='post'>\n"; echo "<p><input type='hidden' name='type_brevet' value='$type_brevet' /></p>\n"; echo "<p>Sélectionnez les classes : </p>\n"; echo "<blockquote>\n"; $size=min(10,$nombre_lignes); echo "<p><select name='id_classe[]' multiple='multiple' size='$size'>\n"; $i = 0; while ($i < $nombre_lignes){ $classe = old_mysql_result($call_data, $i, "classe"); $ide_classe = old_mysql_result($call_data, $i, "id"); echo "<option value='$ide_classe'"; if($nombre_lignes==1) {echo " selected='selected'";} echo ">$classe</option>\n"; $i++; } echo "</select></p>\n"; echo "<p>\n<input type='radio' name='tri' id='tri_alpha' value='alpha' checked='checked' /><label for='tri_alpha' style='cursor: pointer;'> Tri alphabétique sur les noms et prénoms des élèves indépendamment des classes.</label><br />\n"; echo "<input type='radio' name='tri' id='tri_classe' value='classe' /><label for='tri_classe' style='cursor: pointer;'> Tri par classe puis tri alphabétique sur les noms et prénoms des élèves.</label></p>\n"; echo "<p>\n<input type='checkbox' name='avec_app' id='avec_app' value='y' checked='checked' /><label for='avec_app' id='avec_app_label' style='cursor: pointer;'> Avec les appréciations</label>\n"; echo "<input type='submit' name='choix_classe' value='Envoyer' />\n</p>\n"; echo "</blockquote>\n"; echo "</form>\n"; echo "<p><em>NOTES :</em></p>
<select size='1' name='v_eleve' onchange="this.form.submit()"> <?php $i = "0" ; while ($i < $nombreligne) { $eleve = old_mysql_result($call_eleve, $i, 'login'); $nom_el = old_mysql_result($call_eleve, $i, 'nom'); $prenom_el = old_mysql_result($call_eleve, $i, 'prenom'); echo "<option value=$eleve"; if ($v_eleve == $eleve) { echo " selected "; // On récupère des infos sur l'élève courant: $v_elenoet=old_mysql_result($call_eleve, $i, 'elenoet'); $v_naissance=old_mysql_result($call_eleve, $i, 'naissance'); $tmp_tab_naissance=explode("-",$v_naissance); $v_naissance=$tmp_tab_naissance[2]."/".$tmp_tab_naissance[1]."/".$tmp_tab_naissance[0]; $v_sexe=old_mysql_result($call_eleve, $i, 'sexe'); $v_eleve_nom_prenom="$nom_el $prenom_el"; } echo ">$nom_el $prenom_el</option>\n"; $i++; } ?> </select> <input type='hidden' name='id_classe' value='<?php echo $id_classe; ?>' /> </form></td> <?php echo "<td>\n"; //echo $v_eleve;
$tab_sem[6] = 'dimanche'; // tableau semaine inverse $tab_sem_inv['lundi'] = '0'; $tab_sem_inv['mardi'] = '1'; $tab_sem_inv['mercredi'] = '2'; $tab_sem_inv['jeudi'] = '3'; $tab_sem_inv['vendredi'] = '4'; $tab_sem_inv['samedi'] = '5'; $tab_sem_inv['dimanche'] = '6'; // ajout et mise à jour de la base if ($action_sql === 'ajouter' or $action_sql === 'modifier') { $chaine_jours_ouverts = ""; $i = '0'; while ($i < '7') { if (isset($ouvert[$i]) and !empty($ouvert[$i])) { $test_jour = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*) FROM " . $prefix_base . "horaires_etablissement\n\t\t\t\t\t\t\t\t\t\t\t\tWHERE jour_horaire_etablissement = '" . $tab_sem[$i] . "' AND\n\t\t\t\t\t\t\t\t\t\t\t\tdate_horaire_etablissement = '0000-00-00'"), 0); $date_horaire_etablissement = ''; $jour_horaire_etablissement = $tab_sem[$i]; $ouverture_horaire_etablissement = $ouverture[$i]; $fermeture_horaire_etablissement = $fermeture[$i]; $pause_horaire_etablissement = $pause[$i]; $ouvert_horaire_etablissement = $ouvert[$i]; if ($test_jour === '0') { $requete = "INSERT INTO " . $prefix_base . "horaires_etablissement\n\t\t\t\t\t\t\t\t\t(date_horaire_etablissement, jour_horaire_etablissement, ouverture_horaire_etablissement, fermeture_horaire_etablissement, pause_horaire_etablissement, ouvert_horaire_etablissement)\n\t\t\t\t\t\t\t\t\tVALUES ('" . $date_horaire_etablissement . "', '" . $jour_horaire_etablissement . "', '" . $ouverture_horaire_etablissement . "', '" . $fermeture_horaire_etablissement . "', '" . $pause_horaire_etablissement . "', '" . $ouvert_horaire_etablissement . "')"; } if ($test_jour != '0') { $requete = "UPDATE " . $prefix_base . "horaires_etablissement SET date_horaire_etablissement = '" . $date_horaire_etablissement . "', jour_horaire_etablissement = '" . $jour_horaire_etablissement . "', ouverture_horaire_etablissement = '" . $ouverture_horaire_etablissement . "', fermeture_horaire_etablissement = '" . $fermeture_horaire_etablissement . "', pause_horaire_etablissement = '" . $pause_horaire_etablissement . "', ouvert_horaire_etablissement = '" . $ouvert_horaire_etablissement . "' WHERE jour_horaire_etablissement = '" . $tab_sem[$i] . "' AND date_horaire_etablissement = '0000-00-00'"; } mysqli_query($GLOBALS["mysqli"], $requete) or die('Erreur SQL !' . $requete . '<br />' . mysqli_error($GLOBALS["mysqli"])); if ($chaine_jours_ouverts != "") { $chaine_jours_ouverts .= ",";
function tab_extract_moy($tab_ele,$id_clas) { global $num_eleve, $classe, $tab_mat; global $indice_max_matieres; global $indice_premiere_matiere; global $compteur_champs_notes; // 20130429 global $indice_brevet_pro_lv; $affiche_enregistrements_precedents="y"; //global $affiche_enregistrements_precedents; //echo "\$tab_ele['type_brevet']=".$tab_ele['type_brevet']."<br />"; $tabmatieres=tabmatieres($tab_ele['type_brevet']); //echo "count(\$tabmatieres)=".count($tabmatieres)."<br />"; // $tab_mat est rempli hors de cette fonction // On y récupère (pour chaque matière Notanet) la liste des matières Gepi associées à une matière Notanet $id_matiere=$tab_mat[$tab_ele['type_brevet']]['id_matiere']; $statut_matiere=$tab_mat[$tab_ele['type_brevet']]['statut_matiere']; /* // B2I ET A2: $statut_matiere[114]="imposee"; $statut_matiere[115]="imposee"; $statut_matiere[115]="optionnelle"; */ //$sql="SELECT * FROM notanet_corresp WHERE type_brevet='".$tab_ele['type_brevet']."'"; // Témoin destiné à signaler les élèves pour lesquels une erreur se produit. $temoin_notanet_eleve=""; $info_erreur=""; echo "<p>\n"; echo "<a name='tableau_des_moyennes_eleve_$num_eleve'></a>"; if($tab_ele['no_gep']==""){ echo "<b style='color:red;'>ERREUR:</b> Numéro INE non attribué: ".$tab_ele['nom']." ".$tab_ele['prenom']; echo " <a href='../eleves/visu_eleve.php?ele_login="******"&onglet=bulletins&quitter_la_page=y' target='_blank' title=\"Voir la fiche élève et notamment les bulletins\"><img src='../images/icons/bulletin.png' class='icone16' alt='Bulletins' /></a>"; echo "<br />"; $temoin_notanet_eleve="ERREUR"; $info_erreur="Pas de numéro INE"; echo "INE: <input type='text' name='INE[$num_eleve]' value='' onchange='changement()' />\n"; } else{ echo "<b>".$tab_ele['nom']." ".$tab_ele['prenom']."</b> ".$tab_ele['no_gep']; echo " <a href='../eleves/visu_eleve.php?ele_login="******"&onglet=bulletins&quitter_la_page=y' target='_blank' title=\"Voir la fiche élève et notamment les bulletins.\"><img src='../images/icons/bulletin.png' class='icone16' alt='Bulletins' /></a>"; echo "<br />\n"; $INE=$tab_ele['no_gep']; echo "INE: <input type='text' name='INE[$num_eleve]' value='$INE' onchange='changement()' />\n"; } // Guillemets sur la valeur à cause des apostrophes dans des noms... echo "<input type='hidden' name='nom_eleve[$num_eleve]' value=\"".$tab_ele['nom']." ".$tab_ele['prenom']." ($classe)\" />\n"; echo " <a href='../eleves/modify_eleve.php?eleve_login="******"&quitter_la_page=y' target='_blank' title=\"Modifier les informations élève.\"><img src='../images/edit16.png' class='icone16' alt='Modifier' /></a>"; echo "</p>\n"; // Tableau destiné à présenter à gauche, le tableau des notes, moyennes,... et à droite les commentaires/erreurs et éventuellement les lignes du fichier d'export. //echo "<table border='1'>\n"; echo "<table class='boireaus'>\n"; echo "<tr>\n"; echo "<td valign='top' style='padding-top: 2px; padding-left:2px; vertical-align:top;'>\n"; //$TOT=0; //echo "<table border='1'>\n"; $sql="SELECT DISTINCT num_periode FROM periodes WHERE id_classe='$id_clas' ORDER BY num_periode"; //$sql="SELECT DISTINCT num_periode, verouiller FROM periodes WHERE id_classe='$id_clas' ORDER BY num_periode"; //echo "$sql<br />"; $resultat_periodes=mysqli_query($GLOBALS["mysqli"], $sql); //$tab_ver_per=array(); echo "<table class='boireaus'>\n"; echo "<tr style='font-weight: bold; text-align:center;'>\n"; echo "<th>Id</th>\n"; echo "<th>Matière</th>\n"; echo "<th>Moyenne</th>\n"; while($ligne_periodes=mysqli_fetch_object($resultat_periodes)){ echo "<th>T $ligne_periodes->num_periode</th>\n"; //$tab_ver_per[$ligne_periodes->num_periode]=$ligne_periodes->verouiller; } echo "<th>Moyenne</th>\n"; echo "<th>Correction</th>\n"; if($affiche_enregistrements_precedents=="y") { echo "<th>\n"; echo "Enregistré<br />auparavant"; echo "</th>\n"; } echo "</tr>\n"; // 20130429 $temoin_brevet_pro_lv=0; $total_brevet_pro_lv=0; $liste_matiere_brevet_pro_lv=""; $chaine_total_brevet_pro_lv=""; $type_brevet_ele=""; $sql="SELECT type_brevet FROM notanet_ele_type WHERE login='******'login']."';"; //echo "$sql<br />"; $res_ele_type=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_ele_type)>0) { $type_brevet_ele=old_mysql_result($res_ele_type, 0, "type_brevet"); } //echo "<tr></td>\$type_brevet_ele=$type_brevet_ele</td></tr>"; $alt=1; for($j=$indice_premiere_matiere;$j<=$indice_max_matieres;$j++){ //================================================================= // 20130429 if(($type_brevet_ele==2)&&($j>$indice_brevet_pro_lv)&&($temoin_brevet_pro_lv>0)&&(!isset($ligne_lv_affichee))) { echo "<tr style='background-color:lightpink;' title=\"Dans le cas du brevet série professionnelle, c'est la moyenne des notes de langue vivante, qu'il faut prendre en compte.\"> <td>$indice_brevet_pro_lv</td> <td>LV</td> <td><input type='text' name='liste_matiere_brevet_pro_lv[$num_eleve]' size='7' value='$liste_matiere_brevet_pro_lv' /></td>"; $sql="SELECT DISTINCT num_periode, verouiller FROM periodes WHERE id_classe='$id_clas' ORDER BY num_periode"; //echo "<td>$sql</td>"; $resultat_periodes=mysqli_query($GLOBALS["mysqli"], $sql); echo " <td colspan='".mysqli_num_rows($resultat_periodes)."'>($chaine_total_brevet_pro_lv)/$temoin_brevet_pro_lv</td>"; $k="0"; echo " <td>".($total_brevet_pro_lv/$temoin_brevet_pro_lv)."</td> <td><input type='text' name='moy_$indice_brevet_pro_lv"."_".$k."[$num_eleve]' id='n".$compteur_champs_notes."' value='".$moy_NOTANET[$indice_brevet_pro_lv]."' size='6' onKeyDown=\"clavier(this.id,event);\" onchange='changement()' autocomplete=\"off\" onfocus=\"javascript:this.select()\" /></td>"; if($affiche_enregistrements_precedents=="y") { echo "<td>\n"; $sql="SELECT note FROM notanet WHERE login='******'login']."' AND matiere='".$liste_matiere_brevet_pro_lv."' AND notanet_mat='".$tabmatieres[$j][0]."' AND id_mat='$indice_brevet_pro_lv';"; $enr=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($enr)>0) { $lig_enr=mysqli_fetch_object($enr); if($moy_NOTANET[$indice_brevet_pro_lv]!=$lig_enr->note) { echo "<a href=\"#tableau_des_moyennes_eleve_$num_eleve\" onclick=\"document.getElementById('n".$compteur_champs_notes."').value='$lig_enr->note'; return false;\"><img src='../images/icons/back.png' width='16' height='16' alt='Rétablir la valeur enregistrée' /></a>"; echo " "; } echo "<span id='note_precedemment_enregistree_$compteur_champs_notes'>".$lig_enr->note."</span>"; } else { echo " "; } echo "</td>\n"; } echo " </tr>\n"; $ligne_lv_affichee="y"; $compteur_champs_notes++; } //================================================================= // Initialisation de la moyenne pour la matière NOTANET courante. $moy_NOTANET[$j]=""; //echo "<tr><td colspan='5'>\$tabmatieres[$j][0]=".$tabmatieres[$j][0]."</td></tr>"; //echo "<tr><td colspan='5'>\$statut_matiere[$j]=".$statut_matiere[$j]."</td></tr>"; // Compteur destiné à repérer des matières pour lesquelles l'élève aurait des notes dans plus d'une option. // On ne sait alors pas quelle valeur retenir $cpt=0; // Témoin de la liste des matières trouvées pour une même matière notanet // Utile pour repérer les matières Notanet associées à deux matières Gepi pour lesquelles l'élève a une note $liste_matieres_gepi=""; //if($tabmatieres[$j][0]!=''){ if(($tabmatieres[$j][0]!='')&&($statut_matiere[$j]!='non dispensee dans l etablissement')){ if($tabmatieres[$j]['socle']=='n') { //$ligne_NOTANET="$INE|$j"; //$temoin_au_moins_une_note="n"; $moyenne=NULL; //echo "<p><b>".$tabmatieres[$j][0]."</b><br />\n"; // Boucle sur les différentes matières Gepi associées à matière Notanet for($k=0;$k<count($id_matiere[$j]);$k++) { $alt=$alt*(-1); if((($type_brevet_ele==2)&&($j!=$indice_brevet_pro_lv))|| ($type_brevet_ele!=2)) { echo "<tr class='lig$alt'>\n"; } else { echo "<tr style='background-color:lightblue;' title=\"Dans le cas du brevet série professionnelle, c'est la moyenne des notes de langue vivante, qu'il faut prendre en compte.\">\n"; } //echo $id_matiere[$j][$k]."<br />\n"; // A FAIRE: REQUETE moyenne pour la matière... si non vide... (test si note!="-" aussi?) //$sql="SELECT round(avg(n.note),1) as moyenne FROM matieres_notes n, j_eleves_classes c WHERE (n.periode='$num_periode' AND n.matiere='$matiere[$j]' AND c.id_classe='$id_classe' AND c.login = n.login AND n.statut ='' AND c.periode='$num_periode')"; echo "<td><span style='color:green;'>$j</span></td>\n"; echo "<td>".$id_matiere[$j][$k]."</td>\n"; $temoin_moyenne=""; //====================================================================== //$sql="SELECT round(avg(note),1) as moyenne FROM matieres_notes WHERE (matiere='".$id_matiere[$j][$k]."' AND login='******' AND statut ='')"; // 20140325 if((isset($tabmatieres[$j]['extraction_moyenne']))&&($tabmatieres[$j]['extraction_moyenne']=="n")) { $sql="SELECT mn.note moyenne FROM notanet_saisie mn WHERE (mn.matiere='".$id_matiere[$j][$k]."' AND mn.login='******'login']."')"; } else { $sql="SELECT round(avg(mn.note),1) as moyenne FROM matieres_notes mn, j_groupes_matieres jgm WHERE (jgm.id_matiere='".$id_matiere[$j][$k]."' AND mn.login='******'login']."' AND mn.statut ='' AND mn.id_groupe=jgm.id_groupe)"; } //echo "$sql<br />\n"; $resultat_moy=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($resultat_moy)>0){ $ligne_moy=mysqli_fetch_object($resultat_moy); //echo "$ligne_moy->moyenne<br />"; $moyenne=$ligne_moy->moyenne; if((isset($tabmatieres[$j]['extraction_moyenne']))&&($tabmatieres[$j]['extraction_moyenne']=="n")) { echo "<td style='font-weight:bold; text-align:center; color:blue; font-style: italic;"; if($moyenne=="") { echo " background-color:red;"; } echo "' title=\"Note saisie\">$moyenne</td>\n"; } else { echo "<td style='font-weight:bold; text-align:center;' title=\"Moyenne des trois trimestres\">$moyenne</td>\n"; } //$cpt++; if($moyenne!=""){ $temoin_moyenne="oui"; } } else{ //echo "X<br />\n"; // On ne passe jamais par là. // Le calcul de la moyenne avec $resultat_moy retourne NULL et on a toujours mysql_num_rows($resultat_moy)=1 echo "<td style='font-weight:bold; text-align:center;'>X</td>\n"; } echo "<!--\$temoin_moyenne=$temoin_moyenne-->\n"; // Cette solution donne les infos, mais ne permet pas de contrôler si tout est OK... //====================================================================== if((isset($tabmatieres[$j]['extraction_moyenne']))&&($tabmatieres[$j]['extraction_moyenne']=="n")) { echo "<td></td><td></td><td></td>\n"; echo "<td style='font-weight:bold; text-align:center;"; if($moyenne=="") { echo " background-color:red;"; } echo "'>$moyenne</td>\n"; if($moyenne=="") { $moyenne_arrondie=""; if($statut_matiere[$j]=='imposee'){ // Si la matière est imposée, alors il y a un problème à régler... $temoin_notanet_eleve="ERREUR"; if($info_erreur==""){ $info_erreur="Pas de moyenne à une matière non optionnelle: <b>".$id_matiere[$j][0]."</b><br />(<i><span style='font-size:xx-small;'>valeurs non numériques autorisées: ".$tabmatieres[$j][-3]."</span></i>)<br />"; } else{ $info_erreur=$info_erreur."Pas de moyenne à une matière non optionnelle: <b>".$id_matiere[$j][0]."</b><br />(<i><span style='font-size:xx-small;'>valeurs non numériques autorisées: ".$tabmatieres[$j][-3]."</span></i>)<br />"; } } } elseif(($moyenne=="DI")||($moyenne=="AB")) { $moyenne_arrondie=$moyenne; } else { $moyenne_arrondie=ceil($moyenne*2)/2; } echo "<td><input type='text' name='moy_$j"."_".$k."[$num_eleve]' id='n".$compteur_champs_notes."' value='".$moyenne_arrondie."' size='6' onKeyDown=\"clavier(this.id,event);\" onchange='changement()' autocomplete=\"off\" onfocus=\"javascript:this.select()\" />"; echo "</td>\n"; $moy_NOTANET[$j]="$moyenne_arrondie"; // Témoin comme quoi, il y a une note pour l'enseignement notanet en cours $cpt++; } else { $total=0; $nbnotes=0; //$sql="SELECT DISTINCT num_periode FROM periodes WHERE id_classe='$id_classe[$i]' ORDER BY num_periode"; $sql="SELECT DISTINCT num_periode, verouiller FROM periodes WHERE id_classe='$id_clas' ORDER BY num_periode"; //echo "<td>$sql</td>"; $resultat_periodes=mysqli_query($GLOBALS["mysqli"], $sql); while($ligne_periodes=mysqli_fetch_object($resultat_periodes)){ //$sql="SELECT * FROM matieres_notes WHERE (matiere='".$id_matiere[$j][$k]."' AND login='******' AND statut ='') ORDER BY periode"; //$sql="SELECT * FROM matieres_notes WHERE (matiere='".$id_matiere[$j][$k]."' AND login='******' AND statut ='' AND periode='$ligne_periodes->num_periode')"; //=================================================================== // SUR LE STATUT... IL FAUDRAIT VOIR CE QUE DONNENT LES dispensés,... // POUR POUVOIR LES CODER DANS L'EXPORT NOTANET //=================================================================== //$sql="SELECT * FROM matieres_notes WHERE (matiere='".$id_matiere[$j][$k]."' AND login='******' AND statut ='' AND periode='$ligne_periodes->num_periode')"; $sql="SELECT mn.* FROM matieres_notes mn, j_groupes_matieres jgm WHERE (jgm.id_matiere='".$id_matiere[$j][$k]."' AND mn.login='******'login']."' AND mn.statut ='' AND mn.periode='$ligne_periodes->num_periode' AND mn.id_groupe=jgm.id_groupe)"; //echo "<!-- $sql -->\n"; //echo "$sql<br />\n"; $resultat_notes=mysqli_query($GLOBALS["mysqli"], $sql); //echo "<!-- mysql_num_rows(\$resultat_notes)=".mysql_num_rows($resultat_notes)." -->\n"; if(mysqli_num_rows($resultat_notes)>0){ if(mysqli_num_rows($resultat_notes)>1){ // 20130429 : A VOIR : Dans le cas brevet professionnel, pour les langues vivantes, si on a 2, c'est bon, mais il faudrait faire la moyenne. // Et comment stocker la liste des matières pour la fiche brevet? Refaire une extraction des listes de matières dans fiches_brevet.php ou stocker dans une table? Ou ajouter un champ dans la table notanet... ou notanet.matiere="AGL1|ESP2" et exploser suivant | dans fiches_brevet.php // 20130429 /* if((($type_brevet_ele==2)&&($j!=$indice_brevet_pro_lv))|| ($type_brevet_ele!=2)) { */ //$infos="Erreur? Il y a plusieurs notes/moyennes pour une même période! "; $infos="<p>Erreur? Il y a plusieurs notes/moyennes pour une même période!<br />"; //$infos.="<br />$sql<br />"; $temoin_notanet_eleve="ERREUR"; if($info_erreur==""){ $info_erreur="Plusieurs notes/moyennes pour une même période."; $info_erreur.="<br />Dans ce cas, la moyenne est la somme des moyennes affichées divisée par le nombre de moyennes.<br />La valeur est correcte, s'il y a le même nombre de moyennes sur chaque trimestre et si on donne le même poids aux différentes moyennes.<br />"; } else{ $info_erreur=$info_erreur." - Plusieurs notes/moyennes pour une même période."; } $chaine_couleur=" bgcolor='red'"; /* } // 20130429 elseif(($type_brevet_ele==2)&&($j==$indice_brevet_pro_lv)) { $chaine_couleur=" bgcolor=' lightpink'"; } else { // On ne passe jamais ici, il me semble... $infos=""; $chaine_couleur=""; } */ } else { $infos=""; $chaine_couleur=""; } // Il ne devrait y avoir qu'une seule valeur: echo "<td$chaine_couleur style='text-align: center;'>\n"; //echo "<!-- ... -->\n"; while($ligne_notes=mysqli_fetch_object($resultat_notes)){ //echo "<td>".$infos.$ligne_notes->note."</td>\n"; //echo $infos.$ligne_notes->note." "; if($infos!="") { echo $infos."<b>".$ligne_notes->note."</b> "; //echo "<div style='font-size:xx-small;'>".$infos."</div>".$ligne_notes->note." "; //echo "<span style='font-size:xx-small;'>".$infos."</span>".$ligne_notes->note." "; } else { echo $ligne_notes->note." "; } // Le test devrait toujours être vrai puisqu'on a exclu les moyennes avec un statut non vide if(($ligne_notes->note!="")&&($ligne_notes->note!="-")){ // PROBLEME: S'il y a plusieurs notes pour une même période, le total est faussé et la moyenne itou... // ... mais cela ne devrait pas arriver, ou alors la base GEPI n'est pas nette. $total=$total+$ligne_notes->note; $nbnotes++; //echo "<!-- \$total=$total\n \$nbnotes=$nbnotes-->\n"; //echo "<\$total=$total\n \$nbnotes=$nbnotes>\n"; //$temoin_au_moins_une_note="y"; //echo "\$temoin_au_moins_une_note=$temoin_au_moins_une_note<br />"; //echo "\$cpt=$cpt<br />"; } } if($ligne_periodes->verouiller=='N') { echo "<img src='../images/icons/ico_attention.png' width='22' height='19' alt=\"ATTENTION: La période n'est pas verrouillée ! Les notes peuvent encore changer !\" title=\"ATTENTION: La période n'est pas verrouillée ! Les notes peuvent encore changer !\" />\n"; } echo "</td>\n"; } else{ if($temoin_moyenne=="oui"){ $chaine_couleur=" bgcolor='yellow'"; } else{ $chaine_couleur=""; } //echo "<td>X</td>\n"; // S'il n'y a pas de moyenne avec statut vide, on cherche si un statut dispensé ou autre est dans la table 'matieres_notes': //$sql="SELECT * FROM matieres_notes WHERE (matiere='".$id_matiere[$j][$k]."' AND login='******' AND periode='$ligne_periodes->num_periode')"; $sql="SELECT mn.* FROM matieres_notes mn, j_groupes_matieres jgm WHERE (jgm.id_matiere='".$id_matiere[$j][$k]."' AND mn.login='******'login']."' AND mn.periode='$ligne_periodes->num_periode' AND mn.id_groupe=jgm.id_groupe)"; $resultat_notes=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($resultat_notes)>0){ $ligne_notes=mysqli_fetch_object($resultat_notes); if($ligne_notes->statut!=""){ $chaine_couleur=" bgcolor='red'"; } echo "<td$chaine_couleur style='text-align:center;'>".$ligne_notes->note." - ".$ligne_notes->statut; } else{ echo "<td$chaine_couleur style='text-align:center;'>X"; } if($ligne_periodes->verouiller=='N') { echo "<img src='../images/icons/ico_attention.png' width='22' height='19' alt=\"ATTENTION: La période n'est pas verrouillée ! Les notes peuvent encore changer !\" title=\"ATTENTION: La période n'est pas verrouillée ! Les notes peuvent encore changer !\" style='float:right' />\n"; } echo "</td>\n"; } } // Initialisation $moyenne_arrondie=""; if($nbnotes>0) { $cpt++; $liste_matieres_gepi.=" ".$id_matiere[$j][$k]; $moyenne=round($total/$nbnotes,1); //echo "<td style='font-weight:bold; text-align:center;'>$total/$nbnotes = $moyenne</td>\n"; echo "<td style='font-weight:bold; text-align:center;'>$moyenne</td>\n"; $moyenne_arrondie=ceil($moyenne*2)/2; // 20130429 if((($type_brevet_ele==2)&&($j!=$indice_brevet_pro_lv))|| ($type_brevet_ele!=2)) { echo "<td><input type='text' name='moy_$j"."_".$k."[$num_eleve]' id='n".$compteur_champs_notes."' value='".$moyenne_arrondie."' size='6' onKeyDown=\"clavier(this.id,event);\" onchange='changement()' autocomplete=\"off\" onfocus=\"javascript:this.select()\" />"; //$compteur_champs_notes++; //echo "<input type='hidden' name='matiere_".$j."_[$num_eleve]' value='".$id_matiere[$j][$k]."' size='6' />"; echo "</td>\n"; //$moy_NOTANET[$j]="$moyenne"; $moy_NOTANET[$j]="$moyenne_arrondie"; } else { $total_brevet_pro_lv+=$moyenne; $temoin_brevet_pro_lv++; echo "<td></td>\n"; if($liste_matiere_brevet_pro_lv!="") {$liste_matiere_brevet_pro_lv.="|";} $liste_matiere_brevet_pro_lv.=$id_matiere[$j][$k]; if($chaine_total_brevet_pro_lv!="") {$chaine_total_brevet_pro_lv.="+";} $chaine_total_brevet_pro_lv.=$moyenne; // Au dernier tour dans la matière LV pour le brevet pro, le contenu est correct: $moy_NOTANET[$j]=ceil(($total_brevet_pro_lv/$temoin_brevet_pro_lv)*2)/2; } } else{ $sql="SELECT 1=1 FROM j_eleves_groupes jeg, j_groupes_matieres jgm WHERE (jgm.id_matiere='".$id_matiere[$j][$k]."' AND jeg.login='******'login']."' AND jgm.id_groupe=jeg.id_groupe);"; $test_ele_matiere=mysqli_query($GLOBALS["mysqli"], $sql); //if((($statut_matiere[$j]=='imposee'))&&($k+1==count($id_matiere[$j]))&&($moy_NOTANET[$j]=="")){ if((($statut_matiere[$j]=='imposee'))&&(mysqli_num_rows($test_ele_matiere)!=0)&&($moy_NOTANET[$j]=="")) { $bgmoy="background-color:red"; } else{ $bgmoy=""; } echo "<td style='font-weight:bold; text-align:center;$bgmoy'>X</td>\n"; // 20130429 if((($type_brevet_ele==2)&&($j!=$indice_brevet_pro_lv))|| ($type_brevet_ele!=2)) { echo "<td><input type='text' name='moy_$j"."_".$k."[$num_eleve]' id='n".$compteur_champs_notes."' value='' size='6' onKeyDown=\"clavier(this.id,event);\" onchange='changement()' autocomplete=\"off\" onfocus=\"javascript:this.select()\" /></td>\n"; } else { echo "<td></td>\n"; } //$compteur_champs_notes++; //echo "<td></td>\n"; } } if($affiche_enregistrements_precedents=="y") { echo "<td>\n"; $sql="SELECT note FROM notanet WHERE login='******'login']."' AND matiere='".$id_matiere[$j][$k]."' AND notanet_mat='".$tabmatieres[$j][0]."' AND id_mat='$j';"; $enr=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($enr)>0) { $lig_enr=mysqli_fetch_object($enr); if($moyenne_arrondie!=$lig_enr->note) { echo "<a href=\"#tableau_des_moyennes_eleve_$num_eleve\" onclick=\"document.getElementById('n".$compteur_champs_notes."').value='$lig_enr->note'; return false;\"><img src='../images/icons/back.png' width='16' height='16' alt='Rétablir la valeur enregistrée' /></a>"; echo " "; } echo "<span id='note_precedemment_enregistree_$compteur_champs_notes'>".$lig_enr->note."</span>"; } else { echo " "; } echo "</td>\n"; } $compteur_champs_notes++; echo "</tr>\n"; } /* if($temoin_notanet_eleve!="ERREUR"){ echo "<tr><td>$ligne_NOTANET</td></tr>\n"; } */ //echo "</p>\n"; //echo "<tr><td>\$cpt=$cpt</td><td>\$statut_matiere[$j]=$statut_matiere[$j]</td></tr>"; if($cpt==0){ // Pas de moyenne trouvée pour cet élève. if($statut_matiere[$j]=='imposee'){ // Si la matière est imposée, alors il y a un problème à régler... $temoin_notanet_eleve="ERREUR"; if($info_erreur==""){ //$info_erreur="Pas de moyenne à une matière non optionnelle: ".$id_matiere[$j][0]; $info_erreur="Pas de moyenne à une matière non optionnelle: <b>".$id_matiere[$j][0]."</b><br />(<i><span style='font-size:xx-small;'>valeurs non numériques autorisées: ".$tabmatieres[$j][-3]."</span></i>)<br />"; //$tabmatieres[$j][-3] } else{ //$info_erreur=$info_erreur." - Pas de moyenne à une matière non optionnelle: ".$id_matiere[$j][0]; $info_erreur=$info_erreur."Pas de moyenne à une matière non optionnelle: <b>".$id_matiere[$j][0]."</b><br />(<i><span style='font-size:xx-small;'>valeurs non numériques autorisées: ".$tabmatieres[$j][-3]."</span></i>)<br />"; } } } } else { // SOCLES B2I ET A2 $note_b2i=""; $note_a2=""; $sql="SELECT * FROM notanet_socles WHERE login='******'login']."';"; $res_soc=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_soc)>0) { $lig_soc=mysqli_fetch_object($res_soc); $note_b2i=$lig_soc->b2i; $note_a2=$lig_soc->a2; } if($j==114) { $alt=$alt*(-1); echo "<tr class='lig$alt'>\n"; echo "<td><span style='color:green;'>$j</span></td>\n"; echo "<td>".$tabmatieres[$j][0]."</td>\n"; echo "<td> </td>\n"; echo "<td> </td>\n"; echo "<td> </td>\n"; echo "<td> </td>\n"; //if($note_b2i!="") { if(($note_b2i=="MS")||($note_b2i=="ME")||($note_b2i=="MN")||($note_b2i=="AB")) { $moy_NOTANET[$j]=$note_b2i; echo "<td style='font-weight:bold;'>".$note_b2i."</td>\n"; } else { echo "<td style='font-weight:bold; background-color:red;'> </td>\n"; $temoin_notanet_eleve="ERREUR"; } echo "<td><input type='text' name='moy_$j"."_0[$num_eleve]' value='$note_b2i' size='6' onchange='changement()' /></td>\n"; if($affiche_enregistrements_precedents=="y") { echo "<td>\n"; $sql="SELECT note FROM notanet WHERE login='******'login']."' AND notanet_mat='".$tabmatieres[$j][0]."' AND id_mat='$j';"; $enr=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($enr)>0) { $lig_enr=mysqli_fetch_object($enr); echo $lig_enr->note; } else { echo " "; } echo "</td>\n"; } echo "</tr>\n"; } elseif($j==115) { $alt=$alt*(-1); echo "<tr class='lig$alt'>\n"; echo "<td><span style='color:green;'>$j</span></td>\n"; echo "<td>".$tabmatieres[$j][0]."</td>\n"; echo "<td> </td>\n"; echo "<td> </td>\n"; echo "<td> </td>\n"; echo "<td> </td>\n"; //if($note_a2!="") { //if(($note_a2=="MS")||($note_a2=="ME")||($note_a2=="AB")) { if(($note_a2=="MS")||($note_a2=="ME")||($note_a2=="MN")||($note_a2=="AB")) { $moy_NOTANET[$j]=$note_a2; echo "<td style='font-weight:bold;'>".$note_a2."</td>\n"; } // CELA PEUT ETRE OPTIONNEL else { echo "<td style='font-weight:bold; background-color:red;'> </td>\n"; $temoin_notanet_eleve="ERREUR"; } echo "<td><input type='text' name='moy_$j"."_0[$num_eleve]' value='$note_a2' size='6' onchange='changement()' /></td>\n"; if($affiche_enregistrements_precedents=="y") { echo "<td>\n"; $sql="SELECT note FROM notanet WHERE login='******'login']."' AND notanet_mat='".$tabmatieres[$j][0]."' AND id_mat='$j';"; $enr=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($enr)>0) { $lig_enr=mysqli_fetch_object($enr); echo $lig_enr->note; } else { echo " "; } echo "</td>\n"; } echo "</tr>\n"; if($note_a2!="") {$moy_NOTANET[$j]=$note_a2;} } elseif($j==130) { $note_lvr=""; $sql="SELECT * FROM notanet_lvr_ele WHERE login='******'login']."';"; $res_lvr=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_lvr)>0) { $lig_lvr=mysqli_fetch_object($res_lvr); $note_lvr=$lig_lvr->note; $alt=$alt*(-1); echo "<tr class='lig$alt'>\n"; echo "<td><span style='color:green;'>$j</span></td>\n"; echo "<td>".$tabmatieres[$j][0]."</td>\n"; echo "<td> </td>\n"; echo "<td> </td>\n"; echo "<td> </td>\n"; echo "<td> </td>\n"; //if($note_b2i!="") { if(($note_lvr=="VA")||($note_lvr=="NV")) { $moy_NOTANET[$j]=$note_lvr; echo "<td style='font-weight:bold;'>".$note_lvr."</td>\n"; } else { echo "<td style='font-weight:bold; background-color:red;'> </td>\n"; $temoin_notanet_eleve="ERREUR"; } echo "<td><input type='text' name='moy_$j"."_0[$num_eleve]' value='$note_lvr' size='6' onchange='changement()' /></td>\n"; if($affiche_enregistrements_precedents=="y") { echo "<td>\n"; $sql="SELECT note FROM notanet WHERE login='******'login']."' AND notanet_mat='".$tabmatieres[$j][0]."' AND id_mat='$j';"; $enr=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($enr)>0) { $lig_enr=mysqli_fetch_object($enr); echo $lig_enr->note; } else { echo " "; } echo "</td>\n"; } echo "</tr>\n"; } } } } // 20130429 if(((($type_brevet_ele==2)&&($j!=$indice_brevet_pro_lv))|| ($type_brevet_ele!=2)) &&($cpt>1)) { $temoin_notanet_eleve="ERREUR"; // Un élève a des notes dans deux options d'un même choix NOTANET (par exemple AGL1 et ALL1) if($info_erreur==""){ //$info_erreur="Plusieurs options d'une même matière."; $info_erreur="Plusieurs options d'une même matière: <b>$liste_matieres_gepi</b><br />(<span style='font-size:x-small'><i>il faudra vider le champ de formulaire correspondant à la matière à abandonner</i></span>)<br />"; } else{ //$info_erreur=$info_erreur." - Plusieurs options d'une même matière."; $info_erreur=$info_erreur."Plusieurs options d'une même matière: <b>$liste_matieres_gepi</b><br />(<span style='font-size:x-small'><i>il faudra vider le champ de formulaire correspondant à la matière à abandonner</i></span>)<br />"; } } } echo "</table>\n"; // Pour présenter à côté, le résultat: echo "</td>\n"; echo "<td valign='top' style='vertical-align:top;'>\n"; //echo "\$temoin_notanet_eleve=$temoin_notanet_eleve<br />"; if($temoin_notanet_eleve=="ERREUR"){ echo "<b style='color:red;'>ERREUR:</b> $info_erreur"; } else{ //echo "$INE|TOT|$TOT|<br />\n"; //echo "---"; $TOT=0; echo "<p>\n"; echo "Portion de fichier générée:<br />"; for($j=$indice_premiere_matiere;$j<=$indice_max_matieres;$j++){ // Pour les matières NOTANET existantes: if($tabmatieres[$j][0]!=''){ // Si une moyenne a été extraite // (c'est-à-dire si l'élève a la matière et que l'extraction a réussi (donc pas d'ERREUR)) //echo "\$tabmatieres[$j][-1]=".$tabmatieres[$j][-1]."<br />\n"; //echo "\$moy_NOTANET[$j]=".$moy_NOTANET[$j]."<br />\n"; if($moy_NOTANET[$j]!=""){ $ligne_NOTANET="$INE|".sprintf("%03d",$j); if($tabmatieres[$j]['socle']=="y"){ $ligne_NOTANET=$ligne_NOTANET."|".$moy_NOTANET[$j]."|"; } elseif($tabmatieres[$j][-1]=="POINTS"){ //$ligne_NOTANET=$ligne_NOTANET."|$moy_NOTANET[$j]|"; //$ligne_NOTANET=$ligne_NOTANET."|".formate_note_notanet($moy_NOTANET[$j])."|"; // Pour les brevets dans lesquels certaines notes sont sur 40 ou 60 au lieu de 20: $ligne_NOTANET=$ligne_NOTANET."|".formate_note_notanet($moy_NOTANET[$j]*$tabmatieres[$j][-2])."|"; //$TOT=$TOT+$moy_NOTANET[$j]; //$TOT=$TOT+round($moy_NOTANET[$j]*2)/2; $TOT=$TOT+round($moy_NOTANET[$j]*$tabmatieres[$j][-2]*2)/2; } else{ if($tabmatieres[$j][-1]=="PTSUP"){ $ptsup=$moy_NOTANET[$j]-10; if($ptsup>0){ //$ligne_NOTANET=$ligne_NOTANET."|$ptsup|"; //$ligne_NOTANET=$ligne_NOTANET."|".formate_note_notanet($ptsup)."|"; $ligne_NOTANET=$ligne_NOTANET."|".formate_note_notanet($ptsup*$tabmatieres[$j][-2])."|"; //$TOT=$TOT+$ptsup; //$TOT=$TOT+round($ptsup*2)/2; $TOT=$TOT+round($ptsup*$tabmatieres[$j][-2]*2)/2; } else{ $ligne_NOTANET=$ligne_NOTANET."|".formate_note_notanet(0)."|"; } } else{ //$tabmatieres[$j][-1]="NOTNONCA"; // On ne modifie pas... euh si... une ligne est insérée, mais elle n'intervient pas dans le calcul du TOTal. if($tabmatieres[$j][-1]=="NOTNONCA"){ //$ligne_NOTANET=$ligne_NOTANET."|$moy_NOTANET[$j]|"; $ligne_NOTANET=$ligne_NOTANET."|".formate_note_notanet($moy_NOTANET[$j])."|"; } } } echo colore_ligne_notanet($ligne_NOTANET)."<br />\n"; $tabnotanet[]=$ligne_NOTANET; //$fichtmp=fopen($fich_notanet,"a+"); //fwrite($fichtmp,$ligne_NOTANET."\n"); //fclose($fichtmp); } } } // Dans le cas brevet PRO, il ne faut retenir qu'une seule des deux matières 103 et 104 if(($tab_ele['type_brevet']==2)||($tab_ele['type_brevet']==3)) { $num_matiere_LV1=103; $num_matiere_ScPhy=104; if(($moy_NOTANET[$num_matiere_LV1]!="AB")&&($moy_NOTANET[$num_matiere_LV1]!="DI")&&($moy_NOTANET[$num_matiere_LV1]!="NN")){ if(($moy_NOTANET[$num_matiere_ScPhy]!="AB")&&($moy_NOTANET[$num_matiere_ScPhy]!="DI")&&($moy_NOTANET[$num_matiere_ScPhy]!="NN")) { // Il ne faut retenir qu'une seule des deux notes if($moy_NOTANET[$num_matiere_ScPhy]>$moy_NOTANET[$num_matiere_LV1]) { $TOT-=round($moy_NOTANET[$num_matiere_LV1]*$tabmatieres[$num_matiere_LV1][-2]*2)/2; } else { $TOT-=round($moy_NOTANET[$num_matiere_ScPhy]*$tabmatieres[$num_matiere_ScPhy][-2]*2)/2; } } } } //echo "$INE|TOT|$TOT|<br />\n"; echo colore_ligne_notanet("$INE|TOT|".sprintf("%02.2f",$TOT)."|")."<br />\n"; $tabnotanet[]="$INE|TOT|".sprintf("%02.2f",$TOT)."|"; //$fichtmp=fopen($fich_notanet,"a+"); // PROBLEME: $TOT peut dépasser 100... quel doit être le formatage à gauche quand on est en dessous de 100? //fwrite($fichtmp,"$INE|TOT|$TOT|\n"); //fwrite($fichtmp,"$INE|TOT|".formate_note_notanet($TOT)."|\n"); //fwrite($fichtmp,"$INE|TOT|".sprintf("%02.2f",$TOT)."|\n"); //fclose($fichtmp); echo "</p>\n"; } echo "</td>\n"; echo "</tr>\n"; echo "</table>\n"; }