//$message.=".\n"; $chaine_moy_manquante .= ".\n"; } } //$message.="\nLorsqu'un élève n'a pas de note, veuillez saisir un tiret '-' pour signaler qu'il n'y a pas d'oubli de saisie de votre part.\nEn revanche, s'il s'agit d'une erreur d'affectation, vous disposez, en mode Visualisation d'un carnet de notes, d'un lien 'Signaler des erreurs d affectation' pour alerter l'administrateur Gepi sur un problème d'affectation d'élèves.\n"; //$message.="\nJe vous serais reconnaissant(e) de bien vouloir les remplir rapidement.\n\nD'avance merci.\n-- \n".civ_nom_prenom($_SESSION['login']); $message = stripslashes($MsgMailVerifRemplissageBulletins); $message = preg_replace("/___NOM_PROF___/", $info_prof, $message); //$message=preg_replace("/___ENSEIGNEMENT___/", "", $message); //$message=preg_replace("/___LISTE_ELEVES___/", "", $message); $message = preg_replace("/___LIGNE_APPRECIATIONS_MANQUANTES___/", $chaine_app_manquante, $message); $message = preg_replace("/___LIGNE_MOYENNES_MANQUANTES___/", $chaine_moy_manquante, $message); if (isset($tab_date_conseil[$id_classe]['date'])) { $message = preg_replace("/___DATE_CONSEIL___/", formate_date($tab_date_conseil[$id_classe]['date'], "y2", "court"), $message); } $message = preg_replace("/___NOM_EMETTEUR___/", civ_nom_prenom($_SESSION['login']), $message); echo "<tr class='lig{$alt}'>\n"; echo "<td>\n"; if (in_array($login_prof, $tab_pp)) { echo "<div style='float:right; width:16px;margin:3px;' title=\"Ce professeur est " . $gepi_prof_suivi . " d'élèves de cette classe.\"><img src='../images/bulle_verte.png' width='9' height='9' alt=\"" . $gepi_prof_suivi . "\" /></div>"; } if ($tab_alerte_prof[$login_prof]['email'] != "") { if (check_mail($tab_alerte_prof[$login_prof]['email'])) { $tab_num_mail[] = $num; $sujet_mail = "[Gepi]: Appreciations et/ou moyennes manquantes"; echo "<a href='mailto:" . $tab_alerte_prof[$login_prof]['email'] . "?subject={$sujet_mail}&body=" . rawurlencode($message) . "'>" . $info_prof . "</a>"; echo "<input type='hidden' name='sujet_{$num}' id='sujet_{$num}' value=\"{$sujet_mail}\" />\n"; echo "<input type='hidden' name='mail_{$num}' id='mail_{$num}' value=\"" . $tab_alerte_prof[$login_prof]['email'] . "\" />\n"; } } else { echo $info_prof;
$tab_remplacements_a_venir_valides[$cpt]['id_creneau'] = $lig->id_creneau; $tab_remplacements_a_venir_valides[$cpt]['date_debut_r'] = $lig->date_debut_r; $tab_remplacements_a_venir_valides[$cpt]['date_fin_r'] = $lig->date_fin_r; $tab_remplacements_a_venir_valides[$cpt]['date_reponse'] = $lig->date_reponse; $tab_remplacements_a_venir_valides[$cpt]['login_user'] = $lig->login_user; $tab_remplacements_a_venir_valides[$cpt]['commentaire_prof'] = $lig->commentaire_prof; $tab_remplacements_a_venir_valides[$cpt]['validation_remplacement'] = $lig->validation_remplacement; $tab_remplacements_a_venir_valides[$cpt]['commentaire_validation'] = $lig->commentaire_validation; $tab_remplacements_a_venir_valides[$cpt]['salle'] = $lig->salle; $cpt++; } } if (count($tab_remplacements_a_venir_valides) == 0) { echo "<p>Aucun remplacement à venir n'est validé.</p>"; require "../lib/footer.inc.php"; die; } $tab_r = $tab_remplacements_a_venir_valides; echo "\n<p>Le ou les remplacements à venir suivants sont validés.<br />Vous pouvez en cas de contre-ordre les annuler.</p>\n<ul>"; for ($loop = 0; $loop < count($tab_r); $loop++) { echo "<li style='margin-bottom:0.5em;'>" . get_nom_classe($tab_r[$loop]['id_classe']) . " : " . formate_date($tab_r[$loop]['date_debut_r'], "n", "complet") . " de " . $tab_creneau[$tab_r[$loop]['id_creneau']]['debut_court'] . " à " . $tab_creneau[$tab_r[$loop]['id_creneau']]['fin_court'] . " (<em>" . $tab_creneau[$tab_r[$loop]['id_creneau']]['nom_creneau'] . "</em>)"; echo " (<em style='font-size:x-small;'>remplacement de " . get_info_grp($tab_r[$loop]['id_groupe']) . "</em>)"; echo "<br />"; if (!isset($civ_nom_prenom[$tab_r[$loop]['login_user']])) { $civ_nom_prenom[$tab_r[$loop]['login_user']] = civ_nom_prenom($tab_r[$loop]['login_user']); } echo $civ_nom_prenom[$tab_r[$loop]['login_user']] . " - <a href='" . $_SERVER['PHP_SELF'] . "?annuler_remplacement=" . $tab_r[$loop]['id'] . add_token_in_url() . "' onclick=\"return confirm_abandon (this, change, '" . $themessage . "')\">Annuler le remplacement</a></li>"; } echo "</ul>"; } require "../lib/footer.inc.php";
$sql="SELECT * FROM s_travail WHERE id_sanction='$id_sanction';"; $res_sanction=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_sanction)==0) { $date_retour=""; $heure_retour=""; $travail=""; } else { $lig_sanction=mysqli_fetch_object($res_sanction); $date_retour=formate_date($lig_sanction->date_retour); $heure_retour=$lig_sanction->heure_retour; $travail=$lig_sanction->travail; } } elseif($odt=='autre') { $nom_autorite=civ_nom_prenom($_SESSION['login'],''); $sql="SELECT * FROM s_incidents WHERE id_incident='$id_incident';"; $res_incident=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_incident)==0) { $qualification_faits=""; } else { $qualification_faits=old_mysql_result($res_incident,0,"description"); } $sql="SELECT sas.*, sts.nature FROM s_autres_sanctions sas, s_types_sanctions sts WHERE sas.id_sanction='$id_sanction' AND sas.id_nature=sts.id_nature;"; $res_sanction=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_sanction)==0) { $nature_sanction=""; $description_sanction="";
$sql = "SELECT 1=1 FROM j_professeurs_matieres jpm WHERE jpm.id_professeur='{$lig_pp->professeur}' AND jpm.id_matiere='{$matiere_nouvel_enseignement}'"; $verif = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($verif) == 0) { // Si JavaScript est inactif, on peut proposer un prof qui n'est pas professeur dans la matière. // Associons le alors à la matière. $sql = "SELECT ordre_matieres FROM j_professeurs_matieres jpm WHERE jpm.id_professeur='{$lig_pp->professeur}' ORDER BY ordre_matieres DESC LIMIT 1;"; $res_ordre_matieres = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_ordre_matieres) == 0) { $tmp_ordre_matieres = 1; } else { $tmp_ordre_matieres = old_mysql_result($res_ordre_matieres, 0, "ordre_matieres") + 1; } $sql = "INSERT INTO j_professeurs_matieres SET id_professeur='{$lig_pp->professeur}', id_matiere='{$matiere_nouvel_enseignement}', ordre_matieres='{$tmp_ordre_matieres}';"; $insert = mysqli_query($GLOBALS["mysqli"], $sql); if (!$insert) { $msg .= "Erreur lors de l'association de " . civ_nom_prenom($lig_pp->professeur) . " avec la matière '{$matiere_nouvel_enseignement}'.<br />"; //$msg.="$sql<br />"; } else { $reg_professeurs[] = $lig_pp->professeur; } } else { $reg_professeurs[] = $lig_pp->professeur; } } } } } $nouvel_enseignement_eleves = isset($_POST['nouvel_enseignement_eleves']) ? $_POST['nouvel_enseignement_eleves'] : "tous"; $tab_choix_nouvel_enseignement_eleves = array("tous", "aucun", "1", "2"); if (!in_array($nouvel_enseignement_eleves, $tab_choix_nouvel_enseignement_eleves)) { $nouvel_enseignement_eleves = "tous";
echo "\n\t\t\t\t\t\t<input type='checkbox' name='saisie[{$cpt_checkbox}]' id='checkbox_{$cpt_checkbox}' value='{$current_eleve_login}|{$current_id_type}' onchange=\"traite_pointage({$cpt_checkbox});\" /><label for='checkbox_{$cpt_checkbox}' id='texte_checkbox_{$cpt_checkbox}'>{$current_nom_sp}</label>\n\t\t\t\t\t\t<textarea name='commentaire[{$cpt_checkbox}]' id='commentaire_{$cpt_checkbox}' style='display:none; vertical-align:top;' title=\"Commentaire\"></textarea><br />"; $cpt_checkbox++; } } } else { for ($loop2 = 0; $loop2 < count($tab_type_pointage_discipline['indice']); $loop2++) { $current_id_type = $tab_type_pointage_discipline['indice'][$loop2]['id_type']; $current_nom_sp = $tab_type_pointage_discipline['indice'][$loop2]['nom']; $current_description_sp = $tab_type_pointage_discipline['indice'][$loop2]['description']; if (isset($tab_saisies[$current_id_creneau][$current_eleve_login][$current_id_type])) { if ($cpt_saisies_creneau_courant > 0) { echo "<br />"; } if ($tab_saisies[$current_id_creneau][$current_eleve_login][$current_id_type]['created_by'] != $_SESSION['login']) { } echo "\n\t\t\t\t\t\t<span title=\"" . $current_description_sp . "\n" . $tab_saisies[$current_id_creneau][$current_eleve_login][$current_id_type]['commentaire'] . "\nSaisi par " . civ_nom_prenom($tab_saisies[$current_id_creneau][$current_eleve_login][$current_id_type]['created_by']) . "\">" . $current_nom_sp . "</span>"; $cpt_saisies_creneau_courant++; if (!isset($tab_totaux_tfoot['creneau'][$current_id_creneau][$current_id_type])) { $tab_totaux_tfoot['creneau'][$current_id_creneau][$current_id_type] = 0; } $tab_totaux_tfoot['creneau'][$current_id_creneau][$current_id_type]++; } } } echo "\n\t\t\t\t\t</td>"; } if ($active_module_trombinoscopes) { $photo = nom_photo($tab_ele["eleves"]["all"]["users"][$current_eleve_login]['elenoet']); if ($photo == NULL or !file_exists($photo)) { $photo = "../mod_trombinoscopes/images/trombivide.jpg"; }
$class_ligne = "color_fond_notices_c"; $ancre = "compte_rendu_" . $lig->id_ct; } echo "\n\t<tr class='white_hover {$class_ligne}'>\n\t\t<td>" . strftime("%a %d/%m/%Y", $lig->date_ct) . "</td>\n\t\t<td><a href='see_all.php?id_groupe=" . $current_group['id'] . "#{$ancre}' target='_blank' title='Voir la notice à laquelle le document ci-contre est associé.'>{$lig->id_ct}</a></td>\n\t\t<td><a href='{$lig->emplacement}' target='_blank' title='Ouvrir le document'>" . $lig->titre . "</a></td>\n\t</tr>"; } echo "\n</table>\n"; } } echo "<p><br /></p>\n"; require "../lib/footer.inc.php"; die; } if ($_SESSION['statut'] == 'professeur' || isset($login_prof)) { $chaine_info_prof = ""; if (isset($login_prof)) { $chaine_info_prof = " de " . civ_nom_prenom($login_prof) . " "; } else { $login_prof = $_SESSION['login']; } // Préparation de l'arborescence $nom_export = "export_cdt_" . $login_prof . "_" . strftime("%Y%m%d_%H%M%S"); if ($action == 'acces') { $chemin_acces = "documents/" . $dirname . "/" . $nom_export . "/index.html"; $res = enregistrement_creation_acces_cdt($chemin_acces, $description_acces, $date1_acces, $date2_acces, $id_groupe); if (!$res) { echo "<p style='color:red;'>Erreur lors de l'enregistrement de la mise en place de l'accès.</p>\n"; require "../lib/footer.inc.php"; die; } } if ($action != 'export_html') {
} if (isset($mode) && $mode == 'valider_ajout_user' && isset($id_grp_groupe)) { check_token(); $mode = "modifier_grp_groupes"; $sql = "DELETE FROM grp_groupes_admin WHERE id_grp_groupe='{$id_grp_groupe}';"; $del = mysqli_query($GLOBALS["mysqli"], $sql); if (!$del) { $msg .= "Erreur lors du nettoyage préalable des utilisateurs adminstrateurs du {$groupe_de_groupes} n°{$id_grp_groupe}.<br />"; } else { $login_user = isset($_POST['login_user']) ? $_POST['login_user'] : ""; $cpt = 0; for ($loop = 0; $loop < count($login_user); $loop++) { $sql = "INSERT INTO grp_groupes_admin SET login='******', \n\t\t\t\t\t\t\t\t\tid_grp_groupe='{$id_grp_groupe}';"; $insert = mysqli_query($GLOBALS["mysqli"], $sql); if (!$insert) { $msg .= "Erreur lors de l'association avec " . civ_nom_prenom($login_user[$loop]) . ".<br />"; } else { $cpt++; } } $msg .= "{$cpt} utilisateur(s) est(sont) autorisé(s) à modifier la liste des élèves des groupes du {$groupe_de_groupes} n°{$id_grp_groupe}.<br />"; } } if (isset($mode) && $mode == 'valider_ajout_groupe' && isset($id_grp_groupe)) { check_token(); $mode = "modifier_grp_groupes"; $tab_groupes_deja = array(); $sql = "SELECT DISTINCT id_groupe FROM grp_groupes_groupes WHERE id_grp_groupe='{$id_grp_groupe}';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); while ($lig = mysqli_fetch_object($res)) { $tab_groupes_deja[] = $lig->id_groupe;
$sql = "SELECT * FROM s_traitement_incident sti, s_mesures s WHERE sti.id_incident='{$id_incident_courant}' AND sti.id_mesure=s.id AND s.type='demandee' AND login_ele='{$lig_t_incident->login_ele}' ORDER BY s.mesure;"; $res_mes_ele = mysqli_query($GLOBALS["mysqli"], $sql); $nb_mes_ele = mysqli_num_rows($res_mes_ele); $texte .= civ_nom_prenom($lig_t_incident->login_ele, '') . " :"; while ($lig_mes_ele = mysqli_fetch_object($res_mes_ele)) { $texte .= " " . $lig_mes_ele->mesure; } $texte .= "\n"; } } $tab_lignes_OOo[$nb_ligne]['mesures_demandees'] = $texte; // Sanctions $texte_sanctions = ""; for ($i = 0; $i < count($tab_protagonistes_eleves); $i++) { $ele_login = $tab_protagonistes_eleves[$i]; $designation_eleve = civ_nom_prenom($ele_login, ''); // Retenues $sql = "SELECT * FROM s_sanctions s, s_retenues sr WHERE s.id_incident='{$id_incident_courant}' AND s.login='******' AND sr.id_sanction=s.id_sanction ORDER BY sr.date, sr.heure_debut;"; //echo "$sql<br />\n"; $res_sanction = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_sanction) > 0) { $texte_sanctions .= $designation_eleve; while ($lig_sanction = mysqli_fetch_object($res_sanction)) { //$texte_sanctions.=" : Retenue "; $texte_sanctions .= " : " . ucfirst($lig_sanction->nature) . " "; $nombre_de_report = nombre_reports($lig_sanction->id_sanction, 0); if ($nombre_de_report != 0) { $texte_sanctions .= " ({$nombre_de_report} reports)"; } $texte_sanctions .= formate_date($lig_sanction->date); $texte_sanctions .= " {$lig_sanction->heure_debut}";
$groupes_aff .= $tab_classe[$tmp_tab[$loop]]; } } echo "<p style='margin-top:1em;'>Cours n°" . $tab['numero'] . "<br />"; echo "matiere={$matiere}<br />"; echo "classe={$classe}<br />"; echo "classe_aff={$classe_aff}<br />"; echo "groupes={$groupes}<br />"; echo "groupes_aff={$groupes_aff}<br />"; echo "prof={$prof}<br />"; if ($matiere != "" && $prof != "") { $edt_cours_login_prof = $prof; $prof_aff = ""; if ($prof != "") { if (!isset($tab_prof[$prof])) { $tab_prof[$prof] = civ_nom_prenom($prof); } $prof_aff = $tab_prof[$prof]; } echo "prof_aff={$prof_aff}<br />"; $reg_matiere = $matiere; $matiere_nom_complet = get_valeur_champ('matieres', "matiere='{$matiere}'", "nom_complet"); $matiere_categorie_id = get_valeur_champ('matieres', "matiere='{$matiere}'", "categorie_id"); if ($matiere_nom_complet == "") { echo "<span style='color:red'>Matière non trouvée dans la table 'matieres'... on n'enregistre pas.</span><br />"; } else { $reg_nom_groupe = $matiere; $reg_nom_complet = $matiere_nom_complet; $reg_categorie = $matiere_categorie_id; $chaine_id_classe = ""; $reg_clazz = array();
if ($test != "0") { $texte_mail = "Une correction a été proposée par " . casse_mot($_SESSION['prenom'], 'majf2') . " " . casse_mot($_SESSION['nom'], 'maj') . "\r\npour l'élève " . civ_nom_prenom($corriger_app_login_eleve) . " sur la période {$corriger_app_num_periode}\r\nen " . $current_group['name'] . " (" . $current_group["description"] . " en " . $current_group["classlist_string"] . ").\r\n\r\nVous pouvez valider ou rejeter la proposition en vous connectant avec un compte de statut scolarité ou secours.\r\nVous trouverez en page d'accueil, dans la rubrique Saisie, un message en rouge concernant la Correction de bulletins.\r\n"; } else { $texte_mail = "Suppression de la proposition de correction pour l'élève " . civ_nom_prenom($corriger_app_login_eleve) . "\r\nsur la période {$corriger_app_num_periode} en " . $current_group['name'] . " (" . $current_group["description"] . " en " . $current_group["classlist_string"] . ")\r\npar " . casse_mot($_SESSION['prenom'], 'majf2') . " " . casse_mot($_SESSION['nom'], 'maj') . ".\n"; } fich_debug_proposition_correction_app($prefixe_debug . " : Texte du mail:\n{$texte_mail}\n"); envoi_mail_proposition_correction($corriger_app_login_eleve, $corriger_app_id_groupe, $corriger_app_num_periode, $texte_mail); die; } } else { if ($app != "") { $sql = "INSERT INTO matieres_app_corrections SET login='******',id_groupe='" . $current_group["id"] . "',periode='{$corriger_app_num_periode}',appreciation='" . $app . "';"; fich_debug_proposition_correction_app($prefixe_debug . " : {$sql}\n"); $register = mysqli_query($mysqli, $sql); if (!$register) { fich_debug_proposition_correction_app($prefixe_debug . " : Echec de l'enregistrement de la proposition de correction.\n"); echo "<span style='color:red' title=\"Echec de l'enregistrement de la proposition de correction\"> KO</span>"; return false; die; } else { echo "<div style='border:1px solid red; color: green' title=\"Proposition de correction soumise.\nElle doit encore être validée.\"><strong>Proposition de correction en attente :</strong><br />" . stripslashes(nl2br($app)) . "</div>"; fich_debug_proposition_correction_app($prefixe_debug . " : Proposition de correction soumise.\n"); $texte_mail = "Une correction proposée a été mise à jour par " . casse_mot($_SESSION['prenom'], 'majf2') . " " . casse_mot($_SESSION['nom'], 'maj') . "\r\npour l'élève " . civ_nom_prenom($corriger_app_login_eleve) . " sur la période {$corriger_app_num_periode}\r\nen " . $current_group['name'] . " (" . $current_group["description"] . " en " . $current_group["classlist_string"] . ").\r\n\r\nVous pouvez valider ou rejeter la proposition en vous connectant avec un compte de statut scolarité ou secours.\r\nVous trouverez en page d'accueil, dans la rubrique Saisie, un message en rouge concernant la Correction de bulletins.\r\n"; fich_debug_proposition_correction_app($prefixe_debug . " : Texte du mail:\n{$texte_mail}\n"); envoi_mail_proposition_correction($corriger_app_login_eleve, $corriger_app_id_groupe, $corriger_app_num_periode, $texte_mail); die; } } } } }
echo "<td><label for='suppr_{$cpt}'>{$lig->titre}</label></td>\n"; echo "<td>" . nl2br(preg_replace("/\\\\n/", "\n", $lig->description)) . "</td>\n"; if ($_SESSION['statut'] == 'administrateur') { echo "<td>"; $sql = "SELECT * FROM infos_actions_destinataires WHERE id_info='{$lig->id}' ORDER BY valeur;"; $res_iad = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_iad)) { $cpt_iad = 0; while ($lig_iad = mysqli_fetch_object($res_iad)) { if ($cpt_iad > 0) { echo ", "; } if ($lig_iad->nature == 'statut') { echo "<span title='Statut {$lig_iad->valeur}'>" . $lig_iad->valeur . "</span>"; } else { echo civ_nom_prenom($lig_iad->valeur); } $cpt_iad++; } } echo "</td>\n"; } echo "<td><input type='checkbox' name='suppr[]' id='suppr_{$cpt}' value='{$lig->id}' /></td>\n"; echo "</tr>\n"; $cpt++; } echo "</table>\n"; echo " <input type='submit' value='Supprimer'>\n"; echo "</form>\n"; echo "<script type='text/javascript'>\n\n\tfunction CocheColonne() {\n\t\tfor (var ki=0;ki<{$cpt};ki++) {\n\t\t\tif(document.getElementById('suppr_'+ki)){\n\t\t\t\tdocument.getElementById('suppr_'+ki).checked = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction DecocheColonne() {\n\t\tfor (var ki=0;ki<{$cpt};ki++) {\n\t\t\tif(document.getElementById('suppr_'+ki)){\n\t\t\t\tdocument.getElementById('suppr_'+ki).checked = false;\n\t\t\t}\n\t\t}\n\t}\n</script>"; require "../lib/footer.inc.php";
function check_proposition_remplacement_validee2($id_proposition) { $retour = ""; $sql = "SELECT * FROM abs_prof_remplacement WHERE id='{$id_proposition}' AND validation_remplacement='oui';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) > 0) { $lig = mysqli_fetch_object($res); $retour = civ_nom_prenom($lig->login_user); } return $retour; }
} //echo "<option value='$lig_class->id'>" . htmlspecialchars("$lig_class->classe") . "</option>\n"; echo "<a href='" . $_SERVER['PHP_SELF'] . "?id_classe={$lig_class->id}" . $ajout_href_2 . "'>" . htmlspecialchars("{$lig_class->classe}") . "</a><br />\n"; $tab_classe[$lig_class->id] = $lig_class->classe; $cpt++; } echo "</td>\n"; echo "</tr>\n"; echo "</table>\n"; } // Tableau des PP echo "<a name='liste_pp'></a>\n<div align='center'>\n\t<table class='boireaus boireaus_alt'>\n\t\t<tr>\n\t\t\t<th>Classe</th>\n\t\t\t<th>\n\t\t\t\t<div style='float:right; width:16px'><a href='" . $_SERVER['PHP_SELF'] . "?export_prof_suivi=y&export=csv' class='noprint' title=\"Exporter l'équipe au format CSV (tableur)\" target='_blank'><img src='../images/icons/csv.png' class='icone16' alt='CSV' /></a></div>\n\t\t\t\t" . ucfirst(getSettingValue('gepi_prof_suivi')) . "\n\t\t\t</th>\n\t\t</tr>"; $tab_pp = get_tab_prof_suivi(); foreach ($tab_classe as $current_id_classe => $current_classe) { echo "\n\t\t<tr>\n\t\t\t<td>{$current_classe}</td>\n\t\t\t<td>"; if (isset($tab_pp[$current_id_classe])) { for ($loop = 0; $loop < count($tab_pp[$current_id_classe]); $loop++) { if ($loop > 0) { echo "<br />"; } $designation_user = civ_nom_prenom($tab_pp[$current_id_classe][$loop]); echo "<div style='float:right; width:16px'>" . affiche_lien_mailto_si_mail_valide($tab_pp[$current_id_classe][$loop], $designation_user) . "</div>"; echo $designation_user; } } echo "</td>\n\t\t</tr>"; } echo "\n\t</table>\n</div>"; } echo "<p><br /></p>\n"; require "../lib/footer.inc.php";
// AJOUTER DES LIENS PROF SUIVANT/PRECEDENT // **************************************** echo "</p>\n"; echo "<input type='hidden' name='cat' value='profs' />\n"; echo "<input type='hidden' name='mode' value='prof' />\n"; echo "</form>\n"; echo js_confirm_changement_prof('form1', $indice_login_prof); echo "<center><h3 class='gepi'>Quatrième phase d'initialisation<br />Initialisation alternative</h3></center>\n"; echo "<center><h4 class='gepi'>Professeurs</h4></center>\n"; if ($login_prof == '') { echo "<p style='color:red;'>Aucun professeur n'a été choisi.<br /><a href='" . $_SERVER['PHP_SELF'] . "?cat=profs'>Retour</a></p>\n"; echo "<p><br /></p>\n"; require "../lib/footer.inc.php"; die; } $civ_nom_prenom_prof = civ_nom_prenom($login_prof); if ($civ_nom_prenom_prof == '') { echo "<p style='color:red;'>Aucun professeur ne correspond au login '{$login_prof}'.<br /><a href='" . $_SERVER['PHP_SELF'] . "?cat=profs'>Retour</a></p>\n"; echo "<p><br /></p>\n"; require "../lib/footer.inc.php"; die; } $tab_matieres_profs = array(); $sql = "SELECT id_matiere FROM j_professeurs_matieres WHERE id_professeur='" . $login_prof . "';"; //echo "$sql<br />"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) > 0) { while ($lig = mysqli_fetch_object($res)) { $tab_matieres_profs[] = $lig->id_matiere; } }
function afficher_liste_profs_du_groupe($reg_matiere) { global $current_group, $p, $prof_list, $mode, $themessage, $reg_professeurs, $id_classe; // Récupération du prof principal $tab_prof_suivi = array(); $nb_prof_suivi = 0; if (isset($id_classe)) { $tab_prof_suivi = get_tab_prof_suivi($id_classe); $nb_prof_suivi = count($tab_prof_suivi); if ($nb_prof_suivi > 1) { $liste_prof_suivi = ""; for ($loop = 0; $loop < count($tab_prof_suivi); $loop++) { if ($loop > 0) { $liste_prof_suivi .= ", "; } $liste_prof_suivi .= civ_nom_prenom($tab_prof_suivi[$loop]); } } $gepi_prof_suivi = getParamClasse($id_classe, 'gepi_prof_suivi', getSettingValue('gepi_prof_suivi')); } else { $gepi_prof_suivi = getSettingValue('gepi_prof_suivi'); } $sql = "SELECT u.login, u.nom, u.prenom, u.civilite, u.statut FROM utilisateurs u, j_professeurs_matieres j WHERE (j.id_matiere = '{$reg_matiere}' and j.id_professeur = u.login and u.etat!='inactif') ORDER BY u.nom;"; //echo "$sql<br />"; $calldata = mysqli_query($GLOBALS["mysqli"], $sql); $nb = mysqli_num_rows($calldata); $prof_list = array(); $prof_list["list"] = array(); for ($i = 0; $i < $nb; $i++) { $prof_login = old_mysql_result($calldata, $i, "login"); $prof_nom = old_mysql_result($calldata, $i, "nom"); $prof_prenom = old_mysql_result($calldata, $i, "prenom"); $civilite = old_mysql_result($calldata, $i, "civilite"); $prof_statut = old_mysql_result($calldata, $i, "statut"); $prof_list["list"][] = $prof_login; $prof_list["users"][$prof_login] = array("login" => $prof_login, "nom" => casse_mot($prof_nom, 'maj'), "prenom" => casse_mot($prof_prenom, 'majf2'), "civilite" => $civilite, "statut" => $prof_statut); } if (count($prof_list["list"]) == "0") { echo "<p><span style='color:red'>ERREUR !</span> Aucun professeur n'a été défini comme compétent dans la matière considérée.<br /><a href='../matieres/modify_matiere.php?current_matiere={$reg_matiere}'>Associer des professeurs à {$reg_matiere}</a></p>\n"; } else { $total_profs = array_merge($prof_list["list"], $reg_professeurs); $total_profs = array_unique($total_profs); $p = 0; echo "<table class='boireaus'>\n"; $alt = 1; $temoin_nettoyage_requis = 'n'; foreach ($total_profs as $prof_login) { $alt = $alt * -1; if (isset($prof_list["users"][$prof_login]["statut"]) && $prof_list["users"][$prof_login]["statut"] == 'professeur') { echo "<tr class='lig{$alt}'>\n"; echo "<td>\n"; echo "<input type='hidden' name='proflogin_" . $p . "' value='" . $prof_login . "' />\n"; echo "<input type='checkbox' name='prof_" . $p . "' id='prof_" . $p . "' "; echo "onchange='checkbox_change({$p});changement();'"; if (in_array($prof_login, $reg_professeurs)) { if (array_key_exists($prof_login, $current_group["profs"]["users"])) { echo " checked />\n"; echo "</td>\n"; echo "<td style='text-align:left;'>\n"; echo "<label id='civ_nom_prenom_prof_{$p}' for='prof_" . $p . "' style='cursor: pointer;'>" . $current_group["profs"]["users"][$prof_login]["civilite"] . " " . $current_group["profs"]["users"][$prof_login]["nom"] . " " . $current_group["profs"]["users"][$prof_login]["prenom"] . "</label>\n"; } else { echo " checked />\n"; echo "</td>\n"; echo "<td style='text-align:left;'>\n"; echo "<label id='civ_nom_prenom_prof_{$p}' for='prof_" . $p . "' style='cursor: pointer;'>" . $prof_list["users"][$prof_login]["civilite"] . " " . $prof_list["users"][$prof_login]["nom"] . " " . $prof_list["users"][$prof_login]["prenom"] . "</label>\n"; } } else { echo " />\n"; echo "</td>\n"; echo "<td style='text-align:left;'>\n"; echo "<label id='civ_nom_prenom_prof_{$p}' for='prof_" . $p . "' style='cursor: pointer;'>" . $prof_list["users"][$prof_login]["civilite"] . " " . $prof_list["users"][$prof_login]["nom"] . " " . $prof_list["users"][$prof_login]["prenom"] . "</label>"; } if (in_array($prof_login, $tab_prof_suivi)) { echo " <img src='../images/bulle_verte.png' width='9' height='9' title=\"" . ucfirst($gepi_prof_suivi) . " d'au moins un élève de la classe sur une des périodes."; if ($nb_prof_suivi > 1) { echo " La liste des " . $gepi_prof_suivi . " est " . $liste_prof_suivi . "."; } echo "\" />\n"; } echo "<br />\n"; echo "</td>\n"; echo "</tr>\n"; $p++; } else { echo "<tr class='lig{$alt}'>\n"; echo "<td>\n"; echo " "; echo "</td>\n"; echo "<td style='text-align:left;' title=\"Anomalie : Cet utilisateur est associé au groupe, mais n'est pas professeur, ou pas professeur dans cette matière.\">\n"; echo "<b>ANOMALIE</b> :"; //echo " " . $prof_list["users"][$prof_login]["nom"] . " " . $prof_list["users"][$prof_login]["prenom"]; echo " <a href='../utilisateurs/modify_user.php?user_login={$prof_login}' onclick=\"return confirm_abandon (this, change, '{$themessage}')\">" . civ_nom_prenom($prof_login) . "</a>"; if (isset($prof_list["users"][$prof_login]["statut"])) { echo " (<i style='color:red'>compte " . $prof_list["users"][$prof_login]["statut"] . "</i>)"; } echo "<br />\n"; $temoin_nettoyage_requis = 'y'; //echo "Un <a href='../utilitaires/clean_tables.php'>nettoyage des tables</a> s'impose."; echo "</td>\n"; echo "</tr>\n"; } } echo "</table>\n"; if ($temoin_nettoyage_requis != 'n') { echo "Un <a href='../utilitaires/clean_tables.php'>nettoyage des tables</a> s'impose."; } if ($mode == "groupe") { echo "<br />\n\t<input type='checkbox' name='associer_tous_les_profs_de_la_classe' id='associer_tous_les_profs_de_la_classe' value='y' onchange=\"checkbox_change_divers(this.id)\" /><label for='associer_tous_les_profs_de_la_classe' id='texte_associer_tous_les_profs_de_la_classe'> Associer à cet enseignement tous les professeurs de la classe.</label><br />\n\t<input type='checkbox' name='associer_tous_les_profs_de_l_etablissement' id='associer_tous_les_profs_de_l_etablissement' value='y' onchange=\"checkbox_change_divers(this.id)\" /><label for='associer_tous_les_profs_de_l_etablissement' id='texte_associer_tous_les_profs_de_l_etablissement'> Associer à cet enseignement tous les professeurs de l'établissement.</label><br />\n\t"; } else { echo "<br />\n\t<input type='checkbox' name='associer_tous_les_profs_de_la_classe' id='associer_tous_les_profs_de_la_classe' value='y' onchange=\"checkbox_change_divers(this.id)\" /><label for='associer_tous_les_profs_de_la_classe' id='texte_associer_tous_les_profs_de_la_classe'> Associer à cet enseignement tous les professeurs de la (<em>ou des</em>) classe(<em>s</em>).</label><br />\n\t<input type='checkbox' name='associer_tous_les_profs_de_l_etablissement' id='associer_tous_les_profs_de_l_etablissement' value='y' onchange=\"checkbox_change_divers(this.id)\" /><label for='associer_tous_les_profs_de_l_etablissement' id='texte_associer_tous_les_profs_de_l_etablissement'> Associer à cet enseignement tous les professeurs de l'établissement.</label><br />\n\t"; } } }
function tableau_php_tableau_html($tab, $avec_lien="n", $statut="") { $retour=""; $acces_lien=false; if(($avec_lien=="y")&&($statut=='responsable')) { $acces_lien=acces("/responsables/modify_resp.php", $_SESSION['statut']); } elseif(($avec_lien=="y")&&($statut=='eleve')) { $acces_lien=acces("/eleves/modify_eleve.php", $_SESSION['statut']); } //$retour.="<div float:left; width: 15em;'>\n"; $retour.="<table class='boireaus' style='margin:2px;'>\n"; $alt=1; //$compteur=0; for($loop=0;$loop<count($tab);$loop++) { /* if($compteur>$nb_lig_max) { $retour.="</table>\n"; $retour.="</div>\n"; $retour.="<div float:left; width: 10em;'>\n"; $retour.="<table class='boireaus'>\n"; $compteur=0; } */ $info_title=""; if($_SESSION['statut']=='administrateur') { $info_title=" title=\"Compte '$tab[$loop]'\""; } $alt=$alt*(-1); $retour.="<tr class='lig$alt white_hover'>\n"; $retour.="<td".$info_title.">"; if(($avec_lien=="y")&&($statut=='responsable')&&($acces_lien)) { $retour.="<a href='../responsables/modify_resp.php?login_resp=".$tab[$loop]."&journal_connexions=y#connexion' target='_blank' title='Voir le journal des connexions de ce responsable.'>".civ_nom_prenom($tab[$loop])."</a>"; } elseif(($avec_lien=="y")&&($statut=='eleve')&&($acces_lien)) { $retour.="<a href='../eleves/modify_eleve.php?eleve_login="******"&journal_connexions=y#connexion' target='_blank' title='Voir le journal des connexions de cet(te) élève.'>".civ_nom_prenom($tab[$loop])."</a>"; } else { $retour.=civ_nom_prenom($tab[$loop]); } $retour.="</td>\n"; $retour.="</tr>\n"; //$compteur++; } $retour.="</table>\n"; //$retour.="</div>\n"; return $retour; }
// Il faut juste afficher les saisies effectuées à l'instant et proposer de les modifier ou de saisir une proposition de remplacement // Remplir un... /* echo "DEBUG:<br /> count(\$tab_id_absence)=".count($tab_id_absence)."<br />"; echo "\$id_absence=".$id_absence."<br />"; */ if (isset($tab_id_absence) && count($tab_id_absence) > 1) { echo "<p>Faire une proposition de remplacement ou un appel à remplacement pour l'absence de :</p>\n\t<ul>"; for ($loop = 0; $loop < count($tab_id_absence); $loop++) { echo "\n\t\t<li><a href='proposer_remplacement.php?id_absence=" . $tab_id_absence[$loop]['id_absence'] . "'>" . civ_nom_prenom($tab_id_absence[$loop]['login_user']) . "</a></li>"; } echo "\n\t</ul>"; echo "<p>Ou contrôler/modifier la saisie pour l'absence de :</p>\n\t<ul>"; for ($loop = 0; $loop < count($tab_id_absence); $loop++) { echo "\n\t\t<li><a href='saisir_absence.php?id_absence=" . $tab_id_absence[$loop]['id_absence'] . "&login_user[]=" . $tab_id_absence[$loop]['login_user'] . "'>" . civ_nom_prenom($tab_id_absence[$loop]['login_user']) . "</a></li>"; } echo "\n\t</ul>"; require "../lib/footer.inc.php"; die; } echo "\n<form action=\"" . $_SERVER['PHP_SELF'] . "#debut_de_page\" method=\"post\" style=\"width: 100%;\" name=\"formulaire_saisie_details\">\n\t<fieldset class='fieldset_opacite50'>\n\n\t\t" . (isset($id_absence) ? "<div style='float:right; width:10em;text-align:center;'><p><a href='proposer_remplacement.php?id_absence={$id_absence}'>Faire une proposition de remplacement ou un appel à remplacement</a>.</p><p style='color:red'>A FAIRE: Indiquer le nombre de créneaux déjà remplacés sur le nombre de créneaux libérés.</p></div>" : "") . "\n\n\t\t" . add_token_field() . "\n\t\t" . (isset($id_absence) ? "<input type='hidden' name='id_absence' value='" . $id_absence . "' />" : "") . "\n\n\t\t<p>Vous souhaitez saisir une absence pour le ou les professeurs suivants :<br /><span class='bold'>"; $tab_prof = array(); for ($loop = 0; $loop < count($login_user); $loop++) { $tab_prof[$loop] = get_info_user($login_user[$loop]); if ($loop > 0) { echo ", "; } echo "<input type='hidden' name='login_user[]' value='" . $login_user[$loop] . "' />"; echo $tab_prof[$loop]['denomination']; }
<th>début</th> <th>fin</th> </tr> </thead> <tbody>"; $cpt=0; $alt=1; while($lig=mysqli_fetch_object($res)) { $alt=$alt*(-1); echo " <tr class='lig$alt white_hover'> <td><input type='checkbox' name='suppr[]' id='suppr_$cpt' value='".$lig->id."' /></td> <td>".$lig->id."</td> <td>".formate_date($lig->date_debut, 'y')."</td> <td>".(($lig->date_fin!="0000-00-00 00:00:00") ? formate_date($lig->date_fin, 'y') : "")."</td> <td>".civ_nom_prenom($lig->login)."</td> <td>".$lig->texte."</td> </tr>"; $cpt++; } echo " </tbody> </table> </form> <script type='text/javascript'> function CocheColonne() { for (var ki=0;ki<$cpt;ki++) { if(document.getElementById('suppr_'+ki)){ document.getElementById('suppr_'+ki).checked = true;
} if ($details == "y") { echo $texte; } else { $tabdiv_infobulle[] = creer_div_infobulle("div_travail_sanction_{$lig_sanction->id_sanction}", "Travail (sanction n°{$lig_sanction->id_sanction})", "", $texte, "", 20, 0, 'y', 'y', 'n', 'n', 2); echo " <a href=\"" . $_SERVER['PHP_SELF'] . "?jour_sanction={$jour_sanction}&details=y\""; //echo " onmouseover=\"delais_afficher_div('div_travail_sanction_$lig_sanction->id_sanction','y',10,-40,$delais_affichage_infobulle,$largeur_survol_infobulle,$hauteur_survol_infobulle);\""; //echo " onmouseover=\"cacher_toutes_les_infobulles();afficher_div('div_travail_sanction_$lig_sanction->id_sanction','y',20,20);\""; echo " onmouseover=\"cacher_toutes_les_infobulles();delais_afficher_div('div_travail_sanction_{$lig_sanction->id_sanction}','y',20,60,{$delais_affichage_infobulle},{$largeur_survol_infobulle},{$hauteur_survol_infobulle});\""; echo " onclick=\"return confirm_abandon (this, change, '{$themessage}')\" title=\"Afficher les détails en infobulle.\""; echo ">Détails</a>"; } } echo "</td>\n"; echo "<td>\n"; echo civ_nom_prenom(get_login_declarant_incident($lig_sanction->id_incident)); echo "</td>\n"; echo "<td>\n"; $marquer_sanction_effectuee_possible = "y"; if ($_SESSION['statut'] == 'professeur' && !sanction_saisie_par($lig_sanction->id_sanction, $_SESSION['login'])) { $marquer_sanction_effectuee_possible = "n"; } if ($marquer_sanction_effectuee_possible == "y") { echo "<input type='checkbox' name='sanction_effectuee[{$lig_sanction->id_sanction}]' value='effectuee' "; if ($lig_sanction->effectuee == "O") { echo "checked='checked' "; } echo "onchange='changement();' "; echo "/>\n"; echo "<input type='hidden' name='form_id_sanction[]' value='{$lig_sanction->id_sanction}' />\n"; } else {
$sql = "SELECT id_classe FROM j_eleves_classes WHERE login='******' ORDER BY periode DESC LIMIT 1;"; $res_classe = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_classe) > 0) { $id_classe = old_mysql_result($res_classe, 0, 'id_classe'); } } $classe = get_class_from_id($id_classe); $groups = get_groups_for_eleve($login_eleve, $id_classe); // Passage à la semaine précédente/courante/suivante include "../lib/calendrier/calendrier.class.php"; $cal1 = new Calendrier("form_choix_date", "today_jjmmaaaa"); echo "<div style='float: right; width:25em;'>\n\t<form action='" . $_SERVER['PHP_SELF'] . "' name='form_choix_date' id='form_choix_date' method='post'>\n\t\t<input type='hidden' name='today_jjmmaaaa' id='today_jjmmaaaa' value='' />\n\t\t<input type='hidden' name='login_eleve' value='{$login_eleve}' />\n\t\t<input type='hidden' name='id_classe' value='{$id_classe}' />\n\t\t<input type='hidden' name='mode' value='{$mode}' />\n\n\t\t<a href='" . $_SERVER['PHP_SELF'] . "?today=" . $ts_aujourdhui . "&mode={$mode}&login_eleve={$login_eleve}&id_classe={$id_classe}'>Aujourd'hui</a>"; echo "\n\t\t<a href=\"#calend\" onclick=\"" . $cal1->get_strPopup('../lib/calendrier/pop.calendrier.php', 350, 170) . ";\"><img src=\"../lib/calendrier/petit_calendrier.gif\" alt=\"Calendrier début\" style=\"border:0;\" /></a>"; //echo " ".img_calendrier_js("today_jjmmaaaa", "img_bouton_today_jjmmaaaa"); echo "\n\t\t - Semaines <a href='" . $_SERVER['PHP_SELF'] . "?today=" . $ts_semaine_precedente . "&mode={$mode}&login_eleve={$login_eleve}&id_classe={$id_classe}'>précédente</a> / <a href='" . $_SERVER['PHP_SELF'] . "?today=" . $ts_semaine_suivante . "&mode={$mode}&login_eleve={$login_eleve}&id_classe={$id_classe}'>suivante</a>\n\t</form>\n\n\t<script type='text/javascript'>\n\t\tvar today_jjmmaaaa_0='';\n\n\t\tfunction teste_modif_date() {\n\t\t\tif(document.getElementById('today_jjmmaaaa').value!=today_jjmmaaaa_0) {\n\t\t\t\tdocument.getElementById('form_choix_date').submit();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsetTimeout('teste_modif_date()', 1000);\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout('teste_modif_date()', 2000);\n\t</script>\n </div>\n"; echo "<p>Affichage pour un élève : <strong>" . civ_nom_prenom($login_eleve) . " (<em>{$classe}</em>)</strong></p>\n"; } elseif ($mode == 'professeur') { if (!isset($login_prof)) { if ($_SESSION['statut'] == 'professeur') { $login_prof = $_SESSION['login']; } else { $sql = "SELECT u.civilite, u.nom, u.prenom, u.login FROM utilisateurs u WHERE statut='professeur' AND etat='actif' ORDER BY u.nom, u.prenom LIMIT 1;"; $res_prof = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_prof) > 0) { $login_prof = old_mysql_result($res_prefs, 0, 'login'); } } if (!isset($login_prof)) { echo "<p>Aucun professeur n'a été trouvé.</p>\n"; require "../lib/footer.inc.php"; die;
//die(); // Remplir une chaine avec formulaire pour provoquer un POST dans un autre onglet en présentant ça comme une demande de confirmation // Faire pareil pour la suppression de comptes $chaine_form_confirm=" <form action='reset_passwords.php' method='post' id='form_aff' target='_blank'> <fieldset style='border:1px solid white; background-image: url(\"../images/background/opacite50.png\");'> <p style='color:red'>Confirmation requise :</p> <p>Vous avez demandé à réinitialiser les mots de passe pour :<br /> <input type='hidden' name='csrf_alea' value='".$_POST['csrf_alea']."' /> <input type='hidden' name='mode_impression' value='html' /> "; for($loop=0;$loop<count($u_login);$loop++) { if($loop>0) {$chaine_form_confirm.=", ";} $chaine_form_confirm.=" <input type='hidden' name='u_login[]' value='".$u_login[$loop]."' />\n"; $chaine_form_confirm.=civ_nom_prenom($u_login[$loop]); } $chaine_form_confirm.=" </p> <p><input type='submit' value='Confirmer cette opération' /></p> </fieldset> </form> <br />"; } // https://127.0.0.1/steph/gepi_git_trunk/lib/confirm_query.php?liste_cible=autretc&action=del_utilisateur&chemin_retour=%2Fsteph%2Fgepi_git_trunk%2Futilisateurs%2Findex.php%3Fmode%3Dpersonnels&csrf_alea=NDt97L9MTpx603Ntq1Zxq611eSNNEz6pA9ZU9cX5 } //**************** EN-TETE ***************************** $titre_page = "Personnels : Traitements par lots";
} if (!preg_match("/nom_classe\\[{$current_id_classe}\\]/", $chaine_js_var_classe)) { $chaine_js_var_classe .= "nom_classe[{$current_id_classe}]=\"" . $current_tab_classe['classe'] . "\";\n"; } echo "\n\t\t\t\t\t\t\t<table>"; while ($lig_prof = mysqli_fetch_object($res_prof)) { //if(!in_array($lig_prof->login, $tab_profs_deja_proposes)) { // +++++++++++++++++++++++ // A FAIRE : Tester aussi si le prof a déjà accepté un remplacement // +++++++++++++++++++++++ if (!in_array($lig_prof->login, $tab_profs_exclus_des_propositions_de_remplacement)) { $tab_cours_prof_courant = get_cours_prof2($lig_prof->login, strftime("%A", $timestamp_courant), $timestamp_courant); // Il faudrait affiner avec les longueurs de cours... //if(!isset($tab_cours_prof_courant[$tab_creneau[$loop]['id_definie_periode']][$key])) { if (!isset($tab_cours_prof_courant[$tab_creneau[$loop]['id_definie_periode']][0]) && !isset($tab_cours_prof_courant[$tab_creneau[$loop]['id_definie_periode']][1])) { $denomination_prof_courant = civ_nom_prenom($lig_prof->login); if (!preg_match("/'{$lig_prof->login}'/", $chaine_js_var_user)) { $chaine_js_var_user .= "nom_user['{$lig_prof->login}']=\"{$denomination_prof_courant}\";\n"; } $lien_mailto_courant = ""; $mail_prof_courant = get_mail_user($lig_prof->login); if (check_mail($mail_prof_courant)) { $lien_mailto_courant = " " . affiche_lien_mailto_prof($mail_prof_courant, $denomination_prof_courant); } if ($temoin_num_proposition == 0) { $tab_num_proposition[$date_aaaammjj][$tab_creneau[$loop]['id_definie_periode']] = $cpt; $temoin_num_proposition++; } $chaine = $id_groupe_courant . "|" . $current_id_classe . "|" . $date_aaaammjj . "|" . $id_creneau_courant . "|" . $lig_prof->login; $checked = ""; if (isset($tab_propositions_deja_enregistrees['chaine']) && in_array($chaine, $tab_propositions_deja_enregistrees['chaine'])) {
$nb_app_proposees_en_attente++; } $sql="SELECT DISTINCT mac.* FROM matieres_app_corrections mac, j_eleves_classes jec WHERE jec.id_classe='$tab_id_classe[$i]' AND jec.periode=mac.periode AND jec.login=mac.login AND mac.id_groupe='$lig->id_groupe' ORDER BY mac.login;"; //echo "$sql<br />\n"; $res_ele=mysqli_query($GLOBALS["mysqli"], $sql); $nb_eleves=mysqli_num_rows($res_ele); $cpt=0; while($lig_ele=mysqli_fetch_object($res_ele)) { $alt=$alt*(-1); echo "<tr class='lig$alt'>\n"; if($cpt==0) { $liste_profs=""; foreach($current_group["profs"]["list"] as $key => $prof_login) { if($liste_profs!="") {$liste_profs.=", ";} $liste_profs.=civ_nom_prenom($prof_login); } echo "<td valign='top' rowspan='$nb_eleves'>".$current_group['name']."<br /><span style='font-size:small;'>(".$current_group["description"]." en ".$current_group["classlist_string"].")</span><br /><span style='font-size:small;'>".$liste_profs."</span></td>\n"; } echo "<td>".get_nom_prenom_eleve($lig_ele->login)."<input type='hidden' name='enregistrement[$compteur]' value='".$lig_ele->login."|".$lig_ele->id_groupe."|".$lig_ele->periode."' /></td>\n"; echo "<td>$lig_ele->periode</td>\n"; echo "<td>"; echo "<div style='border: 1px solid black; margin: 2px;'>\n"; echo "<b>Appréciation enregistrée :</b> "; //echo nl2br($lig_ele->old_app); $sql="SELECT * FROM matieres_appreciations WHERE periode='$lig_ele->periode' AND id_groupe='$lig_ele->id_groupe' AND login='******';"; $res_old_app=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_old_app)>0) { $lig_old=mysqli_fetch_object($res_old_app);
$multiclasses = false; } $nb_periode = $current_group['nb_periode']; $reg_eleves = array(); foreach ($current_group["periodes"] as $period) { if ($period["num_periode"] != "") { $reg_eleves[$period["num_periode"]] = $current_group["eleves"][$period["num_periode"]]["list"]; } } $tab_sig = array(); $sql = "SELECT * FROM j_signalement WHERE id_groupe='{$id_groupe}' AND nature='erreur_affect' ORDER BY periode, login;"; //echo "$sql<br />"; $res_sig = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_sig) > 0) { while ($lig_sig = mysqli_fetch_object($res_sig)) { $tab_sig[$lig_sig->periode][$lig_sig->login] = my_ereg_replace("_", " ", $lig_sig->valeur) . " selon " . civ_nom_prenom($lig_sig->declarant); } } $cpt = 0; $chaine_periode_ouverte = "<p>La période courante est"; foreach ($current_group['classes']['list'] as $current_id_classe) { if ($cpt > 0) { $chaine_periode_ouverte .= ", "; } $current_periode = cherche_periode_courante($current_id_classe); if ($current_periode == "") { $chaine_periode_ouverte .= " <span style='color:red' title=\"Période non trouvée ???\">???</span> (<em>" . get_nom_classe($current_id_classe) . "</em>)"; } else { $chaine_periode_ouverte .= " la <strong>période {$current_periode}</strong> (<em>" . get_nom_classe($current_id_classe) . "</em>)"; } $cpt++;
} } } } if ($acces_upload_photo != "y") { if (!isset($login_eleve)) { $sql = "SELECT login FROM eleves WHERE elenoet='" . $quiestce[$cpt_photo] . "';"; $res_login = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_login) == 0) { $msg .= "Anomalie : Impossible de trouver le login de l'élève dont l'ELENOET est " . $quiestce[$cpt_photo] . "<br />"; } else { $login_eleve = old_mysql_result($res_login, 0, "login"); $msg .= "Vous n'avez pas le droit d'uploader la photo pour " . civ_nom_prenom($login_eleve) . "<br />"; } } else { $msg .= "Vous n'avez pas le droit d'uploader la photo pour " . civ_nom_prenom($login_eleve) . "<br />"; } } else { $sav_photo = isset($_FILES["photo"]) ? $_FILES["photo"] : NULL; if (!isset($sav_photo['tmp_name'][$cpt_photo]) or $sav_photo['tmp_name'][$cpt_photo] == '') { $msg .= "Erreur de téléchargement niveau 1 (<i>photo n°{$cpt_photo}</i>).<br />"; } else { if (!file_exists($sav_photo['tmp_name'][$cpt_photo])) { $msg .= "Erreur de téléchargement niveau 2 (<i>photo n°{$cpt_photo}</i>).<br />"; } else { if (my_strtolower($sav_photo['type'][$cpt_photo]) != "image/jpeg") { $msg .= "Erreur : seuls les fichiers ayant l'extension .jpg sont autorisés (<i>" . $sav_photo['name'][$cpt_photo] . " : " . $sav_photo['type'][$cpt_photo] . "</i>)<br />"; } else { if (!(preg_match('/jpg$/i', $sav_photo['name'][$cpt_photo]) || preg_match('/jpeg$/i', $sav_photo['name'][$cpt_photo]))) { $msg .= "Erreur : seuls les fichiers ayant l'extension .jpg ou .jpeg sont autorisés (<i>" . $sav_photo['name'][$cpt_photo] . "</i>)<br />"; } else {
$test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { echo mysqli_num_rows($test)." notice(s) privée(s) pour un ou des groupes n'existant plus a(ont) été trouvé(s).<br />\n"; echo "<table class='boireaus' summary='Tableau des notices privées orphelines de groupe'>\n"; echo "<tr>\n"; echo "<th>Date</th>\n"; echo "<th>Professeur</th>\n"; echo "<th>Contenu</th>\n"; echo "</tr>\n"; $alt=1; while($lig=mysqli_fetch_object($test)) { $alt=$alt*(-1); echo "<tr class='lig$alt white_hover'>\n"; echo "<td>".strftime("%d/%m/%Y", $lig->date_ct)."</td>\n"; echo "<td>".civ_nom_prenom($lig->id_login)."</td>\n"; echo "<td>".$lig->contenu."</td>\n"; echo "</tr>\n"; $cpt_scories++; } echo "</table>\n"; } else { echo "Aucun défaut d'association à un enseignement n'a été trouvé dans 'ct_private_entry'.<br />\n"; } $sql="select id from ct_sequences;"; $res_seq=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_seq)>0) { $tab_seq=array(); while($lig_seq=mysqli_fetch_object($res_seq)) {
$liste_protagonistes_responsables = ""; $sql = "SELECT * FROM s_protagonistes WHERE id_incident='{$id_incident}' ORDER BY login;"; //echo "$sql<br />"; $res_prot = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_prot) > 0) { $texte_mail .= "\n"; $texte_mail .= "Protagonistes de l'" . $mod_disc_terme_incident . ": \n"; while ($lig_prot = mysqli_fetch_object($res_prot)) { if ($lig_prot->statut == 'eleve') { $classe_elv = get_noms_classes_from_ele_login($lig_prot->login); if ($classe_elv[0] != "") { $classe_elv[0] = "[" . $classe_elv[0] . "]"; } $texte_mail .= get_nom_prenom_eleve($lig_prot->login) . " {$classe_elv['0']} ({$lig_prot->qualite})\n"; } else { $texte_mail .= civ_nom_prenom($lig_prot->login) . " ({$lig_prot->statut}) ({$lig_prot->qualite})\n"; } if (mb_strtolower($lig_prot->qualite) == 'responsable') { $sql = "SELECT DISTINCT c.classe FROM classes c,j_eleves_classes jec WHERE jec.id_classe=c.id AND jec.login='******' ORDER BY jec.periode DESC limit 1;"; //echo "$sql<br />"; $res_prot_classe = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_prot) > 0) { $lig_prot_classe = mysqli_fetch_object($res_prot_classe); $info_classe_prot = "[{$lig_prot_classe->classe}]"; if (getSettingValue('mod_disc_sujet_mail_sans_nom_eleve') != "n") { if ($liste_protagonistes_responsables != "") { $liste_protagonistes_responsables .= ", "; } $liste_protagonistes_responsables .= $lig_prot->login; //echo "\$liste_protagonistes_responsables=$liste_protagonistes_responsables<br />"; }
function affiche_lien_edt_prof($login_prof, $info_prof) { return " <a href='../edt_organisation/index_edt.php?login_edt=" . $login_prof . "&type_edt_2=prof&no_entete=y&no_menu=y&lien_refermer=y' onclick=\"affiche_edt_prof_en_infobulle('{$login_prof}', '" . addslashes($info_prof) . "');return false;\" title=\"Emploi du temps de " . $info_prof . "\" target='_blank'><img src='../images/icons/edt.png' class='icone16' alt='EDT' /></a>"; } $titre_infobulle = "EDT de la classe de <span id='span_id_nom_classe'></span>"; $texte_infobulle = ""; $tabdiv_infobulle[] = creer_div_infobulle('edt_classe', $titre_infobulle, "", $texte_infobulle, "", 40, 0, 'y', 'y', 'n', 'n'); echo "\n<style type='text/css'>\n\t.lecorps {\n\t\tmargin-left:0px;\n\t}\n</style>\n\n<script type='text/javascript'>\n\tfunction affiche_edt_classe_en_infobulle(id_classe, classe) {\n\t\tdocument.getElementById('span_id_nom_classe').innerHTML=classe;\n\n\t\tnew Ajax.Updater(\$('edt_classe_contenu_corps'),'../edt_organisation/index_edt.php?login_edt='+id_classe+'&type_edt_2=classe&visioedt=classe1&no_entete=y&no_menu=y&mode_infobulle=y',{method: 'get'});\n\t\tafficher_div('edt_classe','y',-20,20);\n\t}\n\n\tfunction affiche_edt_prof_en_infobulle(login_prof, info_prof) {\n\t\tdocument.getElementById('id_ligne_titre_infobulle_edt').innerHTML=info_prof;\n\n\t\tnew Ajax.Updater(\$('edt_prof_contenu_corps'),'../edt_organisation/index_edt.php?login_edt='+login_prof+'&type_edt_2=prof&no_entete=y&no_menu=y&mode_infobulle=y',{method: 'get'});\n\t\tafficher_div('edt_prof','y',-20,20);\n\t}\n</script>\n"; } else { function affiche_lien_edt_prof($login_prof, $info_prof) { return ""; } } //============================================================================================================ $info_prof = civ_nom_prenom($_SESSION['login']); echo "<div id='fixe'>" . affiche_lien_edt_prof($_SESSION['login'], $info_prof) . "</div>"; $tab_creneaux = get_heures_debut_fin_creneaux(); // Total des propositions, remplacements et remplacements passés $nb_propositions_ou_remplacements = 0; // Propositions en attente de réponse $tab = get_tab_propositions_remplacements($_SESSION['login'], "en_attente"); if (count($tab) > 0) { $nb_propositions_ou_remplacements += count($tab); echo "\n<h3>Propositions de remplacement en attente d'une réponse de votre part</h3>\n\n<form action=\"" . $_SERVER['PHP_SELF'] . "#debut_de_page\" method=\"post\" style=\"width: 100%; margin-left:3em;\">\n\t<fieldset class='fieldset_opacite50'>\n\t\t" . add_token_field() . "\n\n\t\t<p class='bold'>" . count($tab) . " proposition(s) vous est(sont) soumise(s).<br />Une réponse serait bienvenue.</p>\n\t\t<ul>"; $temoin_saisie_possible = 0; for ($loop = 0; $loop < count($tab); $loop++) { /* echo "<pre>"; print_r($tab[$loop]); echo "</pre>";
$message .= ".\n"; } if (isset($tab_group['moy_manquante'])) { $message .= "Moyenne(s) manquante(s) en " . $tab_group['info'] . " pour "; for ($loop = 0; $loop < count($tab_group['moy_manquante']); $loop++) { if ($loop > 0) { $message .= ", "; } //$message.=$tab_group['moy_manquante'][$loop]; $message .= $tab_alerte_prof[$login_prof]['groupe'][$group_id]['moy_manquante'][$loop]; } $message .= ".\n"; } } $message .= "\nLorsqu'un élève n'a pas de note, veuillez saisir un tiret '-' pour signaler qu'il n'y a pas d'oubli de saisie de votre part.\nEn revanche, s'il s'agit d'une erreur d'affectation, vous disposez, en mode Visualisation d'un carnet de notes, d'un lien 'Signaler des erreurs d affectation' pour alerter l'administrateur Gepi sur un problème d'affectation d'élèves.\n"; $message .= "\nJe vous serais reconnaissant(e) de bien vouloir les remplir rapidement.\n\nD'avance merci.\n-- \n" . civ_nom_prenom($_SESSION['login']); echo "<tr class='lig{$alt}'>\n"; echo "<td>\n"; if ($tab_alerte_prof[$login_prof]['email'] != "") { if (check_mail($tab_alerte_prof[$login_prof]['email'])) { $tab_num_mail[] = $num; $sujet_mail = "[Gepi]: Appreciations et/ou moyennes manquantes"; echo "<a href='mailto:" . $tab_alerte_prof[$login_prof]['email'] . "?subject={$sujet_mail}&body=" . rawurlencode($message) . "'>" . $info_prof . "</a>"; echo "<input type='hidden' name='sujet_{$num}' id='sujet_{$num}' value=\"{$sujet_mail}\" />\n"; echo "<input type='hidden' name='mail_{$num}' id='mail_{$num}' value=\"" . $tab_alerte_prof[$login_prof]['email'] . "\" />\n"; } } else { echo $info_prof; } //echo "<br />"; echo "</td>\n";
echo "<div style='float:right; width:16px;'><a href='../eleves/recherche.php?is_posted_recherche2b=y&rech_matiere[]=".$current_matiere.add_token_in_url()."' title=\"Extraire la liste des professeurs (qu'ils soient associés à la matière dans des enseignements ou non).\" target='_blank'><img src='../images/group16.png' class='icone16' /></a></div>"; if(count($tab_profs_associes)>1) { echo "<p class='bold'>Les professeurs associés sont <br />\n"; } elseif(count($tab_profs_associes)==1) { echo "<p class='bold'>Un professeur est associé <br />\n"; } echo "<br />\n"; echo "<table class='boireaus' style='margin-left: 1em;'>\n"; $alt=1; for($loop=0;$loop<count($tab_profs_associes);$loop++) { $alt=$alt*(-1); //echo civ_nom_prenom($tab_profs_associes[$loop],"ini")."<br />\n"; echo "<tr class='lig$alt white_hover'>\n"; echo "<td>\n"; echo civ_nom_prenom($tab_profs_associes[$loop],"ini"); echo "</td>\n"; echo "</tr>\n"; } echo "</table>\n"; } } $cpt=0; $sql="SELECT DISTINCT u.login,u.nom,u.prenom,u.civilite FROM utilisateurs u WHERE u.statut='professeur' AND u.etat='actif' ORDER BY u.nom, u.prenom;"; $res_profs=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_profs)>0) { echo "<p class='bold'>Associer des professeurs :</p>\n"; //$cpt=0; while($lig=mysqli_fetch_object($res_profs)) { echo "<input type='checkbox' name='login_prof[]' id='login_prof_$cpt' value='$lig->login' ";