} if (acces_impression_avertissement_fin_periode("", "")) { $mod_disc_terme_avertissement_fin_periode = getSettingValue('mod_disc_terme_avertissement_fin_periode'); echo "<div style='float:right; width:12em; text-align:center; margin:0.2em; padding:0.2em;' class='fieldset_opacite50'><a href='../mod_discipline/imprimer_bilan_periode.php?"; for ($j = 0; $j < count($tab_periode_num); $j++) { if ($j > 0) { echo "&"; } echo "periode[]=" . $tab_periode_num[$j]; } for ($i = 0; $i < count($tab_id_classe); $i++) { echo "&id_classe[]=" . $tab_id_classe[$i]; } echo "' title=\"Imprimer les '" . $mod_disc_terme_avertissement_fin_periode . "'.\"><img src='../images/icons/print.png' class='icone16' alt='Imprimer' /> Imprimer les '" . $mod_disc_terme_avertissement_fin_periode . "'</a></div>"; } if ($_SESSION['statut'] == 'administrateur' || $_SESSION['statut'] == 'scolarite' || $_SESSION['statut'] == 'cpe' || $_SESSION['statut'] == 'professeur' && is_pp($_SESSION['login'], $tab_id_classe[0])) { echo "<div style='float:right; width:12em; text-align:center; margin:0.2em; padding:0.2em;' class='fieldset_opacite50'><a href='../mod_engagements/imprimer_documents.php?"; for ($i = 0; $i < count($tab_id_classe); $i++) { if ($i > 0) { echo "&"; } echo "id_classe[]=" . $tab_id_classe[$i]; } echo "' title=\"Imprimer les documents délégués de classe,...\"><img src='../images/icons/print.png' class='icone16' alt='Imprimer' /> Imprimer les documents destinés aux délégués de classe...</a></div>"; } //echo "<p class='bold'>Sélection des élèves:</p>\n"; echo "<p class='bold'>Sélection des élèves et paramètres:</p>\n"; echo "\n<!-- Formulaire de sélection des élèves et de paramétrage -->\n"; echo "<form enctype='multipart/form-data' action='" . $_SERVER['PHP_SELF'] . "' method='post' name='formulaire' target='_blank'>\n"; //======================================= /*
$temoin_graphe = "oui"; } else { $temoin_graphe = "non"; } //================================ //============================ // Colorisation des résultats $vtn_couleur_texte = isset($_POST['vtn_couleur_texte']) ? $_POST['vtn_couleur_texte'] : array(); $vtn_couleur_cellule = isset($_POST['vtn_couleur_cellule']) ? $_POST['vtn_couleur_cellule'] : array(); $vtn_borne_couleur = isset($_POST['vtn_borne_couleur']) ? $_POST['vtn_borne_couleur'] : array(); $vtn_coloriser_resultats = isset($_POST['vtn_coloriser_resultats']) ? $_POST['vtn_coloriser_resultats'] : "n"; //============================ include "../lib/periodes.inc.php"; // On appelle les élèves if ($_SESSION['statut'] == "professeur" and getSettingValue("GepiAccesMoyennesProfTousEleves") != "yes" and getSettingValue("GepiAccesMoyennesProfToutesClasses") != "yes") { if (!is_pp($_SESSION['login'], $id_classe) || !getSettingAOui('GepiAccesReleveProfP')) { // On ne sélectionne que les élèves que le professeur a en cours if ($referent == "une_periode") { // Calcul sur une seule période $appel_donnees_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT e.* " . "FROM eleves e, j_eleves_classes jec, j_eleves_groupes jeg, j_groupes_professeurs jgp " . "WHERE (" . "jec.id_classe='{$id_classe}' AND " . "e.login = jeg.login AND " . "jeg.login = jec.login AND " . "jeg.id_groupe = jgp.id_groupe AND " . "jgp.login = '******'login'] . "' AND " . "jec.periode = '{$num_periode}' AND " . "jeg.periode = '{$num_periode}') " . "ORDER BY e.nom,e.prenom"); } else { // Calcul sur l'année $appel_donnees_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT e.* " . "FROM eleves e, j_eleves_classes jec, j_eleves_groupes jeg, j_groupes_professeurs jgp " . "WHERE (" . "jec.id_classe='{$id_classe}' AND " . "e.login = jeg.login AND " . "jeg.login = jec.login AND " . "jeg.id_groupe = jgp.id_groupe AND " . "jgp.login = '******'login'] . "') " . "ORDER BY e.nom,e.prenom"); } } else { if ($referent == "une_periode") { // Calcul sur une seule période $appel_donnees_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT e.* FROM eleves e, j_eleves_classes j WHERE (j.id_classe='{$id_classe}' AND j.login = e.login AND j.periode='{$num_periode}') ORDER BY nom,prenom"); } else { // Calcul sur l'année $appel_donnees_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT DISTINCT e.* FROM eleves e, j_eleves_classes j WHERE (j.id_classe='{$id_classe}' AND j.login = e.login) ORDER BY nom,prenom");
$barre_note .= ' <ul class="niveau3">'."\n"; foreach($tmp_mes_classes as $key => $value) { $barre_note.= ' <li><a href="'.$gepiPath.'/prepa_conseil/index3.php?id_classe='.$key.'"'.insert_confirm_abandon().'>'.$value.'</a>'."\n"; } $barre_note.= ' </ul>'."\n"; $barre_note.= ' </li>'."\n"; } */ $barre_note .= ' <li class="plus"><a href="' . $gepiPath . '/visualisation/affiche_eleve.php"' . insert_confirm_abandon() . '>Graphes</a>' . "\n"; $barre_note .= ' <ul class="niveau3">' . "\n"; foreach ($tmp_mes_classes as $key => $value) { $barre_note .= ' <li><a href="' . $gepiPath . '/visualisation/affiche_eleve.php?id_classe=' . $key . '"' . insert_confirm_abandon() . '>' . $value . '</a></li>' . "\n"; } $barre_note .= ' </ul>' . "\n"; $barre_note .= ' </li>' . "\n"; if (getSettingAOui('AAProfTout') || getSettingAOui('AAProfClasses') || getSettingAOui('AAProfGroupes') || getSettingAOui('AAProfPrinc') && is_pp($_SESSION['login'])) { $barre_note .= ' <li><a href="' . $gepiPath . '/mod_annees_anterieures/consultation_annee_anterieure.php"' . insert_confirm_abandon() . '>Années antérieures</a>' . "</li>\n"; } // Ajouter Paramètres des bulletins et Impression des bulletins (pour les PP) $barre_note .= ' </ul>' . "\n"; $barre_note .= '</li>' . "\n"; } } else { $barre_note = ''; } // Module emploi du temps if (getSettingValue("autorise_edt_tous") == "y") { $barre_edt = '<li class="li_inline"><a href="' . $gepiPath . '/edt_organisation/index_edt.php?visioedt=prof1&login_edt=' . $_SESSION["login"] . '&type_edt_2=prof"' . insert_confirm_abandon() . '>Emploi du tps</a>' . "\n"; $barre_edt .= ' <ul class="niveau2">' . "\n"; $barre_edt .= ' <li><a href="' . $gepiPath . '/edt_organisation/index_edt.php?visioedt=classe1"' . insert_confirm_abandon() . '>EDT classe</a></li>' . "\n"; $barre_edt .= ' <li><a href="' . $gepiPath . '/edt_organisation/index_edt.php?visioedt=prof1"' . insert_confirm_abandon() . '>EDT prof</a></li>' . "\n";
function info_eleve($ele_login) { global $ele_lieu_naissance; global $active_cahiers_texte; global $date_ct1, $date_ct2; global $type_etablissement, $type_etablissement2; global $acces_eleve, $acces_responsables, $acces_enseignements, $acces_releves, $acces_bulletins, $acces_cdt, $acces_anna; global $date_debut_disc, $date_fin_disc; unset($tab_ele); $tab_ele = array(); // Récup des infos sur l'élève, les responsables, le PP, le CPE,... $sql = "SELECT * FROM eleves e WHERE e.login='******';"; $res_ele = mysqli_query($GLOBALS["mysqli"], $sql); $lig_ele = mysqli_fetch_object($res_ele); $tab_ele['login'] = $ele_login; $tab_ele['nom'] = $lig_ele->nom; $tab_ele['prenom'] = $lig_ele->prenom; $tab_ele['sexe'] = $lig_ele->sexe; $tab_ele['naissance'] = formate_date($lig_ele->naissance); $tab_ele['elenoet'] = $lig_ele->elenoet; $tab_ele['ele_id'] = $lig_ele->ele_id; $tab_ele['no_gep'] = $lig_ele->no_gep; $tab_ele['email'] = $lig_ele->email; $tab_ele['date_sortie'] = $lig_ele->date_sortie; $tab_ele['code_lieu_naissance'] = $lig_ele->lieu_naissance; if ($ele_lieu_naissance == "y") { $tab_ele['lieu_naissance'] = get_commune($tab_ele['code_lieu_naissance'], 1); } else { $tab_ele['lieu_naissance'] = ""; } $tab_ele['mef'] = ""; $tmp_tab = get_tab_mef_from_mef_code($lig_ele->mef_code); if (isset($tmp_tab['designation_courte'])) { $tab_ele['mef'] = $tmp_tab['designation_courte']; } unset($tmp_tab); if ($_SESSION['statut'] == "professeur") { $is_pp = is_pp($_SESSION['login'], "", $ele_login); } $AccesDerniereConnexionEle = AccesDerniereConnexionEle($ele_login); $AccesDerniereConnexionResp = AccesDerniereConnexionResp("", $ele_login); $sql = "SELECT * FROM utilisateurs WHERE statut='eleve' AND login='******';"; $res_user = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_user) == 1) { $lig_user = mysqli_fetch_object($res_user); $tab_user = array('login', 'show_email', 'etat', 'date_verrouillage', 'niveau_alerte', 'observation_securite', 'auth_mode'); for ($loop = 0; $loop < count($tab_user); $loop++) { $champ = $tab_user[$loop]; $tab_ele['compte_utilisateur'][$champ] = $lig_user->{$champ}; } if ($AccesDerniereConnexionEle) { $tab_ele['compte_utilisateur']['DerniereConnexionEle'] = get_last_connexion($ele_login); $tab_ele['compte_utilisateur']['DerniereConnexionEle_Echec'] = get_last_connexion($ele_login, "n"); } } $tab_ele['prof_liste_email'] = ""; $tab_ele['tab_prof_liste_email'] = array(); /* $tab_ele['classe']=array(); $sql="SELECT DISTINCT c.*,jec.periode FROM classes c, j_eleves_classes jec WHERE jec.login='******' AND c.id=jec.id_classe ORDER BY jec.periode;"; $res_clas=mysql_query($sql); if(mysql_num_rows($res_clas)>0) { $tab_ele['liste_classes']=""; $cpt=0; while($lig_clas=mysql_fetch_object($res_clas)) { if($cpt>0) {$tab_ele['liste_classes'].=", ";} $tab_ele['liste_classes']=$lig_clas->classe; $tab_ele['classe'][$cpt]['id_classe']=$lig_clas->id; $tab_ele['classe'][$cpt]['classe']=$lig_clas->classe; $tab_ele['classe'][$cpt]['nom_complet']=$lig_clas->nom_complet; $tab_ele['classe'][$cpt]['periode']=$lig_clas->periode; // Récup infos Prof Principal (prof_suivi) $sql="SELECT u.* FROM j_eleves_professeurs jep, utilisateurs u WHERE jep.login='******' AND id_classe='".$lig_clas->id."' AND jep.professeur=u.login;"; $res_pp=mysql_query($sql); //echo "$sql<br />"; if(mysql_num_rows($res_pp)>0) { $lig_pp=mysql_fetch_object($res_pp); $tab_ele['classe'][$cpt]['pp']=array(); $tab_ele['classe'][$cpt]['pp']['login']=$lig_pp->login; $tab_ele['classe'][$cpt]['pp']['nom']=$lig_pp->nom; $tab_ele['classe'][$cpt]['pp']['prenom']=$lig_pp->prenom; $tab_ele['classe'][$cpt]['pp']['civilite']=$lig_pp->civilite; } $cpt++; } } */ // Classes $tab_ele['classe'] = array(); $sql = "SELECT DISTINCT c.* FROM classes c, j_eleves_classes jec WHERE jec.login='******' AND c.id=jec.id_classe ORDER BY jec.periode;"; $res_clas = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_clas) > 0) { $tab_ele['liste_classes'] = ""; $cpt = 0; while ($lig_clas = mysqli_fetch_object($res_clas)) { if ($cpt > 0) { $tab_ele['liste_classes'] .= ", "; } $tab_ele['liste_classes'] = $lig_clas->classe; $tab_ele['classe'][$cpt] = array(); $tab_ele['classe'][$cpt]['id_classe'] = $lig_clas->id; $tab_ele['classe'][$cpt]['classe'] = $lig_clas->classe; $tab_ele['classe'][$cpt]['nom_complet'] = $lig_clas->nom_complet; // On devrait mettre $tab_ele['classe'][$cpt]['rn_nomdev'], mais j'ai mis $tab_ele['rn_nomdev'] // C'est imparfait si l'élève n'est pas dans la même classe sur toutes les périodes , mais cela permet de garder le même code pour visu_releve_notes_func.lib.php et la présente page //$tab_ele['rn_app']=$lig_clas->; // Ca ne correspond pas à un champ dans la table 'classes' $tab_ele['rn_nomdev'] = $lig_clas->rn_nomdev; $tab_ele['rn_toutcoefdev'] = $lig_clas->rn_toutcoefdev; $tab_ele['rn_coefdev_si_diff'] = $lig_clas->rn_coefdev_si_diff; $tab_ele['rn_datedev'] = $lig_clas->rn_datedev; $tab_ele['rn_sign_chefetab'] = $lig_clas->rn_sign_chefetab; $tab_ele['rn_sign_pp'] = $lig_clas->rn_sign_pp; $tab_ele['rn_sign_resp'] = $lig_clas->rn_sign_resp; $tab_ele['rn_formule'] = $lig_clas->rn_formule; $tab_ele['rn_sign_nblig'] = $lig_clas->rn_sign_nblig; if ($tab_ele['rn_sign_nblig'] == 0) { $tab_ele['rn_sign_nblig'] = 3; } //echo "\$tab_ele['rn_sign_resp']=$lig_clas->rn_sign_resp<br/>"; // Liste des périodes dans la classe $sql = "SELECT p.* FROM periodes p, j_eleves_classes jec WHERE jec.login='******' AND p.num_periode=jec.periode AND jec.id_classe='" . $lig_clas->id . "' AND p.id_classe=jec.id_classe ORDER BY p.num_periode;"; $res_per = mysqli_query($GLOBALS["mysqli"], $sql); $cpt2 = 0; if (mysqli_num_rows($res_per) > 0) { $tab_ele['classe'][$cpt]['periodes'][$cpt2] = array(); while ($lig_per = mysqli_fetch_object($res_per)) { $tab_ele['classe'][$cpt]['periodes'][$cpt2]['num_periode'] = $lig_per->num_periode; $tab_ele['classe'][$cpt]['periodes'][$cpt2]['nom_periode'] = $lig_per->nom_periode; // On pourrait extraire les relevés de notes et bulletins à ce niveau $cpt2++; } } // Récup infos Prof Principal (prof_suivi) $sql = "SELECT u.* FROM j_eleves_professeurs jep, utilisateurs u WHERE jep.login='******' AND id_classe='" . $lig_clas->id . "' AND jep.professeur=u.login;"; $res_pp = mysqli_query($GLOBALS["mysqli"], $sql); //echo "$sql<br />"; if (mysqli_num_rows($res_pp) > 0) { $lig_pp = mysqli_fetch_object($res_pp); $tab_ele['classe'][$cpt]['pp'] = array(); $tab_ele['classe'][$cpt]['pp']['prof_login'] = $lig_pp->login; $tab_ele['classe'][$cpt]['pp']['nom'] = $lig_pp->nom; $tab_ele['classe'][$cpt]['pp']['prenom'] = $lig_pp->prenom; $tab_ele['classe'][$cpt]['pp']['civilite'] = $lig_pp->civilite; $tab_ele['classe'][$cpt]['pp']['email'] = $lig_pp->email; $tab_ele['classe'][$cpt]['pp']['civ_nom_prenom'] = $lig_pp->civilite . " " . $lig_pp->nom . " " . mb_substr($lig_pp->prenom, 0, 1) . "."; } $cpt++; } } // Périodes //$sql="SELECT DISTINCT p.*, jec.id_classe, c.classe, c.nom_complet FROM periodes p, j_eleves_classes jec, classes c WHERE jec.login='******' AND p.num_periode=jec.periode AND c.id=jec.id_classe ORDER BY p.num_periode;"; $sql = "SELECT DISTINCT p.*,jec.id_classe, c.classe, c.nom_complet FROM periodes p, j_eleves_classes jec, classes c WHERE jec.login='******' AND p.num_periode=jec.periode AND jec.id_classe=p.id_classe AND c.id=jec.id_classe ORDER BY p.num_periode;"; //echo "$sql<br />"; $res_per = mysqli_query($GLOBALS["mysqli"], $sql); $cpt = 0; if (mysqli_num_rows($res_per) > 0) { if ($acces_releves == 'y' || $acces_enseignements == 'y' || $acces_bulletins == 'y') { while ($lig_per = mysqli_fetch_object($res_per)) { $tab_ele['periodes'][$cpt] = array(); $tab_ele['periodes'][$cpt]['num_periode'] = $lig_per->num_periode; $tab_ele['periodes'][$cpt]['nom_periode'] = $lig_per->nom_periode; $tab_ele['periodes'][$cpt]['id_classe'] = $lig_per->id_classe; $tab_ele['periodes'][$cpt]['classe'] = $lig_per->classe; $tab_ele['periodes'][$cpt]['nom_complet'] = $lig_per->nom_complet; //echo "\$tab_ele['periodes'][$cpt]['num_periode']=".$tab_ele['periodes'][$cpt]['num_periode']."<br />"; //echo "\$tab_ele['periodes'][$cpt]['id_classe']=".$tab_ele['periodes'][$cpt]['id_classe']."<br />"; // On regarde si on affiche les catégories de matières dans la classe courante de l'élève $affiche_categories = sql_query1("SELECT display_mat_cat FROM classes WHERE id='" . $lig_per->id_classe . "'"); if ($affiche_categories == "y") { $affiche_categories = true; } else { $affiche_categories = false; } $tab_ele['periodes'][$cpt]['affiche_categories'] = $affiche_categories; if ($affiche_categories) { $sql = "SELECT DISTINCT g.*,m.nom_complet " . "FROM j_eleves_groupes jeg,\n\t\t\t\t\t\t\tj_groupes_classes jgc,\n\t\t\t\t\t\t\tj_groupes_matieres jgm,\n\t\t\t\t\t\t\tj_matieres_categories_classes jmcc,\n\t\t\t\t\t\t\tmatieres m,\n\t\t\t\t\t\t\tgroupes g " . "WHERE ( " . "jeg.login = '******' AND " . "jgc.id_groupe = jeg.id_groupe AND " . "jgc.categorie_id = jmcc.categorie_id AND " . "jgc.id_classe = '" . $lig_per->id_classe . "' AND " . "jgm.id_groupe = jgc.id_groupe AND " . "m.matiere = jgm.id_matiere AND " . "g.id=jeg.id_groupe " . "AND jgc.id_groupe NOT IN (SELECT id_groupe FROM j_groupes_visibilite WHERE domaine='cahier_notes' AND visible='n')) " . "ORDER BY jmcc.priority,jgc.priorite,m.nom_complet"; } else { $sql = "SELECT DISTINCT g.*,m.nom_complet " . "FROM j_groupes_classes jgc, j_groupes_matieres jgm, j_eleves_groupes jeg, matieres m, groupes g " . "WHERE ( " . "jeg.login = '******' AND " . "jgc.id_groupe = jeg.id_groupe AND " . "jgc.id_classe = '" . $lig_per->id_classe . "' AND " . "jgm.id_groupe = jgc.id_groupe AND\n\t\t\t\t\tm.matiere=jgm.id_matiere AND jgm.id_groupe=g.id " . "AND jgc.id_groupe NOT IN (SELECT id_groupe FROM j_groupes_visibilite WHERE domaine='cahier_notes' AND visible='n')) " . "ORDER BY jgc.priorite,jgm.id_matiere"; } //$sql="SELECT DISTINCT g.*,m.nom_complet FROM groupes g, j_groupes_matieres jgm, matieres m, j_groupes_classes jgc, j_eleves_groupes jeg WHERE g.id=jgm.id_groupe AND m.matiere=jgm.id_matiere AND jgc.id_groupe=jgm.id_groupe AND jeg.id_groupe=g.id AND jeg.periode='".$lig_per->num_periode."' AND jeg.login='******' ORDER BY jgc.priorite,m.nom_complet;"; //echo "$sql<br />"; $res_grp = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_grp) > 0) { $cpt2 = 0; while ($lig_grp = mysqli_fetch_object($res_grp)) { $tab_ele['periodes'][$cpt]['groupes'][$cpt2] = array(); $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['id_groupe'] = $lig_grp->id; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['name'] = $lig_grp->name; //echo "\$tab_ele['periodes'][$cpt]['groupes'][$cpt2]['name']=".$tab_ele['periodes'][$cpt]['groupes'][$cpt2]['name']."<br />"; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['description'] = $lig_grp->description; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['matiere_nom_complet'] = $lig_grp->nom_complet; if ($affiche_categories) { //$sql="SELECT DISTINCT jgc.categorie_id FROM j_groupes_classes jgc WHERE jgc.id_groupe='".$lig_grp->id."' AND id_classe='".$tab_ele['periodes'][$cpt]['id_classe']."';"; $sql = "SELECT DISTINCT jgc.categorie_id, mc.nom_court, mc.nom_complet FROM j_groupes_classes jgc, matieres_categories mc WHERE jgc.id_groupe='" . $lig_grp->id . "' AND id_classe='" . $tab_ele['periodes'][$cpt]['id_classe'] . "' AND mc.id=jgc.categorie_id;"; //echo "$sql<br />"; $res_cat = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_cat) > 0) { $lig_cat = mysqli_fetch_object($res_cat); $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['id_cat'] = $lig_cat->categorie_id; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['cat_nom_court'] = $lig_cat->nom_court; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['cat_nom_complet'] = $lig_cat->nom_complet; //echo "\$tab_ele['periodes'][$cpt]['groupes'][$cpt2]['id_cat']=".$tab_ele['periodes'][$cpt]['groupes'][$cpt2]['id_cat']."<br />"; } } $sql = "SELECT DISTINCT d.coef FROM cn_notes_devoirs nd, cn_devoirs d, cn_cahier_notes cn WHERE (\n\t\t\t\t\t\tnd.login = '******' and\n\t\t\t\t\t\tnd.id_devoir = d.id and\n\t\t\t\t\t\td.display_parents='1' and\n\t\t\t\t\t\td.id_racine = cn.id_cahier_notes and\n\t\t\t\t\t\tcn.id_groupe = '" . $lig_grp->id . "' and\n\t\t\t\t\t\tcn.periode = '" . $lig_per->num_periode . "'\n\t\t\t\t\t\t)"; $res_differents_coef = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_differents_coef) > 1) { $differents_coef = "y"; } else { $differents_coef = "n"; } $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['differents_coef'] = $differents_coef; $sql1 = "SELECT d.coef, nd.note, nd.comment, d.nom_court, nd.statut, d.date, d.note_sur, d.display_parents_app FROM cn_notes_devoirs nd, cn_devoirs d, cn_cahier_notes cn WHERE (\n\t\t\t\t\t\tnd.login = '******' and\n\t\t\t\t\t\tnd.id_devoir = d.id and\n\t\t\t\t\t\td.display_parents='1' and\n\t\t\t\t\t\td.id_racine = cn.id_cahier_notes and\n\t\t\t\t\t\tcn.id_groupe = '" . $lig_grp->id . "' and\n\t\t\t\t\t\tcn.periode = '" . $lig_per->num_periode . "'\n\t\t\t\t\t\t)\n\t\t\t\t\t\tORDER BY d.date\n\t\t\t\t\t\t"; $query_notes = mysqli_query($GLOBALS["mysqli"], $sql1); $count_notes = mysqli_num_rows($query_notes); $m = 0; while ($m < $count_notes) { $eleve_display_app = @old_mysql_result($query_notes, $m, 'display_parents_app'); $eleve_app = @old_mysql_result($query_notes, $m, 'comment'); $eleve_note = @old_mysql_result($query_notes, $m, 'note'); $eleve_statut = @old_mysql_result($query_notes, $m, 'statut'); $eleve_nom_court = @old_mysql_result($query_notes, $m, 'nom_court'); $date_note = @old_mysql_result($query_notes, $m, 'date'); $coef_devoir = @old_mysql_result($query_notes, $m, 'coef'); $note_sur_devoir = @old_mysql_result($query_notes, $m, 'note_sur'); $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['display_app'] = $eleve_display_app; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['app'] = $eleve_app; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['note'] = $eleve_note; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['statut'] = $eleve_statut; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['nom_court'] = $eleve_nom_court; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['date'] = $date_note; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['coef'] = $coef_devoir; $tab_ele['periodes'][$cpt]['groupes'][$cpt2]['devoir'][$m]['note_sur'] = $note_sur_devoir; // On ne récupère pas le nom long du devoir? $m++; } $cpt2++; } } $cpt++; } } $sql = "SELECT DISTINCT g.*,m.nom_complet FROM groupes g, j_groupes_matieres jgm, matieres m, j_groupes_classes jgc, j_eleves_groupes jeg WHERE g.id=jgm.id_groupe AND m.matiere=jgm.id_matiere AND jgc.id_groupe=jgm.id_groupe AND jeg.id_groupe=g.id AND jeg.login='******' ORDER BY jgc.priorite,m.nom_complet;"; //echo "$sql<br />"; $res_grp = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_grp) > 0) { $cpt = 0; while ($lig_grp = mysqli_fetch_object($res_grp)) { $tab_ele['groupes'][$cpt] = array(); $tab_ele['groupes'][$cpt]['id_groupe'] = $lig_grp->id; $tab_ele['groupes'][$cpt]['name'] = $lig_grp->name; $tab_ele['groupes'][$cpt]['description'] = $lig_grp->description; $tab_ele['groupes'][$cpt]['matiere_nom_complet'] = $lig_grp->nom_complet; $tab_ele['index_grp'][$lig_grp->id] = $cpt; $sql = "SELECT periode FROM j_eleves_groupes WHERE login='******' AND id_groupe='" . $lig_grp->id . "' ORDER BY periode;"; $res_per2 = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_per2) > 0) { $tab_ele['groupes'][$cpt]['periodes'] = array(); while ($lig_per2 = mysqli_fetch_object($res_per2)) { $tab_ele['groupes'][$cpt]['periodes'][] = $lig_per2->periode; } } $sql = "SELECT u.* FROM utilisateurs u, j_groupes_professeurs jgp WHERE u.login=jgp.login AND id_groupe='" . $lig_grp->id . "' ORDER BY u.nom, u.prenom;"; $res_prof = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_prof) > 0) { $tab_ele['groupes'][$cpt]['prof'] = array(); $tab_ele['groupes'][$cpt]['prof_liste'] = ""; //$tab_ele['groupes'][$cpt]['prof_liste_email']=""; $cpt2 = 0; while ($lig_prof = mysqli_fetch_object($res_prof)) { if ($cpt2 > 0) { $tab_ele['groupes'][$cpt]['prof_liste'] .= ", "; } $tab_ele['groupes'][$cpt]['prof'][$cpt2]['prof_login'] = $lig_prof->login; $tab_ele['groupes'][$cpt]['prof'][$cpt2]['nom'] = $lig_prof->nom; $tab_ele['groupes'][$cpt]['prof'][$cpt2]['prenom'] = $lig_prof->prenom; $tab_ele['groupes'][$cpt]['prof'][$cpt2]['civilite'] = $lig_prof->civilite; $tab_ele['groupes'][$cpt]['prof'][$cpt2]['email'] = $lig_prof->email; //if($lig_prof->email!='') { // if($tab_ele['groupes'][$cpt]['prof'][$cpt2]['prof_liste_email']!='') {$tab_ele['groupes'][$cpt]['prof_liste_email'].=", ";} // $tab_ele['groupes'][$cpt]['prof_liste_email'].=$lig_prof->email; //} if ($lig_prof->email != '' && !in_array($lig_prof->email, $tab_ele['tab_prof_liste_email'])) { $tab_ele['tab_prof_liste_email'][] = $lig_prof->email; } $tab_ele['groupes'][$cpt]['prof_liste'] .= $lig_prof->civilite . " " . $lig_prof->nom . " " . mb_substr($lig_prof->prenom, 0, 1) . "."; $cpt2++; } } $cpt++; } } // Je ne suis pas sûr de la façon la plus pertinente de gérer les groupes/périodes... et il y aurait aussi les classes: // $tab_ele['groupes'][$cpt]['periodes'][] // ou $tab_ele['periodes'][$cpt]['groupes'][] // ou $tab_ele['classes'][$cpt]['groupes'][$cpt2]['periodes'][] } for ($i = 0; $i < count($tab_ele['tab_prof_liste_email']); $i++) { if ($tab_ele['prof_liste_email'] != "") { $tab_ele['prof_liste_email'] .= ", "; } $tab_ele['prof_liste_email'] .= $tab_ele['tab_prof_liste_email'][$i]; } //=================================== $get_cat = mysqli_query($GLOBALS["mysqli"], "SELECT id FROM matieres_categories"); $categories = array(); while ($row = mysqli_fetch_array($get_cat, MYSQLI_ASSOC)) { $categories[] = $row["id"]; } $cat_names = array(); foreach ($categories as $cat_id) { $sql = "SELECT nom_complet FROM matieres_categories WHERE id='" . $cat_id . "';"; $res_cat = mysqli_query($GLOBALS["mysqli"], $sql); if ($res_cat) { $cat_names[$cat_id] = old_mysql_result($res_cat, 0); } } foreach ($cat_names as $key => $value) { $tab_ele['categorie'][$key] = $value; } //=================================== // Régime et redoublement $sql = "SELECT * FROM j_eleves_regime WHERE login='******';"; $res_ele_reg = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_ele_reg) > 0) { $lig_ele_reg = mysqli_fetch_object($res_ele_reg); $tab_ele['regime'] = $lig_ele_reg->regime; $tab_ele['doublant'] = $lig_ele_reg->doublant; } //$sql="SELECT e.* FROM etablissements e, j_eleves_etablissements j WHERE (j.id_eleve ='".$ele_login."' AND e.id = j.id_etablissement);"; $sql = "SELECT e.* FROM etablissements e, j_eleves_etablissements j WHERE (j.id_eleve ='" . $tab_ele['elenoet'] . "' AND e.id = j.id_etablissement);"; $data_etab = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($data_etab) > 0) { $tab_ele['etab_id'] = @old_mysql_result($data_etab, 0, "id"); $tab_ele['etab_nom'] = @old_mysql_result($data_etab, 0, "nom"); $tab_ele['etab_niveau'] = @old_mysql_result($data_etab, 0, "niveau"); $tab_ele['etab_type'] = @old_mysql_result($data_etab, 0, "type"); $tab_ele['etab_cp'] = @old_mysql_result($data_etab, 0, "cp"); $tab_ele['etab_ville'] = @old_mysql_result($data_etab, 0, "ville"); if ($tab_ele['etab_niveau'] != '') { foreach ($type_etablissement as $type_etab => $nom_etablissement) { if ($tab_ele['etab_niveau'] == $type_etab) { $tab_ele['etab_niveau_nom'] = $nom_etablissement; } } if ($tab_ele['etab_cp'] == 0) { $tab_ele['etab_cp'] = ''; } if ($tab_ele['etab_type'] == 'aucun') { $tab_ele['etab_type'] = ''; } else { $tab_ele['etab_type'] = $type_etablissement2[$tab_ele['etab_type']][$tab_ele['etab_niveau']]; } } } // Récup infos CPE $sql = "SELECT u.* FROM j_eleves_cpe jec, utilisateurs u WHERE e_login='******' AND jec.cpe_login=u.login;"; $res_cpe = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_cpe) > 0) { $lig_cpe = mysqli_fetch_object($res_cpe); $tab_ele['cpe'] = array(); $tab_ele['cpe']['login'] = $lig_cpe->login; $tab_ele['cpe']['nom'] = $lig_cpe->nom; $tab_ele['cpe']['prenom'] = $lig_cpe->prenom; $tab_ele['cpe']['civilite'] = $lig_cpe->civilite; $tab_ele['cpe']['email'] = $lig_cpe->email; $tab_ele['cpe']['civ_nom_prenom'] = $lig_cpe->civilite . " " . $lig_cpe->nom . " " . mb_substr($lig_cpe->prenom, 0, 1) . "."; } $tab_ele['equipe_liste_email'] = $tab_ele['prof_liste_email']; if (isset($tab_ele['cpe']['email']) && $tab_ele['cpe']['email'] != "" && !in_array($tab_ele['cpe']['email'], $tab_ele['tab_prof_liste_email'])) { if ($tab_ele['equipe_liste_email'] != "") { $tab_ele['equipe_liste_email'] .= ", "; } $tab_ele['equipe_liste_email'] .= $tab_ele['cpe']['email']; } /* // Récup infos Prof Principal (prof_suivi) $sql="SELECT u.* FROM j_eleves_professeurs jep, utilisateurs u WHERE jep.login='******' AND id_classe='$id_classe' AND jep.professeur=u.login;"; $res_pp=mysql_query($sql); //echo "$sql<br />"; if(mysql_num_rows($res_pp)>0) { $lig_pp=mysql_fetch_object($res_pp); $tab_ele['pp']=array(); $tab_ele['pp']['login']=$lig_pp->login; $tab_ele['pp']['nom']=$lig_pp->nom; $tab_ele['pp']['prenom']=$lig_pp->prenom; $tab_ele['pp']['civilite']=$lig_pp->civilite; } */ if ($acces_responsables == 'y') { // Récup infos responsables $sql = "SELECT rp.*,ra.adr1,ra.adr2,ra.adr3,ra.adr3,ra.adr4,ra.cp,ra.pays,ra.commune,r.resp_legal FROM resp_pers rp,\n\t\t\t\t\t\t\t\t\t\tresp_adr ra,\n\t\t\t\t\t\t\t\t\t\tresponsables2 r\n\t\t\t\t\tWHERE r.ele_id='" . $tab_ele['ele_id'] . "' AND\n\t\t\t\t\t\t\tr.resp_legal!='0' AND\n\t\t\t\t\t\t\tr.pers_id=rp.pers_id AND\n\t\t\t\t\t\t\trp.adr_id=ra.adr_id\n\t\t\t\t\tORDER BY resp_legal;"; $res_resp = mysqli_query($GLOBALS["mysqli"], $sql); //echo "$sql<br />"; if (mysqli_num_rows($res_resp) > 0) { $cpt = 0; while ($lig_resp = mysqli_fetch_object($res_resp)) { $tab_ele['resp'][$cpt] = array(); $tab_ele['resp'][$cpt]['pers_id'] = $lig_resp->pers_id; $tab_ele['resp'][$cpt]['login'] = $lig_resp->login; $tab_ele['resp'][$cpt]['nom'] = $lig_resp->nom; $tab_ele['resp'][$cpt]['prenom'] = $lig_resp->prenom; $tab_ele['resp'][$cpt]['civilite'] = $lig_resp->civilite; $tab_ele['resp'][$cpt]['tel_pers'] = $lig_resp->tel_pers; $tab_ele['resp'][$cpt]['tel_port'] = $lig_resp->tel_port; $tab_ele['resp'][$cpt]['tel_prof'] = $lig_resp->tel_prof; $tab_ele['resp'][$cpt]['mel'] = $lig_resp->mel; $tab_ele['resp'][$cpt]['adr1'] = $lig_resp->adr1; $tab_ele['resp'][$cpt]['adr2'] = $lig_resp->adr2; $tab_ele['resp'][$cpt]['adr3'] = $lig_resp->adr3; $tab_ele['resp'][$cpt]['adr4'] = $lig_resp->adr4; $tab_ele['resp'][$cpt]['cp'] = $lig_resp->cp; $tab_ele['resp'][$cpt]['pays'] = $lig_resp->pays; $tab_ele['resp'][$cpt]['commune'] = $lig_resp->commune; $tab_ele['resp'][$cpt]['adr_id'] = $lig_resp->adr_id; $tab_ele['resp'][$cpt]['resp_legal'] = $lig_resp->resp_legal; //echo "\$lig_resp->login="******"<br />"; if ($lig_resp->login != "") { $sql = "SELECT etat, auth_mode FROM utilisateurs WHERE login='******';"; //echo "$sql<br />"; $res_u = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_u) > 0) { $lig_u = mysqli_fetch_object($res_u); $tab_ele['resp'][$cpt]['etat'] = $lig_u->etat; $tab_ele['resp'][$cpt]['auth_mode'] = $lig_u->auth_mode; if ($AccesDerniereConnexionResp) { $tab_ele['resp'][$cpt]['DerniereConnexionResp'] = get_last_connexion($lig_resp->login); $tab_ele['resp'][$cpt]['DerniereConnexionResp_Echec'] = get_last_connexion($lig_resp->login, "n"); } } } $cpt++; } } // Récup infos responsables resp_legal=0 $sql = "SELECT rp.*,ra.adr1,ra.adr2,ra.adr3,ra.adr3,ra.adr4,ra.cp,ra.pays,ra.commune,r.resp_legal, r.acces_sp, r.envoi_bulletin FROM resp_pers rp,\n\t\t\t\t\t\t\t\t\t\tresp_adr ra,\n\t\t\t\t\t\t\t\t\t\tresponsables2 r\n\t\t\t\t\tWHERE r.ele_id='" . $tab_ele['ele_id'] . "' AND\n\t\t\t\t\t\t\tr.resp_legal='0' AND\n\t\t\t\t\t\t\tr.pers_id=rp.pers_id AND\n\t\t\t\t\t\t\trp.adr_id=ra.adr_id\n\t\t\t\t\tORDER BY resp_legal;"; $res_resp = mysqli_query($GLOBALS["mysqli"], $sql); //echo "$sql<br />"; if (mysqli_num_rows($res_resp) > 0) { //$cpt=0; while ($lig_resp = mysqli_fetch_object($res_resp)) { $tab_ele['resp'][$cpt] = array(); $tab_ele['resp'][$cpt]['pers_id'] = $lig_resp->pers_id; $tab_ele['resp'][$cpt]['login'] = $lig_resp->login; $tab_ele['resp'][$cpt]['nom'] = $lig_resp->nom; $tab_ele['resp'][$cpt]['prenom'] = $lig_resp->prenom; $tab_ele['resp'][$cpt]['civilite'] = $lig_resp->civilite; $tab_ele['resp'][$cpt]['tel_pers'] = $lig_resp->tel_pers; $tab_ele['resp'][$cpt]['tel_port'] = $lig_resp->tel_port; $tab_ele['resp'][$cpt]['tel_prof'] = $lig_resp->tel_prof; $tab_ele['resp'][$cpt]['mel'] = $lig_resp->mel; $tab_ele['resp'][$cpt]['adr1'] = $lig_resp->adr1; $tab_ele['resp'][$cpt]['adr2'] = $lig_resp->adr2; $tab_ele['resp'][$cpt]['adr3'] = $lig_resp->adr3; $tab_ele['resp'][$cpt]['adr4'] = $lig_resp->adr4; $tab_ele['resp'][$cpt]['cp'] = $lig_resp->cp; $tab_ele['resp'][$cpt]['pays'] = $lig_resp->pays; $tab_ele['resp'][$cpt]['commune'] = $lig_resp->commune; $tab_ele['resp'][$cpt]['adr_id'] = $lig_resp->adr_id; $tab_ele['resp'][$cpt]['resp_legal'] = $lig_resp->resp_legal; $tab_ele['resp'][$cpt]['acces_sp'] = $lig_resp->acces_sp; $tab_ele['resp'][$cpt]['envoi_bulletin'] = $lig_resp->envoi_bulletin; //echo "\$lig_resp->login="******"<br />"; if ($lig_resp->login != "") { $sql = "SELECT etat, auth_mode FROM utilisateurs WHERE login='******';"; //echo "$sql<br />"; $res_u = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_u) > 0) { $lig_u = mysqli_fetch_object($res_u); $tab_ele['resp'][$cpt]['etat'] = $lig_u->etat; $tab_ele['resp'][$cpt]['auth_mode'] = $lig_u->auth_mode; if ($AccesDerniereConnexionResp) { $tab_ele['resp'][$cpt]['DerniereConnexionResp'] = get_last_connexion($lig_resp->login); $tab_ele['resp'][$cpt]['DerniereConnexionResp_Echec'] = get_last_connexion($lig_resp->login, "n"); } } } $cpt++; } } } if ($active_cahiers_texte == "y" && $acces_cdt == 'y') { $ts_limite_visibilite_comptes_rendus_pour_eleves = time(); $ts_limite_visibilite_devoirs_pour_eleves = time() + getSettingValue('delai_devoirs') * 24 * 3600; $cpt1 = 0; // pour initialiser la variable $tab_date_ct = array(); // Un DISTINCT pour éviter les trois exemplaires dûs à j_eleves_groupes $sql = "SELECT DISTINCT cte.* FROM ct_entry cte, j_eleves_groupes jeg WHERE cte.id_groupe=jeg.id_groupe AND jeg.login='******' AND cte.date_ct>={$date_ct1} AND cte.date_ct<={$date_ct2} AND cte.date_ct<={$ts_limite_visibilite_comptes_rendus_pour_eleves} ORDER BY cte.date_ct, cte.id_groupe;"; //echo "$sql<br />"; $res_ct = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_ct) > 0) { $cpt1 = 0; while ($lig_ct = mysqli_fetch_object($res_ct)) { $tab_ele['cdt_entry'][$cpt1] = array(); $tab_ele['cdt_entry'][$cpt1]['id_ct'] = $lig_ct->id_ct; $tab_ele['cdt_entry'][$cpt1]['heure_entry'] = $lig_ct->heure_entry; $tab_ele['cdt_entry'][$cpt1]['id_groupe'] = $lig_ct->id_groupe; $tab_ele['cdt_entry'][$cpt1]['date_ct'] = $lig_ct->date_ct; $tab_ele['cdt_entry'][$cpt1]['id_login'] = $lig_ct->id_login; $tab_ele['cdt_entry'][$cpt1]['contenu'] = $lig_ct->contenu; /* echo "<p>\n"; foreach($tab_ele['cdt_entry'][$cpt] as $key => $value) { echo "\$tab_ele['cdt_entry'][$cpt]['$key']=$value<br />\n"; } echo "</p>\n"; */ $tab_date_ct[] = $lig_ct->date_ct; $cpt1++; } } $sql = "SELECT DISTINCT ctde.* FROM ct_devoirs_entry ctde, j_eleves_groupes jeg WHERE ctde.id_groupe=jeg.id_groupe AND jeg.login='******' AND ctde.date_ct>={$date_ct1} AND ctde.date_ct<={$date_ct2} AND ctde.date_ct<={$ts_limite_visibilite_devoirs_pour_eleves} ORDER BY ctde.date_ct, ctde.id_groupe;"; //echo "$sql<br />"; $res_ct = mysqli_query($GLOBALS["mysqli"], $sql); $cpt2 = 0; if (mysqli_num_rows($res_ct) > 0) { //$cpt2=0; while ($lig_ct = mysqli_fetch_object($res_ct)) { $tab_ele['cdt_dev'][$cpt2] = array(); $tab_ele['cdt_dev'][$cpt2]['id_ct'] = $lig_ct->id_ct; $tab_ele['cdt_dev'][$cpt2]['id_groupe'] = $lig_ct->id_groupe; $tab_ele['cdt_dev'][$cpt2]['date_ct'] = $lig_ct->date_ct; $tab_ele['cdt_dev'][$cpt2]['id_login'] = $lig_ct->id_login; $tab_ele['cdt_dev'][$cpt2]['contenu'] = $lig_ct->contenu; $tab_date_ct[] = $lig_ct->date_ct; $cpt2++; } } sort($tab_date_ct); $tmp_tab_date_ct = $tab_date_ct; unset($tab_date_ct); $tab_date_ct = array_unique($tmp_tab_date_ct); //array_unique($tab_date_ct); $cpt1_2 = $cpt1 + $cpt2; $cpt = 0; //for($i=0;$i<count($tab_date_ct);$i++) { //for($i=0;$i<max($cpt1,$cpt2);$i++) { for ($i = 0; $i < $cpt1_2; $i++) { //echo "\$tab_date_ct[$i]=".$tab_date_ct[$i]."<br />"; //if($tab_date_ct[$i]!="") { if (isset($tab_date_ct[$i]) && $tab_date_ct[$i] != "") { $tab_ele['cdt'][$cpt]['date_ct'] = $tab_date_ct[$i]; $nbre_cdt_dev = isset($tab_ele['cdt_dev']) ? count($tab_ele['cdt_dev']) : 0; for ($j = 0; $j < $nbre_cdt_dev; $j++) { if ($tab_ele['cdt_dev'][$j]['date_ct'] == $tab_date_ct[$i]) { $tab_ele['cdt'][$cpt]['dev'][] = $tab_ele['cdt_dev'][$j]; } elseif ($tab_ele['cdt_dev'][$j]['date_ct'] > $tab_date_ct[$i]) { break; } } if (isset($tab_ele['cdt_entry'])) { for ($j = 0; $j < count($tab_ele['cdt_entry']); $j++) { if ($tab_ele['cdt_entry'][$j]['date_ct'] == $tab_date_ct[$i]) { $tab_ele['cdt'][$cpt]['entry'][] = $tab_ele['cdt_entry'][$j]; } elseif ($tab_ele['cdt_entry'][$j]['date_ct'] > $tab_date_ct[$i]) { break; } } } $cpt++; } } } $tab_ele['absences'] = array(); $sql = "SELECT * FROM absences WHERE login='******' ORDER BY periode;"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) > 0) { $cpt = 0; while ($lig = mysqli_fetch_object($res)) { $tab_ele['absences'][$cpt]['periode'] = $lig->periode; $tab_ele['absences'][$cpt]['nb_absences'] = $lig->nb_absences; $tab_ele['absences'][$cpt]['non_justifie'] = $lig->non_justifie; $tab_ele['absences'][$cpt]['nb_retards'] = $lig->nb_retards; $tab_ele['absences'][$cpt]['appreciation'] = $lig->appreciation; $cpt++; } } // ============================================================================= // // === SUIVI des absences pour ceux qui utilisent la saisie 'fond de classe' === // // ============================================================================= // $tab_ele['abs_quotidien'] = array(); $tab_ele['abs_quotidien']['autorisation'] = 'non'; // ne sera changé que dans le cas où la requête suivante renvoie un résultat $ts_quinze_jours_avant = date("U") - 1296000; $sql2 = "SELECT DISTINCT * FROM absences_rb WHERE eleve_id = '" . $ele_login . "' AND date_saisie > '" . $ts_quinze_jours_avant . "'"; $query = mysqli_query($GLOBALS["mysqli"], $sql2); if ($query) { $test = mysqli_num_rows($query); if ($test >= 1) { $tab_ele['abs_quotidien']['autorisation'] = 'oui'; } // On enregistre toutes les absences de l'élève dans le tableau $s = 0; while ($rep = mysqli_fetch_object($query)) { $jour = date("d/m", $rep->debut_ts); $creneau = mysqli_fetch_array(mysqli_query($GLOBALS["mysqli"], "SELECT nom_definie_periode FROM edt_creneaux WHERE id_definie_periode = '" . $rep->creneau_id . "' LIMIT 1")); $tab_ele['abs_quotidien'][$s]['retard_absence'] = $rep->retard_absence; $tab_ele['abs_quotidien'][$s]['jour_semaine'] = $rep->jour_semaine . ' ' . $jour; $tab_ele['abs_quotidien'][$s]['debut_heure'] = date("H:i", $rep->debut_ts); $tab_ele['abs_quotidien'][$s]['creneau'] = $creneau["nom_definie_periode"]; $s++; } } else { // rien et on laisse } // Affecter auparavant la valeur de $acces_mod_discipline sur deux tests: // - Module actif // - Accès au module discipline précisé dans Gestion générale/Droits d'accès require_once "../mod_discipline/sanctions_func_lib.php"; // tab_mod_discipline($ele_login,$mode,$date_debut,$date_fin); // $mode=all ou bien qualité: responsable, victime, témoin,... $tab_ele['tab_mod_discipline'] = tab_mod_discipline($ele_login, "all", $date_debut_disc, $date_fin_disc); return $tab_ele; }
} else { $sql="SELECT DISTINCT e.* " . "FROM eleves e, j_eleves_classes jec, j_eleves_groupes jeg, j_groupes_professeurs jgp " . "WHERE (" . "jec.id_classe='$id_classe' AND " . "e.login = jeg.login AND " . "jeg.login = jec.login AND " . "jeg.id_groupe = jgp.id_groupe AND " . "jgp.login = '******'login']."') " . "ORDER BY e.nom,e.prenom"; $appel_liste_eleves = mysqli_query($GLOBALS["mysqli"], $sql); } } else { // On a alors $choix_edit==3 uniquement les élèves du professeur principal $login_prof if((getSettingAOui('GepiAccesPPTousElevesDeLaClasse'))&&(is_pp($_SESSION['login'], $id_classe))) { // Tous les élèves vont être affichés $sql="SELECT DISTINCT e.* " . "FROM eleves e, j_eleves_classes jec " . "WHERE (" . "jec.id_classe='$id_classe' AND " . "jec.login=e.login) ". "ORDER BY e.nom,e.prenom"; } else { $sql="SELECT DISTINCT e.* " . "FROM eleves e, j_eleves_classes jec, j_eleves_groupes jeg, j_groupes_professeurs jgp, j_eleves_professeurs jep " . "WHERE (" . "jec.id_classe='$id_classe' AND " . "e.login = jeg.login AND " . "jeg.login = jep.login AND " .
if (!$suppr) { $msg = "ERREUR lors de la suppression de l'examen {$id_exam}"; } else { $msg = "Suppression de l'examen {$id_exam} effectuée."; } } unset($id_exam); unset($mode); } elseif (isset($id_exam) && $mode == 'ajout_classes') { check_token(); // Ajout de classes pour l'examen sélectionné $id_classe = isset($_POST['id_classe']) ? $_POST['id_classe'] : (isset($_GET['id_classe']) ? $_GET['id_classe'] : array()); // On contrôle en cas d'accès prof qu'il est bien PP de ces classes if ($_SESSION['statut'] == 'professeur') { for ($i = 0; $i < count($id_classe); $i++) { if (!is_pp($_SESSION['login'], $id_classe[$i])) { $gepi_prof_suivi = retourne_denomination_pp($id_classe[$i]); header("Location: " . $_SERVER['PHP_SELF'] . "?id_exam={$id_exam}&msg=" . rawurlencode("Vous n'êtes pas " . $gepi_prof_suivi . " dans la classe de " . get_class_from_id($id_classe[$i]))); die; } } } $nb_classes_supprimees = 0; $tab_classes_assoc_old = array(); $sql = "SELECT DISTINCT id_classe FROM ex_classes WHERE id_exam='{$id_exam}';"; //echo "$sql<br />"; $res = mysqli_query($GLOBALS["mysqli"], $sql); while ($lig = mysqli_fetch_object($res)) { $tab_classes_assoc_old[] = $lig->id_classe; if (!in_array($lig->id_classe, $id_classe)) { // Les groupes associés à la classe sont ils encore associés à une autre classe de l'examen?
$restreindre_affichage_a_eleve_seul=isset($_GET['restreindre_affichage_a_eleve_seul']) ? $_GET['restreindre_affichage_a_eleve_seul'] : "y"; $lien_refermer=isset($_POST['lien_refermer']) ? $_POST['lien_refermer'] : (isset($_GET['lien_refermer']) ? $_GET['lien_refermer'] : "n"); if(isset($login_ele)) { if($_SESSION['statut']=='professeur') { $acces_suite="n"; if((getSettingAOui('visuDiscProfClasses'))&&(is_prof_ele($_SESSION['login'], $login_ele))) { $acces_suite="y"; } elseif((getSettingAOui('visuDiscProfGroupes'))&&(is_prof_classe_ele($_SESSION['login'], $login_ele))) { $acces_suite="y"; } elseif(is_pp($_SESSION['login'], "", $login_ele)) { $acces_suite="y"; } if($acces_suite=="n") { $msg="Vous n'avez pas accès à cet élève.<br />"; tentative_intrusion(1, "Tentative d'accès à la consultation d'$mod_disc_terme_incident pour l'élève ".get_nom_prenom_eleve($login_ele)."."); unset($login_ele); } } /* elseif(($_SESSION['statut']=='cpe')&&(!is_cpe($_SESSION['login'], "", $login_ele))) { $msg="Vous n'avez pas accès à cet élève.<br />"; tentative_intrusion(1, "Tentative d'accès à la consultation d'$mod_disc_terme_incident pour l'élève ".get_nom_prenom_eleve($login_ele)."."); unset($login_ele); }
// On teste si un professeur peut saisir les avis if (($_SESSION['statut'] == 'professeur') and getSettingValue("GepiRubConseilProf")!='yes') { die("Droits insuffisants pour effectuer cette opération"); } // On teste si le service scolarité peut saisir les avis if (($_SESSION['statut'] == 'scolarite') and getSettingValue("GepiRubConseilScol")!='yes') { die("Droits insuffisants pour effectuer cette opération"); } echo "<p class=bold><a href=\"../accueil.php\"><img src='../images/icons/back.png' alt='Retour' class='back_link'/> Retour</a>"; if ($id_liste_periodes!=0) { echo " | <a href='".$_SERVER['PHP_SELF']."'>Choisir d'autres périodes</a>"; } if((($_SESSION['statut']=='professeur')&&(is_pp($_SESSION['login'])))||($_SESSION['statut']!='professeur')) { echo " | <a href='../impression/parametres_impression_pdf_avis.php'>Régler les paramètres du PDF</a>"; } echo "</p>\n"; if (($_SESSION['statut'] == 'scolarite')||($_SESSION['statut'] == 'cpe')) { // Scolarite ou Cpe if (($id_liste_periodes)!=0) { //IMPRESSION A LA CHAINE $nb_periodes = sizeof($id_liste_periodes); $chaine_periodes = ""; for ($i=0; $i<$nb_periodes ; $i++) { $chaine_periodes .= $id_liste_periodes[$i]; if ($i<$nb_periodes-1) { $chaine_periodes .= ' et ';} } $periode = "Période(s) N° ".$chaine_periodes;
function acces_impression_releve_notes($login_eleve, $id_classe = "") { $retour = false; if ($_SESSION['statut'] == 'professeur' && getSettingAOui('GepiAccesReleveProfToutesClasses')) { $retour = true; } elseif ($_SESSION['statut'] == 'professeur' && $login_eleve != "" && getSettingAOui('GepiAccesReleveProf') && is_prof_ele($_SESSION['login'], $login_eleve, "", $id_classe)) { $retour = true; } elseif ($_SESSION['statut'] == 'professeur' && $login_eleve != "" && getSettingAOui('GepiAccesReleveProfTousEleves') && is_prof_classe_ele($_SESSION['login'], $login_eleve)) { $retour = true; } elseif ($_SESSION['statut'] == 'professeur' && $id_classe != "" && getSettingAOui('GepiAccesReleveProfTousEleves') && is_prof_classe($_SESSION['login'], $id_classe)) { $retour = true; } elseif ($_SESSION['statut'] == 'professeur' && $id_classe != "" && getSettingAOui('GepiAccesReleveProfP') && is_pp($_SESSION['login'], $id_classe)) { $retour = true; } elseif ($_SESSION['statut'] == 'professeur' && $login_eleve != "" && getSettingAOui('GepiAccesReleveProfP') && is_pp($_SESSION['login'])) { // PP: Le test est fait sur l'association avec la classe (même si l'élève a changé de classe en cours d'année) // On ne se contente pas de is_pp(is_pp($_SESSION['login'], '', $login_ele) $sql = "SELECT DISTINCT jec.id_classe FROM j_eleves_classes jec WHERE jec.login='******';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) > 0) { while ($lig = mysqli_fetch_object($res)) { if (is_pp($_SESSION['login'], $lig->id_classe)) { $retour = true; break; } } } } elseif ($_SESSION['statut'] == 'cpe' && getSettingAOui('GepiAccesReleveCpeTousEleves')) { $retour = true; } elseif ($_SESSION['statut'] == 'cpe' && getSettingAOui('GepiAccesReleveCpe')) { if (is_cpe($_SESSION['login'], "", $login_eleve)) { $retour = true; } } elseif ($_SESSION['statut'] == 'scolarite') { $retour = true; } elseif ($_SESSION['statut'] == 'secours') { $retour = true; } elseif ($_SESSION['statut'] == 'administrateur') { $retour = false; } return $retour; }
//================================================= // Colonne nature echo "<td>{$lig->nature}</td>\n"; //================================================= // Colonne Protagonistes echo "<td>\n"; $sql = "SELECT * FROM s_protagonistes WHERE id_incident='{$lig->id_incident}' ORDER BY statut,qualite,login;"; $res2 = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) == 0) { echo "Aucun"; } else { $cpt = 0; $tab_protagonistes = array(); while ($lig2 = mysqli_fetch_object($res2)) { $tab_protagonistes[] = $lig2->login; if (is_pp($_SESSION['login'], "", $lig2->login)) { $peutImprimer = TRUE; } if ($cpt > 0) { echo "<br />"; } if ($lig2->statut == 'eleve') { if (in_array($lig2->login, array_keys($tab_individu))) { if (isset($tab_individu[$lig2->login]['designation2'])) { echo $tab_individu[$lig2->login]['designation2']; } else { echo $tab_individu[$lig2->login]['designation']; } if ($liste_protagonistes != "") { $liste_protagonistes .= ", "; }
function extract_eleves($tab_login) { global $cpt_eleve, $tab_result_recherche, $acces_visu_eleve, $acces_modify_eleve, $acces_class_const, $acces_photo, $gepiPath; $acces_modify_resp = acces("/responsables/modify_resp.php", $_SESSION['statut']); $GepiAccesGestElevesProf = getSettingAOui('GepiAccesGestElevesProf'); for ($loop_tab_login = 0; $loop_tab_login < count($tab_login); $loop_tab_login++) { $sql = "SELECT * FROM eleves WHERE login='******';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) > 0) { $lig = mysqli_fetch_object($res); $restriction_acces = "n"; if ($_SESSION['statut'] == 'professeur' && (!getSettingAOui('GepiAccesGestElevesProf') || !is_prof_ele($_SESSION['login'], $lig->login))) { if (getSettingAOui('GepiAccesGestElevesProfP') && is_pp($_SESSION['login'], "", $lig->login)) { $restriction_acces = "n"; } else { $restriction_acces = "y"; } } $tab_result_recherche['eleve'][$cpt_eleve]['login'] = $lig->login; if ($acces_modify_eleve && $restriction_acces == "n") { $tab_result_recherche['eleve'][$cpt_eleve]['td_login'] = "******"Modifier les informations élève\">{$lig->login}</a>"; } else { $tab_result_recherche['eleve'][$cpt_eleve]['td_login'] = $lig->login; } $tab_result_recherche['eleve'][$cpt_eleve]['compte'] = ""; $tab_result_recherche['eleve'][$cpt_eleve]['td_compte'] = ""; if ($lig->login != "") { if ($_SESSION['statut'] == 'administrateur') { $tab_result_recherche['eleve'][$cpt_eleve]['td_compte'] = lien_image_compte_utilisateur($lig->login, "", "", "y", 'y'); } else { $tab_result_recherche['eleve'][$cpt_eleve]['td_compte'] = lien_image_compte_utilisateur($lig->login, "", "", "n", 'y'); } if (preg_match("/inactif/", $tab_result_recherche['eleve'][$cpt_eleve]['td_compte'])) { $tab_result_recherche['eleve'][$cpt_eleve]['compte'] = "inactif"; } else { $tab_result_recherche['eleve'][$cpt_eleve]['compte'] = "actif"; } } $tab_result_recherche['eleve'][$cpt_eleve]['td_compte'] .= temoin_compte_sso($lig->login); $tab_result_recherche['eleve'][$cpt_eleve]['nom_prenom'] = casse_mot($lig->nom, "maj") . " " . casse_mot($lig->prenom, "majf2"); if ($acces_visu_eleve) { $tab_result_recherche['eleve'][$cpt_eleve]['td_nom_prenom'] = "<a href='{$gepiPath}/eleves/visu_eleve.php?ele_login={$lig->login}' title=\"Consulter la fiche élève\"><img src='{$gepiPath}/images/icons/ele_onglets.png' class='icone16' alt='Onglets élève' /> " . $tab_result_recherche['eleve'][$cpt_eleve]['nom_prenom'] . "</a>"; } else { $tab_result_recherche['eleve'][$cpt_eleve]['td_nom_prenom'] = $tab_result_recherche['eleve'][$cpt_eleve]['nom_prenom']; } if ($acces_photo == "y") { $tab_result_recherche['eleve'][$cpt_eleve]['photo'] = nom_photo($lig->elenoet); // Pour le tri: $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] = "<span style='display:none'>" . $lig->sexe . "_" . $lig->nom . "_" . $lig->prenom . "</span>"; // Lien pour la photo: $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= "<a href='" . $tab_result_recherche['eleve'][$cpt_eleve]['photo'] . "' target='_blank' onclick=\"affiche_photo('" . $tab_result_recherche['eleve'][$cpt_eleve]['photo'] . "', '" . addslashes($tab_result_recherche['eleve'][$cpt_eleve]['nom_prenom']) . "'); return false;\"><img src='"; if ($tab_result_recherche['eleve'][$cpt_eleve]['photo'] == "") { if ($lig->sexe == "F") { $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= "../mod_trombinoscopes/images/photo_f_gris.png' title='Photo absente'"; } else { $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= "../mod_trombinoscopes/images/photo_g_gris.png' title='Photo absente'"; } } else { if ($lig->sexe == "F") { $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= "../mod_trombinoscopes/images/photo_f.png' title='Cliquez pour afficher la photo'"; } else { $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= "../mod_trombinoscopes/images/photo_g.png' title='Cliquez pour afficher la photo'"; } } $tab_result_recherche['eleve'][$cpt_eleve]['td_photo'] .= " width='20' height='20' /></a>"; } $tab_result_recherche['eleve'][$cpt_eleve]['classe'] = ""; $tab_result_recherche['eleve'][$cpt_eleve]['td_classe'] = ""; $sql = "SELECT DISTINCT id, classe FROM classes c, j_eleves_classes jec WHERE jec.login='******' AND jec.id_classe=c.id ORDER BY periode;"; $res_classe = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_classe) > 0) { $cpt_classe = 0; while ($lig_classe = mysqli_fetch_object($res_classe)) { if ($cpt_classe > 0) { $tab_result_recherche['eleve'][$cpt_eleve]['classe'] .= ", "; $tab_result_recherche['eleve'][$cpt_eleve]['td_classe'] .= ", "; } if ($acces_class_const) { $tab_result_recherche['eleve'][$cpt_eleve]['td_classe'] .= "<a href='{$gepiPath}/classes/classes_const.php?id_classe={$lig_classe->id}' title=\"Accéder à la liste des élèves de la classe.\">{$lig_classe->classe}</a>"; } else { $tab_result_recherche['eleve'][$cpt_eleve]['td_classe'] .= $lig_classe->classe; } $tab_result_recherche['eleve'][$cpt_eleve]['classe'] .= $lig_classe->classe; $cpt_classe++; } } $tab_result_recherche['eleve'][$cpt_eleve]['resp'] = ""; $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] = ""; if ($_SESSION['statut'] == 'professeur' && $GepiAccesGestElevesProf || in_array($_SESSION['statut'], array('scolarite', 'cpe', 'administrateur', 'autre'))) { $cpt_resp = 0; $sql = "SELECT rp.*, r.resp_legal FROM resp_pers rp, responsables2 r WHERE rp.pers_id=r.pers_id AND r.ele_id='{$lig->ele_id}' AND (resp_legal='1' OR resp_legal='2') ORDER BY nom, prenom, resp_legal;"; $res_resp = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_resp) > 0) { while ($lig_resp = mysqli_fetch_object($res_resp)) { if ($cpt_resp > 0) { $tab_result_recherche['eleve'][$cpt_eleve]['resp'] .= ", "; $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<br />"; } $tab_result_recherche['eleve'][$cpt_eleve]['resp'] .= $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (" . $lig_resp->resp_legal . ")"; if ($acces_modify_resp) { $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<a href='{$gepiPath}/responsables/modify_resp.php?pers_id=" . $lig_resp->pers_id . "'>" . $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (<em title=\"Responsable légal : " . $lig_resp->resp_legal . "\">" . $lig_resp->resp_legal . "</em>)</a>"; } elseif ($acces_visu_eleve) { $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<a href='{$gepiPath}/eleves/visu_eleve.php?ele_login={$lig->login}&onglet=responsables' title=\"Consulter la liste des responsables dans le dossier élève\"><img src='{$gepiPath}/images/icons/ele_onglets.png' class='icone16' alt='Onglets élève' /> " . $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (<em title=\"Responsable légal : " . $lig_resp->resp_legal . "\">" . $lig_resp->resp_legal . "</em>)</a>"; } else { $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (" . $lig_resp->resp_legal . ")"; } $cpt_resp++; } } $sql = "SELECT rp.*, r.resp_legal FROM resp_pers rp, responsables2 r WHERE rp.pers_id=r.pers_id AND r.ele_id='{$lig->ele_id}' AND (resp_legal='0') ORDER BY nom, prenom, resp_legal;"; $res_resp = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_resp) > 0) { while ($lig_resp = mysqli_fetch_object($res_resp)) { if ($cpt_resp > 0) { $tab_result_recherche['eleve'][$cpt_eleve]['resp'] .= ", "; $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<br />"; } $tab_result_recherche['eleve'][$cpt_eleve]['resp'] .= $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (" . $lig_resp->resp_legal . ")"; if ($acces_modify_resp) { $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<a href='{$gepiPath}/responsables/modify_resp.php?pers_id=" . $lig_resp->pers_id . "'>" . $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (<em title=\"Responsable légal : " . $lig_resp->resp_legal . "\">" . $lig_resp->resp_legal . "</em>)</a>"; } elseif ($acces_visu_eleve) { $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= "<a href='{$gepiPath}/eleves/visu_eleve.php?ele_login={$lig->login}&onglet=responsables' title=\"Consulter la liste des responsables dans le dossier élève\"><img src='{$gepiPath}/images/icons/ele_onglets.png' class='icone16' alt='Onglets élève' /> " . $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (<em title=\"Responsable légal : " . $lig_resp->resp_legal . "\">" . $lig_resp->resp_legal . "</em>)</a>"; } else { $tab_result_recherche['eleve'][$cpt_eleve]['td_resp'] .= $lig_resp->civilite . " " . $lig_resp->nom . " " . $lig_resp->prenom . " (" . $lig_resp->resp_legal . ")"; } $cpt_resp++; } } } //$compteur_personnes_trouvees++; $cpt_eleve++; } } }
} if (isset($_POST['mode_rech_no_gep']) && $_POST['mode_rech_no_gep'] == 'contient' || isset($_GET['mode_rech_no_gep']) && $_GET['mode_rech_no_gep'] == 'contient') { $mode_rech_no_gep = "contient"; } $motif_rech_mef = isset($_POST['motif_rech_mef']) ? $_POST['motif_rech_mef'] : (isset($_GET['motif_rech_mef']) ? $_GET['motif_rech_mef'] : NULL); if ($_SESSION['statut'] == 'professeur') { /* $calldata = mysql_query("SELECT DISTINCT e.* FROM eleves e, j_eleves_professeurs jep WHERE ( jep.login=e.login AND jep.professeur='".$_SESSION['login']."' AND jep.id_classe='$quelles_classes' ) ORDER BY $order_type"); */ if (getSettingAOui('GepiAccesPPTousElevesDeLaClasse') && is_pp($_SESSION['login'], $quelles_classes)) { $sql = "SELECT DISTINCT e.*,jer.* FROM eleves e, j_eleves_regime jer, j_eleves_professeurs jep\n\t\t\tWHERE (\n\t\t\tjep.login=e.login AND\n\t\t\tjer.login=e.login AND\n\t\t\tjep.id_classe='{$quelles_classes}'\n\t\t\t)\n\t\t\tORDER BY {$order_type};"; } else { $sql = "SELECT DISTINCT e.*,jer.* FROM eleves e, j_eleves_professeurs jep, j_eleves_regime jer\n\t\t\tWHERE (\n\t\t\tjep.login=e.login AND\n\t\t\tjer.login=e.login AND\n\t\t\tjep.professeur='" . $_SESSION['login'] . "' AND\n\t\t\tjep.id_classe='{$quelles_classes}'\n\t\t\t)\n\t\t\tORDER BY {$order_type};"; } $calldata = mysqli_query($GLOBALS["mysqli"], $sql); if (!isset($page_courante) || $page_courante != "modify_eleve") { echo "<p align='center'>Liste des élèves de la classe choisie.</p>\n"; } else { // Message alternatif depuis modify_eleve.php } } else { if ($quelles_classes == 'certaines') { /* $calldata = mysql_query("SELECT DISTINCT e.* FROM eleves e, tempo t, j_eleves_classes j, classes cl WHERE (t.num = '".SESSION_ID()."' AND
function affiche_choix_action_conseil_de_classe($id_classe, $target = "") { global $gepiPath, $mes_groupes; if ($target != "") { $target = " target='{$target}'"; } $sql = "SELECT c.classe, p.* FROM periodes p, classes c WHERE p.id_classe='{$id_classe}' AND p.id_classe=c.id ORDER BY p.num_periode;"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) == 0) { $retour = "<p class='bold'>Bulletins et conseil de classe : <span style='color:red'>Classe n+{$id_classe} inconnue</span></p>"; } else { $tab_per = array(); while ($lig = mysqli_fetch_object($res)) { $tab_per[$lig->num_periode]['nom_periode'] = $lig->nom_periode; $tab_per[$lig->num_periode]['verouiller'] = $lig->verouiller; $nom_classe = $lig->classe; } $retour = "<p class='bold'>Bulletins et conseil de classe : {$nom_classe}</p>\n<table class='boireaus boireaus_alt'>\n\t<thead>\n\t\t<tr>\n\t\t\t<th>Action</th>"; foreach ($tab_per as $current_num_periode => $periode) { $retour .= "\n\t\t\t<th>" . $periode['nom_periode'] . "</th>"; } $retour .= "\n\t\t</tr>\n\t</thead>\n\t<tbody>"; if ($_SESSION['statut'] == 'scolarite' || $_SESSION['statut'] == 'secours' || $_SESSION['statut'] == 'professeur' && is_pp($_SESSION['login'], $id_classe)) { // Saisie de l'avis du conseil $retour .= "\n\t\t<tr>\n\t\t\t<td>Saisir l'avis du conseil de classe :</td>"; foreach ($tab_per as $current_num_periode => $periode) { if ($periode['verouiller'] != 'O') { $retour .= "\n\t\t\t<td><a href='{$gepiPath}/saisie/saisie_avis1.php?id_classe={$id_classe}'{$target}><img src='{$gepiPath}/images/saisie_avis1.png' class='icone32' alt='Saisir' /></a></td>"; } else { $retour .= "\n\t\t\t<td style='background-color:gray' title=\"Période close\"><img src='{$gepiPath}/images/disabled.png' class='icone20' alt='Clos' /></td>"; } } $retour .= "\n\t\t</tr>"; // Impression avis du conseil $retour .= "\n\t\t<tr>\n\t\t\t<td>Imprimer les avis du conseil de classe :</td>"; foreach ($tab_per as $current_num_periode => $periode) { $sql = "SELECT DISTINCT a.login FROM avis_conseil_classe a, j_eleves_classes jec WHERE jec.login=a.login AND jec.periode=a.periode AND jec.id_classe='{$id_classe}' AND a.periode='{$current_num_periode}' AND avis!='';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) == 0) { $retour .= "\n\t\t\t<td title=\"Aucun avis n'est saisi pour cette période.\"></td>"; } else { $retour .= "\n\t\t\t<td><a href='{$gepiPath}/impression/avis_pdf.php?id_classe={$id_classe}&periode_num={$current_num_periode}'{$target}><img src='{$gepiPath}/images/icons/pdf.png' class='icone32' alt='Saisir' /></a></td>"; } } $retour .= "\n\t\t</tr>"; // Affichage Appréciations sur le groupe classe $retour .= "\n\t\t<tr>\n\t\t\t<td>Imprimer les appréciations des professeurs sur le groupe classe :</td>"; foreach ($tab_per as $current_num_periode => $periode) { $sql = "SELECT DISTINCT mag.id_groupe FROM matieres_appreciations_grp mag, j_groupes_classes jgc WHERE jgc.id_groupe=mag.id_groupe AND jgc.id_classe='{$id_classe}' AND mag.periode='{$current_num_periode}' AND appreciation!='' AND appreciation!='-';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) == 0) { $retour .= "\n\t\t\t<td title=\"Aucune appréciation sur le groupe-classe n'est saisie pour cette période.\"></td>"; } else { $retour .= "\n\t\t\t<td><a href='{$gepiPath}/prepa_conseil/edit_limite.php?choix_edit=4&id_classe={$id_classe}&periode1={$current_num_periode}&periode2={$current_num_periode}&couleur_alterne=y' target='_blank'><img src='{$gepiPath}/images/icons/bulletin.png' class='icone32' alt='AppGrp' /></a></td>"; } } $retour .= "\n\t\t</tr>"; // Imprimer les documents de prise de notes à destination des élèves délégués pendant le conseil de classe if (getSettingAOui('active_mod_engagements')) { $retour .= "\n\t\t<tr>\n\t\t\t<td>Imprimer les grilles/listes destinées à la prise de notes pendant le conseil de classe :</td>"; foreach ($tab_per as $current_num_periode => $periode) { $retour .= "\n\t\t\t<td><a href='{$gepiPath}/mod_engagements/imprimer_documents.php?id_classe[0]={$id_classe}&periode={$current_num_periode}&imprimer_liste_eleve=y&destinataire=" . add_token_in_url() . "'{$target}><img src='{$gepiPath}/images/icons/ods.png' class='icone32' alt='ODS' /></a></td>"; } $retour .= "\n\t\t</tr>"; } } // Bulletins,... if ($_SESSION['statut'] == 'scolarite' || $_SESSION['statut'] == 'professeur') { //Toutes les moyennes d'une classe // Bulletins simplifiés // Graphes $retour .= "\n\t\t<tr>\n\t\t\t<td>Toutes les moyennes de la classe :</td>"; foreach ($tab_per as $current_num_periode => $periode) { /* $retour.=" <td><a href='$gepiPath/prepa_conseil/index2.php?id_classe=$id_classe'$target><img src='$gepiPath/images/icons/releve.png' class='icone32' alt='Moyennes' /></a></td>"; */ $retour .= "\n\t\t\t<td><a href='{$gepiPath}/prepa_conseil/visu_toutes_notes.php?id_classe={$id_classe}&num_periode={$current_num_periode}&couleur_alterne=y' target='_blank'><img src='{$gepiPath}/images/icons/releve.png' class='icone32' alt='Moyennes' /></a></td>"; } $retour .= "\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>Bulletins simplifiés :</td>"; foreach ($tab_per as $current_num_periode => $periode) { //https://127.0.0.1/steph/gepi_git_trunk/prepa_conseil/edit_limite.php?choix_edit=2&login_eleve=boivinj&id_classe=42&periode1=3&periode2=3 /* $retour.=" <td><a href='$gepiPath/prepa_conseil/index3.php?id_classe=$id_classe&couleur_alterne=y'$target><img src='$gepiPath/images/icons/bulletin_simp.png' class='icone32' alt='BullSimp' /></a></td>"; */ $retour .= "\n\t\t\t<td><a href='{$gepiPath}/prepa_conseil/edit_limite.php?choix_edit=1&id_classe={$id_classe}&periode1={$current_num_periode}&periode2={$current_num_periode}&couleur_alterne=y' target='_blank'><img src='{$gepiPath}/images/icons/bulletin_simp.png' class='icone32' alt='BullSimp' /></a></td>"; } $retour .= "\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>Graphes :</td>"; foreach ($tab_per as $current_num_periode => $periode) { $retour .= "\n\t\t\t<td><a href='{$gepiPath}/visualisation/affiche_eleve.php?id_classe={$id_classe}&num_periode_choisie={$current_num_periode}'{$target} title=\"Voir les graphes de la classe en période {$current_num_periode}\"><img src='{$gepiPath}/images/icons/graphes.png' class='icone32' alt='Graphes' /></a></td>"; } $retour .= "\n\t\t</tr>"; } if ($_SESSION['statut'] == 'professeur') { if (!isset($mes_groupes) || count($mes_groupes) == 0) { $mes_groupes = get_groups_for_prof($_SESSION['login'], NULL, array('classes', 'periodes', 'visibilite')); } $tab_mes_groupes_avec_bulletin_dans_cette_classe = array(); foreach ($mes_groupes as $tmp_group) { if (isset($tmp_group["classes"]["classes"][$id_classe]) && (!isset($tmp_group['visibilite']['bulletins']) || $tmp_group['visibilite']['bulletins'] != "n")) { $tab_mes_groupes_avec_bulletin_dans_cette_classe[] = $tmp_group; } } $ajout_title_saisie_app = ""; if (getSettingAOui('autoriser_correction_bulletin')) { $ajout_title_saisie_app = ", proposer des corrections de mes appréciations."; } // Saisie des notes // Saisie des appréciations for ($loop = 0; $loop < count($tab_mes_groupes_avec_bulletin_dans_cette_classe); $loop++) { $retour .= "\n\t\t<tr>\n\t\t\t<td>" . $tab_mes_groupes_avec_bulletin_dans_cette_classe[$loop]['name'] . " :</td>"; foreach ($tab_per as $current_num_periode => $periode) { if ($periode['verouiller'] == 'N') { $retour .= "\n\t\t\t<td>\n\t\t\t\t<a href='{$gepiPath}/saisie/saisie_notes.php?id_groupe=" . $tab_mes_groupes_avec_bulletin_dans_cette_classe[$loop]['id'] . "'{$target}><img src='{$gepiPath}/images/icons/bulletin_note_saisie.png' class='icone32' alt='Saisir note' /></a> \n\t\t\t\t<a href='{$gepiPath}/saisie/saisie_appreciations.php?id_groupe=" . $tab_mes_groupes_avec_bulletin_dans_cette_classe[$loop]['id'] . "'{$target}><img src='{$gepiPath}/images/icons/bulletin_app_saisie.png' class='icone32' alt='Saisir app' /></a> \n\t\t\t\t<a href='{$gepiPath}/prepa_conseil/index1.php?id_groupe=" . $tab_mes_groupes_avec_bulletin_dans_cette_classe[$loop]['id'] . "'{$target} title=\"Voir/imprimer mes moyennes et appréciations\"><img src='{$gepiPath}/images/icons/bulletin_visu.png' class='icone32' alt='Mes moy et app' /></a> \n\t\t\t</td>"; } else { $retour .= "\n\t\t\t<td style='background-color:gray' title=\"Période close\">\n\t\t\t\t<a href='{$gepiPath}/saisie/saisie_notes.php?id_groupe=" . $tab_mes_groupes_avec_bulletin_dans_cette_classe[$loop]['id'] . "'{$target} title=\"Voir mes moyennes\"><img src='{$gepiPath}/images/icons/bulletin_note_visu.png' class='icone32' alt='Visu note' /></a> \n\t\t\t\t<a href='{$gepiPath}/saisie/saisie_appreciations.php?id_groupe=" . $tab_mes_groupes_avec_bulletin_dans_cette_classe[$loop]['id'] . "'{$target} title=\"Voir mes appréciations" . $ajout_title_saisie_app . "\"><img src='{$gepiPath}/images/icons/bulletin_app_visu.png' class='icone32' alt='Visu app' /></a> \n\t\t\t\t<a href='{$gepiPath}/prepa_conseil/index1.php?id_groupe=" . $tab_mes_groupes_avec_bulletin_dans_cette_classe[$loop]['id'] . "'{$target} title=\"Voir/imprimer mes moyennes et appréciations\"><img src='{$gepiPath}/images/icons/bulletin_visu.png' class='icone32' alt='Mes moy et app' /></a> \n\t\t\t</td>"; } } } $retour .= "\n\t\t</tr>"; } // Cas secours à traiter aussi $retour .= "\n\t</tbody>\n</table>"; } return $retour; }
function affiche_lien_proposition_ou_correction_appreciation($current_eleve_login, $current_id_eleve, $current_eleve_prenom, $current_eleve_nom, $current_group, $id_classe, $nb, $liste_profs_du_groupe, $tab_mes_groupes, $tab_afficher_liens_modif_app) { //global $tab_mes_groupes; //global $tab_afficher_liens_modif_app; global $inclusion_depuis_graphes; $ajout = ""; if ($inclusion_depuis_graphes == "y") { $ajout = "afficher_div('div_bull_simp','y',-100,-200); affiche_bull_simp('{$current_eleve_login}','{$id_classe}','{$nb}','{$nb}');"; } $retour = ""; if ($_SESSION['statut'] == 'professeur' && in_array($current_group['id'], $tab_mes_groupes)) { if ($current_group["classe"]["ver_periode"][$id_classe][$nb] == 'N') { $retour .= "<a href='#' onclick=\"" . $ajout . "modifier_une_appreciation('{$current_eleve_login}', '{$current_id_eleve}', '" . $current_group['id'] . "', '{$liste_profs_du_groupe}', '{$nb}', 'corriger') ;return false;\" title=\"Modifier l'appréciation en période {$nb} pour {$current_eleve_prenom} {$current_eleve_nom}.\nSi vous vous apercevez que vous avez fait une faute de frappe, ou si vous souhaitez modifier votre appréciation, ce lien est là pour ça.\" class='noprint' target='_blank'><img src='../images/edit16.png' width='16' height='16' /></a> "; } elseif (isset($tab_afficher_liens_modif_app[$current_group['id']][$nb])) { if ($tab_afficher_liens_modif_app[$current_group['id']][$nb] == 'y') { $retour .= "<a href='#' onclick=\"" . $ajout . "modifier_une_appreciation('{$current_eleve_login}', '{$current_id_eleve}', '" . $current_group['id'] . "', '{$liste_profs_du_groupe}', '{$nb}', 'proposer') ;return false;\" title=\"Proposer une correction de l'appréciation en période {$nb} pour {$current_eleve_prenom} {$current_eleve_nom}.\nSi vous vous apercevez que vous avez fait une faute de frappe, ou si vous souhaitez simplement modifier votre appréciation, ce lien est là pour ça.\" class='noprint' target='_blank'><img src='../images/edit16.png' width='16' height='16' /></a> "; } elseif ($tab_afficher_liens_modif_app[$current_group['id']][$nb] == 'yy') { $retour .= "<a href='#' onclick=\"" . $ajout . "modifier_une_appreciation('{$current_eleve_login}', '{$current_id_eleve}', '" . $current_group['id'] . "', '{$liste_profs_du_groupe}', '{$nb}', 'corriger') ;return false;\" title=\"Modifier l'appréciation en période {$nb} pour {$current_eleve_prenom} {$current_eleve_nom}.\nSi vous vous apercevez que vous avez fait une faute de frappe, ou si vous souhaitez modifier votre appréciation, ce lien est là pour ça.\" class='noprint' target='_blank'><img src='../images/edit16.png' width='16' height='16' /></a> "; } //echo "plop"; } } elseif ($_SESSION['statut'] == 'professeur' && (getSettingAOui('GepiAccesPPTousElevesDeLaClasse') && is_pp($_SESSION['login'], $id_classe) || is_pp($_SESSION['login'], $id_classe, $current_eleve_login))) { if (getSettingAOui('PeutAutoriserPPaCorrigerSesApp')) { if (acces_correction_app_pp($current_group['id'])) { if ($current_group["classe"]["ver_periode"][$id_classe][$nb] != 'O') { $retour .= "<a href='#' onclick=\"" . $ajout . "modifier_une_appreciation('{$current_eleve_login}', '{$current_id_eleve}', '" . $current_group['id'] . "', '{$liste_profs_du_groupe}', '{$nb}', 'corriger') ;return false;\" title=\"Modifier l'appréciation en période {$nb} pour {$current_eleve_prenom} {$current_eleve_nom}.\nSi vous vous apercevez d'une faute de frappe, ou si vous souhaitez modifier l'appréciation, ce lien est là pour ça.\nLe professeur recevra un mail l'informant de la modification.\" class='noprint' target='_blank'><img src='../images/edit16.png' width='16' height='16' /></a> "; } } } } elseif ($_SESSION['statut'] == 'scolarite' && getSettingAOui('AccesModifAppreciationScol')) { if ($current_group["classe"]["ver_periode"][$id_classe][$nb] != 'O') { $retour .= "<a href='#' onclick=\"" . $ajout . "modifier_une_appreciation('{$current_eleve_login}', '{$current_id_eleve}', '" . $current_group['id'] . "', '{$liste_profs_du_groupe}', '{$nb}', 'corriger') ;return false;\" title=\"Modifier l'appréciation en période {$nb} pour {$current_eleve_prenom} {$current_eleve_nom}.\nSi vous vous apercevez d'une faute de frappe, ou si vous souhaitez modifier l'appréciation, ce lien est là pour ça.\nLe professeur recevra un mail l'informant de la modification.\" class='noprint' target='_blank'><img src='../images/edit16.png' width='16' height='16' /></a> "; } } return $retour; }
echo " document.forms.formulaire.debut.value=eval(debut)+eval(limit);\n"; } echo " } document.forms.formulaire.submit(); } </script>\n"; //====================================== echo "<p align='center'><input type='submit' name='valider' value='Valider' /></p>\n"; $prof_is_pp="n"; if($_SESSION['statut']=='professeur') { $prof_is_pp=is_pp($_SESSION['login']); } echo "<table class='boireaus' border='1' summary='".ucfirst($mod_disc_terme_incident)."s'>\n"; echo "<tr>\n"; echo "<th>Id</th>\n"; echo "<th>Date\n"; echo "<br />\n"; echo "<select name='date_incident' onchange=\"document.formulaire.submit();\">\n"; echo "<option value=''>---</option>\n"; if(($_SESSION['statut']=='professeur')) { $sql="(SELECT DISTINCT si.date FROM s_incidents si, s_protagonistes sp WHERE (sp.login='******'login']."' OR si.declarant='".$_SESSION['login']."') AND sp.id_incident=si.id_incident)"; if($prof_is_pp) { $sql.=" UNION (SELECT DISTINCT si.date FROM s_incidents si, s_protagonistes sp, j_eleves_professeurs jep WHERE jep.login=sp.login AND jep.professeur='".$_SESSION['login']."' AND sp.id_incident=si.id_incident)"; }
echo "Du {$display_date_debut} au {$display_date_fin}<br />\n"; echo "<a href=\"javascript:CocheColonneSelectEleves(" . $i . ",'" . $periode . "');\"><img src='../images/enabled.png' class='icone15' alt='Cocher tous les élèves' /></a> / <a href=\"javascript:DecocheColonneSelectEleves(" . $i . ",'" . $periode . "');\"><img src='../images/disabled.png' class='icone15' alt='Décocher tous les élèves' /></a>\n"; echo "</th>\n"; } echo "</tr>\n"; if ($_SESSION['statut'] == 'scolarite' and getSettingValue("GepiAccesReleveScol") == "yes") { $sql = "SELECT DISTINCT e.* FROM eleves e,\n\t\t\t\t\t\t\tj_eleves_classes jec\n\t\t\t\tWHERE jec.login=e.login AND\n\t\t\t\t\t\t\tjec.id_classe='" . $tab_id_classe[$i] . "'\n\t\t\t\tORDER BY e.nom,e.prenom;"; } elseif ($_SESSION['statut'] == 'cpe' and getSettingValue("GepiAccesReleveCpeTousEleves") == "yes") { $sql = "SELECT DISTINCT e.* FROM eleves e,\n\t\t\t\t\t\t\tj_eleves_classes jec\n\t\t\t\tWHERE jec.login=e.login AND\n\t\t\t\t\t\tjec.id_classe='" . $tab_id_classe[$i] . "'\n\t\t\t\tORDER BY e.nom,e.prenom;"; } elseif ($_SESSION['statut'] == 'cpe' and getSettingValue("GepiAccesReleveCpe") == "yes") { $sql = "SELECT DISTINCT e.* FROM eleves e,\n\t\t\t\t\t\t\tj_eleves_classes jec,\n\t\t\t\t\t\t\tj_eleves_cpe jecpe\n\t\t\t\tWHERE jec.login=e.login AND\n\t\t\t\t\t\tjecpe.e_login=e.login AND\n\t\t\t\t\t\tjecpe.cpe_login='******'login'] . "' AND\n\t\t\t\t\t\tjec.id_classe='" . $tab_id_classe[$i] . "'\n\t\t\t\tORDER BY e.nom,e.prenom;"; } elseif ($_SESSION['statut'] == 'professeur' and getSettingValue("GepiAccesReleveProf") == "yes" || getSettingValue("GepiAccesReleveProfTousEleves") == "yes" || getSettingValue("GepiAccesReleveProfToutesClasses") == "yes") { $sql = "SELECT DISTINCT e.* FROM eleves e,\n\t\t\t\t\t\t\tj_eleves_classes jec\n\t\t\t\tWHERE jec.login=e.login AND\n\t\t\t\t\t\t\tjec.id_classe='" . $tab_id_classe[$i] . "'\n\t\t\t\tORDER BY e.nom,e.prenom;"; // On fait le filtrage des élèves plus bas dans le cas du prof } elseif ($_SESSION['statut'] == 'professeur' && getSettingValue("GepiAccesReleveProfP") == "yes") { if (is_pp($_SESSION['login'], $tab_id_classe[$i])) { if (getSettingAOui('GepiAccesPPTousElevesDeLaClasse')) { // Le prof est PP de la classe, on lui donne l'accès à tous les élèves de la classe $sql = "SELECT DISTINCT e.* FROM eleves e,\n\t\t\t\t\t\t\t\t\tj_eleves_classes jec\n\t\t\t\t\t\tWHERE jec.login=e.login AND\n\t\t\t\t\t\t\t\t\tjec.id_classe='" . $tab_id_classe[$i] . "'\n\t\t\t\t\t\tORDER BY e.nom,e.prenom;"; } else { // Le prof est PP d'au moins une partie des élèves de la classe $sql = "SELECT DISTINCT e.* FROM eleves e,\n\t\t\t\t\t\t\t\t\tj_eleves_classes jec,\n\t\t\t\t\t\t\t\t\tj_eleves_professeurs jep\n\t\t\t\t\t\tWHERE jec.login=e.login AND\n\t\t\t\t\t\t\t\tjec.login=jep.login AND\n\t\t\t\t\t\t\t\tjep.professeur='" . $_SESSION['login'] . "' AND\n\t\t\t\t\t\t\t\tjec.id_classe='" . $tab_id_classe[$i] . "'\n\t\t\t\t\t\tORDER BY e.nom,e.prenom;"; $test_acces = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($test_acces) == 0) { // On pourrait mettre un tentative_intrusion() $gepi_prof_suivi = ucfirst(retourne_denomination_pp($tab_id_classe[$i])); echo "<p>Vous n'êtes pas " . $gepi_prof_suivi . " de cette classe, donc pas autorisé à accéder aux relevés de notes de ces élèves.</p>\n"; require "../lib/footer.inc.php"; die; } }
echo "</a>"; } else { echo "<a href=\"../prepa_conseil/edit_limite.php?choix_edit=2&login_eleve=".$eleve1."&id_classe=$id_classe&periode1=$num_periode_choisie&periode2=$num_periode_choisie\" onclick=\"afficher_div('div_bull_simp','y',-100,-200); "; //echo "affiche_bull_simp('$eleve1','$id_classe','$num_periode_choisie','$num_periode_choisie');"; echo "return false;\" target=\"_blank\" title=\"Voir en infobulle dans la page courante le bulletin simplifié de la période $num_periode_choisie.\">"; //echo "Voir le bulletin simplifié"; echo "<img src='../images/icons/bulletin_16.png' class='icone16' alt='Bulletin simpl.' />Voir le bulletin simpl."; //echo "<img src='../images/icons/bulletin_simp.png' width='17' height='17' alt='Bulletin simple toutes périodes en infobulle' title='Bulletin simple toutes périodes en infobulle' />"; echo "</a>"; } } if(($_SESSION['statut']=='scolarite')|| (($_SESSION['statut']=='professeur')&&(getSettingAOui('GepiProfImprBul'))&&(is_pp($_SESSION['login'], $id_classe))) ) { $type_bulletin_par_defaut=getSettingValue('type_bulletin_par_defaut'); if(($type_bulletin_par_defaut!='html')&&($type_bulletin_par_defaut!='pdf')) {$type_bulletin_par_defaut='html';} for($loop_per=1;$loop_per<$nb_periode;$loop_per++) { echo " - <a href='../bulletin/bull_index.php?mode_bulletin=".$type_bulletin_par_defaut."&type_bulletin=-1&choix_periode_num=fait&valide_select_eleves=y&tab_selection_ele_0_0[0]=".$eleve1."&tab_id_classe[0]=".$id_classe."&tab_periode_num[0]=".$loop_per."' target='_blank' title=\"Voir dans un nouvel onglet le bulletin de la période ".$loop_per."\">P".$loop_per."</a>"; /* A AJOUTER &intercaler_releve_notes=y A CREER/PRENDRE EN COMPTE: ¶m_rn_defaut=y pour récupérer les paramètres de la classe. */
//++++++++++++++++++++++++++++++ if (getSettingAOui('rss_cdt_eleve') || getSettingAOui('rss_cdt_responsable')) { if ($_SESSION['statut'] == 'administrateur') { $test_https = 'y'; if (!isset($_SERVER['HTTPS']) or isset($_SERVER['HTTPS']) and strtolower($_SERVER['HTTPS']) != "on" or isset($_SERVER['X-Forwaded-Proto']) and $_SERVER['X-Forwaded-Proto'] != "https") { $test_https = 'n'; } echo "<div style='text-align:right;'>\n"; $uri_el = retourneUri($ele_login, $test_https, 'cdt'); if ($uri_el['uri'] != "#") { echo "<a href='" . $uri_el['uri'] . "' title='Flux RSS du cahier de textes de cet élève' target='_blank'><img src='../images/icons/rss.png' width='16' height='16' /></a>"; } else { echo "<a href='../cahier_texte_admin/rss_cdt_admin.php#rss_initialisation_cas_par_cas' target='_blank' title=\"Le flux RSS du cahier de textes de cet élève n'est pas initialisé. Cliquez pour accéder au paramétrage du module RSS et créer le flux de cet élève\"><img src='../images/icons/rss_non_initialise.png' width='16' height='16' /></a>"; } echo "</div>\n"; } elseif ($_SESSION['statut'] == 'scolarite' && getSettingAOui('rss_cdt_scol') || $_SESSION['statut'] == 'cpe' && getSettingAOui('rss_cdt_cpe') || $_SESSION['statut'] == 'professeur' && getSettingAOui('rss_cdt_pp') && is_pp($_SESSION['login'], "", $ele_login)) { $test_https = 'y'; if (!isset($_SERVER['HTTPS']) or isset($_SERVER['HTTPS']) and strtolower($_SERVER['HTTPS']) != "on" or isset($_SERVER['X-Forwaded-Proto']) and $_SERVER['X-Forwaded-Proto'] != "https") { $test_https = 'n'; } echo "<div style='text-align:right;'>\n"; $uri_el = retourneUri($ele_login, $test_https, 'cdt'); if ($uri_el['uri'] != "#") { echo "<a href='" . $uri_el['uri'] . "' title='Flux RSS du cahier de textes de cet élève' target='_blank'><img src='../images/icons/rss.png' width='16' height='16' /></a>"; } else { echo "<img src='../images/icons/rss_non_initialise.png' width='16' height='16' title=\"Le flux RSS du cahier de textes de cet élève n'est pas initialisé. Contactez l'administrateur\" />"; } echo "</div>\n"; } } echo "</div>\n";
} else { $msg.="Action $action[$i] invalide.<br />"; } } } else { $msg.="Des caractères invalides sont proposés pour $enregistrement[$i].<br />"; } } } else { $current_nom_prenom_eleve=get_nom_prenom_eleve($current_login_ele); $poursuivre="y"; if(($_SESSION['statut']=='professeur')&&(!is_pp($_SESSION['login'], "", $current_login_ele))) { $poursuivre="n"; $msg.="Vous n'êtes pas ".getSettingValue('gepi_prof_suivi')." de ".$current_nom_prenom_eleve."<br />"; } if($poursuivre=="y") { if((mb_strlen(preg_replace('/[A-Za-z0-9._-]/','',$current_login_ele))==0)&& (mb_strlen(preg_replace('/[0-9]/','',$current_id_groupe))==0)&& (mb_strlen(preg_replace('/[0-9]/','',$current_periode))==0)) { if ((isset($action[$i]))&&(in_array($action[$i],$tab_actions_valides))) { if (isset($NON_PROTECT["appreciation".$i])) { $app = traitement_magic_quotes(corriger_caracteres($NON_PROTECT["appreciation".$i])); // Contrôle des saisies pour supprimer les sauts de lignes surnuméraires. $app=suppression_sauts_de_lignes_surnumeraires($app);
(getSettingAOui('AccesDetailConnexionRespProfP')) )) { $sql="SELECT DISTINCT c.id,c.classe FROM classes c, j_eleves_classes jec, j_eleves_professeurs jep WHERE jep.professeur = '".$_SESSION['login']."' AND jep.login=jec.login AND jec.id_classe=c.id ORDER BY c.classe"; } else { header("Location: ./index.php?msg=Aucune classe n'a été trouvée pour vous."); die(); } } elseif($mode==3) { if((getSettingAOui('AccesStatConnexionEleProfesseur'))|| (getSettingAOui('AccesDetailConnexionEleProfesseur')) ) { $sql="SELECT DISTINCT c.id,c.classe FROM classes c,j_groupes_classes jgc, j_groupes_professeurs jgp WHERE jgp.login = '******'login']."' AND jgp.id_groupe=jgc.id_groupe AND jgc.id_classe=c.id ORDER BY c.classe"; } elseif((is_pp($_SESSION['login']))&&( (getSettingAOui('AccesStatConnexionEleProfP'))|| (getSettingAOui('AccesDetailConnexionEleProfP')) )) { $sql="SELECT DISTINCT c.id,c.classe FROM classes c, j_eleves_classes jec, j_eleves_professeurs jep WHERE jep.professeur = '".$_SESSION['login']."' AND jep.login=jec.login AND jec.id_classe=c.id ORDER BY c.classe"; } else { header("Location: ./index.php?msg=Aucune classe n'a été trouvée pour vous."); die(); } } else { // On ne devrait pas arriver là $sql="SELECT DISTINCT c.id,c.classe FROM classes c,j_groupes_classes jgc, j_groupes_professeurs jgp WHERE jgp.login = '******'login']."' AND jgp.id_groupe=jgc.id_groupe AND jgc.id_classe=c.id ORDER BY c.classe"; } }
$csv .= "{$eleve_login};"; echo "<td>"; if ($_SESSION['statut'] == 'administrateur') { $avec_lien = "y"; } else { $avec_lien = "n"; } $lien_image_compte_utilisateur = lien_image_compte_utilisateur($eleve_login, "eleve", "", $avec_lien); if ($lien_image_compte_utilisateur != "") { $correspondance_sso = temoin_compte_sso($eleve_login); if ($correspondance_sso != "") { echo "<div style='float:right; width: 16px'>" . $correspondance_sso . "</div>"; } echo "<div style='float:right; width: 16px'>" . $lien_image_compte_utilisateur . "</div>"; } if ($_SESSION['statut'] == 'administrateur' || $_SESSION['statut'] == 'scolarite' || $_SESSION['statut'] == 'autre' || $_SESSION['statut'] == 'cpe' && getSettingAOui('GepiAccesTouteFicheEleveCpe') || $_SESSION['statut'] == 'cpe' && is_cpe($_SESSION['login'], '', $eleve_login) || $_SESSION['statut'] == 'professeur' && is_pp($_SESSION['login'], "", $eleve_login) && getSettingAOui('GepiAccesGestElevesProfP') || getSettingAOui('GepiAccesPPTousElevesDeLaClasse') && is_pp($_SESSION['login'], $quelles_classes)) { echo "<p><a href='modify_eleve.php?eleve_login={$eleve_login}&quelles_classes={$quelles_classes}&order_type={$order_type}"; if (isset($motif_rech)) { echo "&motif_rech={$motif_rech}"; } if (isset($mode_rech)) { echo "&mode_rech={$mode_rech}"; } echo "'>{$eleve_nom} {$eleve_prenom}</a>"; } else { echo "{$eleve_nom} {$eleve_prenom}"; } $csv .= "{$eleve_nom} {$eleve_prenom};"; if ($date_sortie_elv != 0) { echo "<br/>"; echo "<span class=\"red\"><b>Sortie le " . affiche_date_sortie($date_sortie_elv) . "</b></span>";
* along with GEPI; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * */ // ====== SECURITE ======= if (!$_SESSION["login"]) { header("Location: ../logout.php?auto=2"); die; } // Fonction générant le menu Plugins include "tbs_menu_plugins.inc.php"; $nom_ou_description_groupe_barre_h = getPref($_SESSION['login'], "nom_ou_description_groupe_barre_h", "name"); //echo "nom_ou_description_groupe_barre_h=$nom_ou_description_groupe_barre_h<br />"; $utiliserMenuBarreLight = getSettingValue("utiliserMenuBarre") == 'light' || getPref($_SESSION["login"], "utiliserMenuBarre", "yes") == "light" ? "yes" : "no"; $is_pp_header_barre_prof_template = is_pp($_SESSION['login']); //======================================================= $mes_groupes = get_groups_for_prof($_SESSION['login'], NULL, array('classes', 'periodes', 'visibilite')); $tmp_mes_classes = array(); $tmp_mes_classes_pp = array(); foreach ($mes_groupes as $tmp_group) { foreach ($tmp_group["classes"]["classes"] as $key_id_classe => $value_tab_classe) { if (!in_array($value_tab_classe['classe'], $tmp_mes_classes)) { $tmp_mes_classes[$key_id_classe] = $value_tab_classe['classe']; $tmp_mes_classes_pp[$key_id_classe] = ""; $sql = "SELECT DISTINCT u.nom,u.prenom,u.civilite FROM utilisateurs u, j_eleves_classes jec, j_eleves_professeurs jep WHERE u.login=jep.professeur AND jep.login=jec.login AND jec.id_classe='{$key_id_classe}' ORDER BY u.nom,u.prenom;"; $res = mysqli_query($mysqli, $sql); if ($res->num_rows > 0) { while ($lig = $res->fetch_object()) { if ($tmp_mes_classes_pp[$key_id_classe] != '') { $tmp_mes_classes_pp[$key_id_classe] .= ", ";
if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } //====================================================================================== include('lib_exb.php'); $id_exam=isset($_POST['id_exam']) ? $_POST['id_exam'] : (isset($_GET['id_exam']) ? $_GET['id_exam'] : NULL); $mode=isset($_POST['mode']) ? $_POST['mode'] : (isset($_GET['mode']) ? $_GET['mode'] : NULL); $acces_mod_exb_prof="n"; if($_SESSION['statut']=='professeur') { if(!is_pp($_SESSION['login'])) { // A FAIRE: AJOUTER UN tentative_intrusion()... header("Location: ../logout.php?auto=1"); die(); } if(getSettingValue('modExbPP')!='yes') { // A FAIRE: AJOUTER UN tentative_intrusion()... header("Location: ../logout.php?auto=1"); die(); } if((isset($id_exam))&&(!is_pp_proprio_exb($id_exam))) { header("Location: ../accueil.php?msg=".rawurlencode("Vous n'êtes pas propriétaire de l'examen blanc n°$id_exam.")); die(); }
} else { $sql_ele = "SELECT DISTINCT e.nom,e.prenom,e.login FROM eleves e,\n\t\t\t\t\t\t\t\t\t\t\t\tj_eleves_professeurs jep\n\t\t\t\t\t\t\t\t\tWHERE jep.id_classe='{$id_classe}' AND\n\t\t\t\t\t\t\t\t\t\t\tjep.login=e.login AND\n\t\t\t\t\t\t\t\t\t\t\tjep.professeur='" . $_SESSION['login'] . "'\n\t\t\t\t\t\t\t\t\tORDER BY e.nom,e.prenom"; } //echo "$sql_ele<br />"; } // On vérifie qu'il n'y a pas tentative d'accès illicite: if (isset($logineleve)) { $acces_pp = "n"; if (is_pp($_SESSION['login'], "", $logineleve)) { $acces_pp = "y"; } elseif (getSettingAOui('GepiAccesPPTousElevesDeLaClasse')) { $sql = "SELECT DISTINCT jec.id_classe FROM j_eleves_classes jec, classes c WHERE jec.id_classe=c.id AND jec.login='******' ORDER BY periode,classe;"; $res_class = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_class) > 0) { while ($lig_tmp = mysqli_fetch_object($res_class)) { if (is_pp($_SESSION['login'], $lig_tmp->id_classe)) { $acces_pp = "y"; break; } } } } if ($acces_pp != "y") { // A DEGAGER // A VOIR: Comment enregistrer une tentative d'accès illicite? //echo "$sql<br />"; tentative_intrusion(1, "Tentative d'un " . $_SESSION["statut"] . " (" . $_SESSION["login"] . ") d'accéder aux données d'Années antérieures de {$logineleve} dont il n'est pas " . getSettingValue("gepi_prof_suivi") . "."); header("Location: ../logout.php?auto=1"); die; } }
function is_pp_proprio_exb($id_exam, $mode = '') { $retour = true; $prof_login = $_SESSION['login']; $sql = "SELECT * FROM ex_classes WHERE id_exam='{$id_exam}';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) > 0) { while ($lig = mysqli_fetch_object($res)) { if (!is_pp($prof_login, $lig->id_classe)) { $retour = false; break; } } } /* elseif($mode=='index') { $retour=false; } */ // Inconvénient: Un PP peut supprimer les examens d'autres personnes tant qu'aucune classe n'est associée. return $retour; }
$nouveauItem->titre="Consulter les suites des ".$mod_disc_terme_incident."s" ; $nouveauItem->expli="Aucun ".$mod_disc_terme_incident." (<em>avec protagoniste</em>) vous concernant n'est encore déclaré." ; $nouveauItem->indexMenu=$a; $menuPage[]=$nouveauItem; } unset($nouveauItem); } } /* ===== Titre du menu ===== */ $acces_saisie_avertissement_fin_periode=acces_saisie_avertissement_fin_periode(""); if($_SESSION['statut']=='professeur') { $is_pp=is_pp($_SESSION['login']); } if(($acces_saisie_avertissement_fin_periode)|| (($_SESSION['statut']=='professeur')&&(getSettingAOui('imprDiscProfAvtOOo')))|| (($_SESSION['statut']=='professeur')&&($is_pp))&&(getSettingAOui('imprDiscProfPAvtOOo'))) { $menuTitre[]=new menuGeneral; end($menuTitre); $a = key($menuTitre); $menuTitre[$a]->classe='accueil'; $menuTitre[$a]->icone['chemin']='../images/icons/chercher.png'; $menuTitre[$a]->icone['titre']=''; $menuTitre[$a]->icone['alt']=""; $menuTitre[$a]->texte=$mod_disc_terme_avertissement_fin_periode; $menuTitre[$a]->indexMenu=$a;
protected function examenBlanc() { $this->b = 0; //insert into setting set name='active_mod_epreuve_blanche', value='y'; if (getSettingValue("active_mod_examen_blanc") == 'y') { $acces_mod_examen_blanc = "y"; if ($_SESSION['statut'] == 'professeur') { $acces_mod_examen_blanc = "n"; if (is_pp($_SESSION['login']) && getSettingValue('modExbPP') == 'yes') { $acces_mod_examen_blanc = "y"; } } if ($acces_mod_examen_blanc == "y") { $this->creeNouveauItem("/mod_examen_blanc/index.php", "Examens blancs", "Organisation d'examens blancs,..."); } } if ($this->b > 0) { $this->creeNouveauTitre('accueil', "Examens blancs", 'images/icons/document.png'); return true; } }
// Tous les élèves vont être affichés $sql="SELECT DISTINCT e.* FROM eleves e, j_eleves_classes j WHERE (j.id_classe = '$id_classe' and j.login=e.login) order by nom, prenom"; } elseif ($_SESSION['statut'] == "professeur" AND getSettingValue("GepiAccesBulletinSimpleProfTousEleves") != "yes" AND getSettingValue("GepiAccesBulletinSimpleProfToutesClasses") != "yes") { /* $sql="SELECT DISTINCT e.* " . "FROM eleves e, j_eleves_classes jec, j_eleves_groupes jeg, j_groupes_professeurs jgp " . "WHERE (" . "jec.id_classe='$id_classe' AND " . "e.login = jeg.login AND " . "jeg.login = jec.login AND " . "jeg.id_groupe = jgp.id_groupe AND " . "jgp.login = '******'login']."') " . "ORDER BY e.nom,e.prenom"; */ if(is_pp($_SESSION['login'], $id_classe)) { if(getSettingAOui('GepiAccesBulletinSimpleProf')) { $sql="(SELECT DISTINCT e.* " . "FROM eleves e, j_eleves_classes jec, j_eleves_groupes jeg, j_groupes_professeurs jgp " . "WHERE (" . "jec.id_classe='$id_classe' AND " . "e.login = jeg.login AND " . "jeg.login = jec.login AND " . "jeg.id_groupe = jgp.id_groupe AND " . "jgp.login = '******'login']."')) " . "UNION (SELECT DISTINCT e.* " . "FROM eleves e, j_eleves_classes jec, j_eleves_professeurs jep " . "WHERE (" . "jec.id_classe='$id_classe' AND " . "e.login = jep.login AND " . "jep.login = jec.login AND " .
$id_classe=isset($_POST['id_classe']) ? $_POST['id_classe'] : (isset($_GET['id_classe']) ? $_GET['id_classe'] : NULL); /* if((!isset($periode))||(!isset($login_ele))) { $mess=rawurlencode("L'élève ou la période n'a pas été choisie !"); header("Location: ../accueil.php?msg=$mess"); die(); } */ //debug_var(); if((isset($periode))&&(isset($login_ele))) { if($_SESSION['statut']=='professeur') { if((!getSettingAOui('saisieDiscProfPAvt'))||(!is_pp($_SESSION['login'], "", $login_ele))) { $mess=rawurlencode("Vous n'êtes pas ".getSettingValue('gepi_prof_suivi')." de ".get_nom_prenom_eleve($login_ele)." ou bien vous n'êtes pas autorisé à saisir les ".$mod_disc_terme_avertissement_fin_periode."s !"); tentative_intrusion(1, "Tentative d'accès à la saisie de $mod_disc_terme_avertissement_fin_periode pour l'élève ".get_nom_prenom_eleve($login_ele)."."); header("Location: ../accueil.php?msg=$mess"); die(); } } elseif($_SESSION['statut']=='scolarite') { if(!getSettingAOui('GepiRubConseilScol')) { $mess=rawurlencode("Vous n'êtes pas autorisé à saisir l'avis du bulletin !"); tentative_intrusion(1, "Tentative d'accès à la saisie de $mod_disc_terme_avertissement_fin_periode pour l'élève ".get_nom_prenom_eleve($login_ele)."."); header("Location: ../accueil.php?msg=$mess"); die(); } } elseif($_SESSION['statut']=='cpe') {
die; } if (!is_prof_ele($_SESSION['login'], $eleve_login)) { header("Location: ../accueil.php?msg=Vous n êtes pas professeur de l élève " . civ_nom_prenom($eleve_login)); die; } } } if (isset($GLOBALS['multisite']) and $GLOBALS['multisite'] == 'y') { // On récupère le RNE de l'établissement $rep_photos = "../photos/" . $_COOKIE['RNE'] . "/eleves/"; } else { $rep_photos = "../photos/eleves/"; } $is_pp = false; if ($_SESSION['statut'] == "professeur" && isset($eleve_login) && is_pp($_SESSION['login'], "", $eleve_login)) { $is_pp = true; // Est-ce que dans le cas false, un prof peut accéder à cette page? } if ($_SESSION['statut'] == "administrateur" || $_SESSION['statut'] == "scolarite") { // Le deuxième responsable prend l'adresse du premier if (isset($modif_adr_pers_id) && isset($adr_id)) { check_token(); $sql = "UPDATE resp_pers SET adr_id='{$adr_id}' WHERE pers_id='{$modif_adr_pers_id}';"; $update = mysqli_query($GLOBALS["mysqli"], $sql); if (!$update) { $msg = "Echec de la modification de l'adresse du deuxième responsable."; } } if (isset($eleve_login) && isset($_POST['ele_id']) && isset($_POST['add_resp_legal_0']) && isset($_POST['is_posted']) && $_POST['is_posted'] == 'add_resp_legal_0') { check_token();