if ($error_enregistre_eleve[$login_eleve] != '') { echo "<script type='text/javascript'>\n\tdocument.getElementById('td_0_" . $j . "').style.backgroundColor='red';\n</script>\n"; } $mef_code = $tab_eleve[$j]['mef_code']; if (getSettingAOui('active_mod_engagements')) { if (!in_array($ine, $tab_archivage_engagements)) { $sql = "DELETE FROM archivage_engagements WHERE annee='{$annee_scolaire}' AND ine='{$ine}';"; enregistrer_sql_archivage($sql); //echo "$sql<br />"; $menage = mysqli_query($GLOBALS["mysqli"], $sql); if (array_key_exists($login_eleve, $tab_engagements_classe['login_user'])) { for ($loop = 0; $loop < count($tab_engagements_classe['login_user'][$login_eleve]); $loop++) { $compteur_courant = $tab_engagements_classe['login_user'][$login_eleve][$loop]; $sql = "INSERT INTO archivage_engagements SET annee='{$annee_scolaire}',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tine='{$ine}',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcode_engagement='" . $tab_engagements_classe['indice'][$compteur_courant]['code_engagement'] . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnom_engagement='" . addslashes($tab_engagements_classe['indice'][$compteur_courant]['nom_engagement']) . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescription_engagement='" . addslashes($tab_engagements_classe['indice'][$compteur_courant]['engagement_description']) . "'"; if ($tab_engagements_classe['indice'][$compteur_courant]['id_type'] == 'id_classe' && $tab_engagements_classe['indice'][$compteur_courant]['valeur'] != "") { $sql .= ",classe='" . addslashes(get_nom_classe($tab_engagements_classe['indice'][$compteur_courant]['valeur'])) . "'"; } $sql .= ";"; enregistrer_sql_archivage($sql); //echo "$sql<br />"; $insert = mysqli_query($GLOBALS["mysqli"], $sql); if (!$insert) { $erreur++; echo "<script type='text/javascript'>\n\tdocument.getElementById('td_" . $i . "_" . $j . "').style.backgroundColor='red';\n</script>\n"; } } } $tab_archivage_engagements[] = $ine; } } $sql = "SELECT * FROM j_eleves_classes WHERE id_classe='" . $id_classe[0] . "' AND periode='{$i}'";
$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";
$tab_id_classe_deja = explode(";", $lig_cal->classe_concerne_calendrier); $chaine_id_classe = ""; for ($loop = 0; $loop < count($tab_id_classe); $loop++) { if ($tab_id_classe[$loop] == $classe_id || in_array($tab_id_classe[$loop], $tab_id_classe_deja)) { $chaine_id_classe .= $tab_id_classe[$loop] . ";"; } } $sql = "UPDATE edt_calendrier SET classe_concerne_calendrier='" . $chaine_id_classe . "' WHERE id_calendrier='" . $lig_cal->id_calendrier . "';"; echo "{$sql}<br />"; $update_cal = mysqli_query($GLOBALS["mysqli"], $sql); $sql = "UPDATE periodes SET date_fin='" . $lig_cal->jourfin_calendrier . "' WHERE id_classe='" . $classe_id . "' AND num_periode='" . $lig_cal->numero_periode . "';"; echo "{$sql}<br />"; $update_per = mysqli_query($GLOBALS["mysqli"], $sql); } elseif ($nb_edt_cal > 0) { $info_action_titre = "Dates de périodes pour la classe " . get_nom_classe($classe_id); $info_action_texte = "Pensez à contrôler que la classe " . get_nom_classe($classe_id) . " est bien associée aux périodes et vacances dans <a href='edt_organisation/edt_calendrier.php'>Emplois du temps/Gestion/Gestion du calendrier</a>."; $info_action_destinataire = array("administrateur"); $info_action_mode = "statut"; enregistre_infos_actions($info_action_titre, $info_action_texte, $info_action_destinataire, $info_action_mode); } } $num_periods = 3; } else { // La classe existe // On récupère son ID $classe_id = old_mysql_result($test, 0, "id"); $num_periods = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(num_periode) FROM periodes WHERE id_classe = '" . $classe_id . "'"), 0); } // Maintenant qu'on a l'ID de la classe et le nombre de périodes, on enregistre l'association for ($p = 1; $p <= $num_periods; $p++) { $sql = "INSERT INTO j_eleves_classes SET login = '******', " . "id_classe = '" . $classe_id . "', " . "periode = '" . $p . "'";
} } if((isset($id_classe))&&(isset($_GET['export_csv']))) { check_token(); $csv=""; $fin_de_ligne="\r\n"; if(isset($num_periode)) { $csv.="LOGIN;PRENOM_NOM;NB_ABS;NB_NJ;NB_RET;SCORE;".$fin_de_ligne; for($loop=0;$loop<count($tab_score['eleves']);$loop++) { $csv.=$tab_score['eleves'][$loop]["login"].";".$tab_score['eleves'][$loop]["prenom_nom"].";".$tab_score["eleves"][$loop]['nb_abs'].";".$tab_score["eleves"][$loop]['nb_nj'].";".$tab_score["eleves"][$loop]['nb_ret'].";".$tab_score["eleves"][$loop]['chaine'].";".$fin_de_ligne; } $nom_fic = "score_absences_".remplace_accents(get_nom_classe($id_classe), "all")."_periode_".$num_periode."_".strftime("%Y%m%d_%H%M%S").".csv"; send_file_download_headers('text/x-csv',$nom_fic); echo echo_csv_encoded($csv); die(); } } $style_specifique[] = "edt_organisation/style_edt"; $style_specifique[] = "templates/DefaultEDT/css/small_edt"; $style_specifique[] = "mod_abs2/lib/abs_style"; //$javascript_specifique[] = "mod_abs2/lib/include"; $javascript_specifique[] = "edt_organisation/script/fonctions_edt"; $javascript_specifique[] = "lib/tablekit"; //$dojo=true;
echo " </pre> */ require "../lib/footer.inc.php"; die; } echo " | <a href='" . $_SERVER['PHP_SELF'] . "'>Extraire les engagements pour d'autres classes</a></p>\n</div>\n"; //debug_var(); // Afficher les personnes extraites // Pouvoir générer un CSV... // Pouvoir envoyer un mail... $cpt = 0; echo "<form enctype='multipart/form-data' action='" . $_SERVER['PHP_SELF'] . "' method='post' name='formulaire' target='_blank'>\n\t<fieldset class='fieldset_opacite50'>\n\t\t" . add_token_field() . "\n\t\t<table class='boireaus boireaus_alt sortable resizable'>\n\t\t\t<tr>\n\t\t\t\t<th class='nosort'>\n\t\t\t\t\t<a href='javascript:modif_case(true)'><img src='../images/enabled.png' width='15' height='15' alt='Tout cocher' /></a>/\n\t\t\t\t\t<a href='javascript:modif_case(false)'><img src='../images/disabled.png' width='15' height='15' alt='Tout décocher' /></a>\n\t\t\t\t</th>\n\t\t\t\t<th class='text'>Nom</th>\n\t\t\t\t<th class='text'>Prénom</th>\n\t\t\t\t<th class='text'>Statut</th>\n\t\t\t\t<th class='text'>Classe</th>\n\t\t\t\t<th class='text'>Engagements</th>\n\t\t\t</tr>"; for ($loop = 0; $loop < count($id_classe); $loop++) { $tab = get_tab_engagements_user("", $id_classe[$loop]); $nom_classe = get_nom_classe($id_classe[$loop]); foreach ($tab['login_user'] as $current_login => $tab_engagement_current_user) { $tab_user = get_info_user($current_login); $chaine_tr = "\n\t\t\t<tr id='texte_login_user_{$cpt}'>\n\t\t\t\t<td><input type='checkbox' name='login_user[]' id='login_user_{$cpt}' value=\"{$current_login}\" onchange=\"checkbox_change('login_user_{$cpt}')\" /></td>\n\t\t\t\t<td><label for='login_user_{$cpt}'>" . $tab_user['nom'] . "</label>"; /* echo "<pre>"; echo print_r($tab_user); echo "</pre>"; */ $chaine_tr .= "</td>\n\t\t\t\t<td><label for='login_user_{$cpt}'>" . $tab_user['prenom'] . "</label></td>\n\t\t\t\t<td>" . $tab_user['statut'] . "</td>\n\t\t\t\t<td>" . $nom_classe . "</td>\n\t\t\t\t<td>"; $temoin_engagement_recherche = "n"; for ($loop2 = 0; $loop2 < count($tab_engagement_current_user); $loop2++) { if ($tab_user['statut'] == "eleve" && in_array($tab['indice'][$tab_engagement_current_user[$loop2]]['id_engagement'], $engagement_ele) || $tab_user['statut'] == "responsable" && in_array($tab['indice'][$tab_engagement_current_user[$loop2]]['id_engagement'], $engagement_resp)) { /* echo " <pre>";
require "../lib/footer.inc.php"; die; } //======================================================== // Choix des groupes echo " | <a href='" . $_SERVER['PHP_SELF'] . "?mode=ajouter_groupes&id_grp_groupe={$id_grp_groupe}&id_classe={$id_classe}'>Ajouter des groupes d'autres classes</a>\n\t</p>\n</form>\n\n<p class='bold'>Ajout de groupes au {$groupe_de_groupes} n°{$id_grp_groupe} : " . $tab_grp_groupes['nom_court'] . "</p>\n<p>Choisissez les groupes/enseignements.</p>\n\n<form action='" . $_SERVER['PHP_SELF'] . "' name='form_ajout_groupe' method='post'>\n\t<fieldset class='fieldset_opacite50'>\n\t\t" . add_token_field() . "\n\t\t<input type='hidden' name='mode' value='valider_ajout_groupe' />\n\t\t<input type='hidden' name='id_grp_groupe' value='{$id_grp_groupe}' />\n\t\t<input type='hidden' name='id_classe' value='{$id_classe}' />"; $tab_valeurs_preselectionnees = array(); if (count($tab_grp_groupes['groupes']) > 0) { foreach ($tab_grp_groupes['groupes'] as $cpt => $current_group) { $tab_valeurs_preselectionnees[] = $current_group['id']; } } $cpt = 0; $get_groups_for_class_avec_proflist = "y"; for ($loop = 0; $loop < count($tab_id_classe); $loop++) { echo "\n\t\t<div style='float:left; width:30em; margin:0.5em;' class='fieldset_opacite50'>\n\t\t\t<p class='bold'>Classe de " . get_nom_classe($tab_id_classe[$loop]) . "</p>"; $tmp_tab_grp = get_groups_for_class($tab_id_classe[$loop]); foreach ($tmp_tab_grp as $current_group) { echo "\n\t\t\t<input type='hidden' name='tab_id_classe[]' value='{$tab_id_classe[$loop]}' />\n\t\t\t<input type='checkbox' name='id_groupe[]' id='id_groupe_{$cpt}' value='" . $current_group['id'] . "' onchange=\"checkbox_change('id_groupe_{$cpt}')\" "; if (in_array($current_group['id'], $tab_valeurs_preselectionnees)) { echo "checked "; } echo "/><label for='id_groupe_{$cpt}' id='texte_id_groupe_{$cpt}' title=\"" . $current_group['name'] . " (" . $current_group['description'] . ")\nClasses : " . $current_group['classlist_string'] . "\nEnseignants : " . $current_group['proflist_string'] . "\""; if (in_array($current_group['id'], $tab_valeurs_preselectionnees)) { echo " style='font-weight:bold;'"; } echo ">" . $current_group['name'] . " (<em style='font-size:small'>" . $current_group['description'] . "</em>)</label><br />"; $cpt++; } echo "\n\t\t</div>"; }
if ($active_module_trombinoscopes) { echo "\n\t\t\t\t\t<th>Photo</th>"; } echo "\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>"; $cpt_checkbox = 0; $tab_classe = array(); $tab_totaux_tfoot = array('total', 'creneau'); $tab_totaux_tfoot['total'] = array(); $tab_totaux_tfoot['creneau'] = array(); for ($loop = 0; $loop < count($tab_ele['eleves']['all']['list']); $loop++) { $current_eleve_login = $tab_ele['eleves']['all']['list'][$loop]; $current_eleve_nom = $tab_ele["eleves"]["all"]["users"][$current_eleve_login]['nom']; $current_eleve_prenom = $tab_ele["eleves"]["all"]["users"][$current_eleve_login]['prenom']; $current_eleve_id_classe = $tab_ele["eleves"]["all"]["users"][$current_eleve_login]['id_classe']; if (!isset($tab_classe[$current_eleve_id_classe]['effectif'])) { $tab_classe[$current_eleve_id_classe]['nom_classe'] = get_nom_classe($current_eleve_id_classe); $tab_classe[$current_eleve_id_classe]['effectif'] = 1; } else { $tab_classe[$current_eleve_id_classe]['effectif']++; } $current_eleve_classe = $tab_classe[$current_eleve_id_classe]['nom_classe']; echo "\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<div style='float:right; width:16px;'>\n\t\t\t\t\t\t\t<a href='../eleves/visu_eleve.php?ele_login={$current_eleve_login}' target='_blank' title=\"Voir la fiche élève dans une nouvelle page.\">\n\t\t\t\t\t\t\t\t<img src='../images/icons/ele_onglets.png' class='icone16' />\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t" . $current_eleve_nom . " " . $current_eleve_prenom . "\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t" . $current_eleve_classe . "\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>"; for ($loop2 = 0; $loop2 < count($tab_type_pointage_discipline['indice']); $loop2++) { $current_id_type = $tab_type_pointage_discipline['indice'][$loop2]['id_type']; if (isset($tab_totaux[$current_eleve_login][$current_id_type])) { $current_nom_sp = $tab_type_pointage_discipline['indice'][$loop2]['nom']; echo "\n\t\t\t\t\t\t<span title=\"{$current_nom_sp} : " . $tab_totaux[$current_eleve_login][$current_id_type] . "\">" . mb_substr($current_nom_sp, 0, 2) . " : " . $tab_totaux[$current_eleve_login][$current_id_type] . "</span><br />"; if (!isset($tab_totaux_tfoot['total'][$current_id_type])) { $tab_totaux_tfoot['total'][$current_id_type] = 0; } $tab_totaux_tfoot['total'][$current_id_type] += $tab_totaux[$current_eleve_login][$current_id_type];
if (mysqli_num_rows($res_ele) == 0) { echo "<p style='color:red'>Élève non trouvé pour l'identifiant " . $tabligne[$col_identifiant] . ".<br />" . $ligne . "</p>"; } elseif (mysqli_num_rows($res_ele) > 1) { echo "<p style='color:red'>ANOMALIE : Plus d'un élève semble correspondre à l'identifiant proposé.<br />" . $ligne . "</p>"; } else { $lig_ele = mysqli_fetch_object($res_ele); // Recherche des classes de l'élève: $sql = "SELECT DISTINCT id_classe FROM j_eleves_classes WHERE login='******';"; $res_clas = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_clas) == 0) { echo "<p style='color:red'>Élève {$lig_ele->nom} {$lig_ele->prenom} inscrit dans aucune classe.<br />" . $ligne . "</p>"; } else { echo $lig_ele->nom . " " . $lig_ele->prenom . " : "; while ($lig_clas = mysqli_fetch_object($res_clas)) { if (!isset($tab_classe[$lig_clas->id_classe])) { $tab_classe[$lig_clas->id_classe] = get_nom_classe($lig_clas->id_classe); } echo "(" . $tab_classe[$lig_clas->id_classe] . ") "; $nb_per = get_period_number($lig_clas->id_classe); //echo "(".$nb_per.") "; for ($loop = 0; $loop < count($col_option); $loop++) { // Pour chaque classe, recherche des groupes de l'option indiquée $sql = "SELECT DISTINCT jgc.id_groupe FROM j_groupes_classes jgc, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\tj_groupes_matieres jgm \n\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE jgc.id_classe='" . $lig_clas->id_classe . "' AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\tjgc.id_groupe=jgm.id_groupe AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\tjgm.id_matiere='" . $tabligne_entete[$col_option[$loop]] . "';"; //echo "$sql<br />"; $res_grp = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_grp) > 0) { while ($lig_grp = mysqli_fetch_object($res_grp)) { $sql = "SELECT 1=1 FROM j_eleves_groupes WHERE login='******' AND id_groupe='" . $lig_grp->id_groupe . "';"; //echo "$sql<br />"; $res_ele_grp = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_ele_grp) == 0 && $tabligne[$col_option[$loop]] != "") {
$classe_aff = $tab_classe[$classe]; } // Lors de l'initialisation, il n'y a pas encore de groupe enregistré... ?? // Si... si $chaine_classes = ""; $groupes_aff = ""; $tmp_nom_groupe = ""; if (preg_match("/^\\[.*\\]\$/", $tab['classe'])) { $tmp_nom_groupe = preg_replace("/^\\[/", "", preg_replace("/\\]\$/", "", $tab['classe'])); $groupes_aff = $tmp_nom_groupe; } $tmp_tab = explode("|", $groupes); for ($loop = 0; $loop < count($tmp_tab); $loop++) { if ($tmp_tab[$loop] != "") { if (!isset($tab_classe[$tmp_tab[$loop]])) { $tmp_current_classe = get_nom_classe($tmp_tab[$loop]); $tab_classe[$tmp_tab[$loop]] = $tmp_current_classe; if ($chaine_classes != "") { $chaine_classes .= "_"; } $chaine_classes .= $tmp_current_classe; } if ($groupes_aff != "") { $groupes_aff .= ", "; } $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 />";
$chaine.=", ".get_nom_classe($id_classe[$i]); } //if($chaine!=""){ if($temoin_encore_des_classes>0) { // Pour faire sauter un "' ": //echo "<p>Classes restant à traiter: ".mb_substr($chaine,2)."</p>\n"; echo "<p>Classes restant à traiter: ".$chaine."</p>\n"; } else { echo "<p>Traitement de la dernière classe sélectionnée: <span id='annonce_fin_traitement' style='font-weight:bold; font-size:2em; color: green;'></span></p>\n"; } //=================================== $classe=get_nom_classe($id_classe[0]); echo "<p><b>Classe de $classe:</b></p>\n"; //echo "<p>Classe de $classe</p>\n"; // Boucle sur les périodes de la classe $sql="SELECT * FROM periodes WHERE id_classe='".$id_classe[0]."' ORDER BY num_periode"; $res_periode=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_periode)==0){ echo "<p>Aucune période ne semble définie pour la classe $classe</p>\n"; } else{ unset($tab_periode); $tab_periode=array();
<p style='margin-top:1em'><em>NOTE :</em> Seuls les fichiers JPEG sont autorisés.</p>"; if((isset($tab_signature['classe']))&&(count($tab_signature['classe'])>0)) { echo " <hr width='200px' /> <p class='bold' style='margin-top:3em;'>Associer votre(vos) fichier(s) aux classes :</p> <table class='boireaus boireaus_alt' summary='Tableau des associations Fichier/Classe'> <tr> <th>Classe</th> <th>Fichier</th> </tr>"; foreach($tab_signature['classe'] as $id_classe => $tmp_tab) { echo " <tr> <td>".get_nom_classe($id_classe)."</td> <td> <select name='fich_sign_classe[$id_classe]' onchange='changement()' tabindex='$tabindex'> <option value='-1'>---</option>"; $tabindex++; foreach($tab_signature['fichier'] as $id_fichier => $tmp_tab) { if(isset($tmp_tab['fichier'])) { echo " <option value='$id_fichier'"; if((isset($tab_signature['classe'][$id_classe]['id_fichier']))&&($tab_signature['classe'][$id_classe]['id_fichier']==$id_fichier)) { echo " selected='selected'"; } echo ">".$tmp_tab['fichier']."</option>"; } } echo "
} } } echo "</div>"; require_once("../lib/footer.inc.php"); die(); } else { echo " | <a href='".$_SERVER['PHP_SELF']."'>Choisir une autre classe</a> | <a href='".$_SERVER['PHP_SELF']."?id_classe=$id_classe'>Choisir une autre période</a> | <a href='affiche_eleve.php?id_classe=$id_classe&choix_periode=toutes_periodes'>Graphes individuels</a> </p> <h1 class='noprint'>Graphes de la classe de ".get_nom_classe($id_classe)."<br /> Évolution sur l'année</h1> <div align='center'>"; // On va afficher toutes les périodes // Récupération de la liste des matières dans l'ordre souhaité: if ($affiche_categories) { $sql="SELECT DISTINCT jgc.id_groupe, m.* FROM matieres m, j_groupes_classes jgc, j_groupes_matieres jgm, j_matieres_categories_classes jmcc, matieres_categories mc WHERE (mc.id=jmcc.categorie_id AND jgc.id_classe=jmcc.classe_id AND m.matiere=jgm.id_matiere AND
require "../lib/footer.inc.php"; die; } //=================================================================================== // Choix des matières/enseignements à créer dans les classes choisies echo " | <a href='" . $_SERVER['PHP_SELF'] . "?cat=classes'>Choix des classes</a>"; echo "</p>\n"; echo "</form>\n"; echo "<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\" name='form2'>\n"; echo add_token_field(); echo "<p>Choix des enseignements à créer dans les classes de : <b>\n"; for ($i = 0; $i < count($id_classe); $i++) { if ($i > 0) { echo ", "; } echo get_nom_classe($id_classe[$i]); echo "<input type='hidden' name='id_classe[]' value='{$id_classe[$i]}' />\n"; } echo "</b>"; echo "</p>\n"; $sql = "SELECT * FROM matieres ORDER BY matiere;"; $res_mat = mysqli_query($GLOBALS["mysqli"], $sql); $nb_mat = mysqli_num_rows($res_mat); $nb_par_colonne = round($nb_mat / 3); echo "<table width='100%' summary='Choix des matières'>\n"; echo "<tr valign='top' align='center'>\n"; $cpt_mat = 0; echo "<td> </td>\n"; echo "<td align='left'>\n"; while ($lig = mysqli_fetch_object($res_mat)) { if ($cpt_mat > 0 && round($cpt_mat / $nb_par_colonne) == $cpt_mat / $nb_par_colonne) {
echo " <div style='float: right; width:20px; height:20px;' title=\"Saisir/Modifier les engagements\"><a href='../mod_engagements/saisie_engagements_user.php?login_user=$resp_login&retour=modify_resp' onclick=\"afficher_div_saisie_engagements('$login_resp'); return false;\"><img src='../images/icons/plus_moins.png' class='icone16' alt='Ajouter/Enlever'/></a></div>"; */ echo "\n\t<div style='float: right; width:20px; height:20px;' title=\"Saisir/Modifier les engagements\"><a href='../mod_engagements/saisie_engagements_user.php?login_user={$resp_login}&retour=modify_resp'><img src='../images/icons/plus_moins.png' class='icone16' alt='Ajouter/Enlever'/></a></div>"; } /* echo "<pre>"; print_r($tab_engagements_user['indice']); echo "</pre>"; */ echo "<div id='div_engagements_responsable'>"; for ($loop = 0; $loop < count($tab_engagements_user['indice']); $loop++) { $detail_eng = ""; if ($tab_engagements_user['indice'][$loop]['type'] == 'id_classe' && $tab_engagements_user['indice'][$loop]['id_type'] == 'id_classe') { $detail_eng = " en " . get_nom_classe($tab_engagements_user['indice'][$loop]['valeur']); } echo "<span title=\"" . $tab_engagements_user['indice'][$loop]['nom_engagement'] . $detail_eng . "\n(" . $tab_engagements_user['indice'][$loop]['engagement_description'] . ")\">" . $tab_engagements_user['indice'][$loop]['nom_engagement'] . $detail_eng . "</span><br />"; } echo "</div>\n"; /* echo "<script type='text/javascript'> var change='no'; function afficher_div_saisie_engagements(login_user) { //alert('plip'); document.getElementById('valider_proposition').value=chaine; document.getElementById('valider_remplacement_nom_user').innerHTML=nom_user[tab[4]]; afficher_div('div_saisie_engagements','y',10,-40);
function check_acces_et_liste_periodes($logineleve, $id_classe) { $tab_periodes = array(); if (getSettingValue('active_annees_anterieures') == "y") { $acces = check_acces_aa($logineleve); if ($acces == "y") { //$tab_annee=array(); $tab_periodes = array(); $sql = "SELECT * FROM eleves WHERE login='******';"; $res_ele = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_ele) == 0) { // On ne devrait pas arriver là. echo "<p>L'élève dont le login serait '{$logineleve}' n'est pas dans la table 'eleves'.</p>\n"; } else { $lig_ele = mysqli_fetch_object($res_ele); // Infos élève //$ine: INE de l'élève (identifiant commun aux tables 'eleves' et 'archivage_disciplines') $ine = $lig_ele->no_gep; //$ele_nom=$lig_ele->nom; //$ele_prenom=$lig_ele->prenom; //$naissance=$lig_ele->naissance; //$naissance2=formate_date($lig_ele->naissance); // Classe actuelle: $classe = get_nom_classe($id_classe); // Liste des années conservées pour l'élève choisi: $sql = "SELECT DISTINCT annee FROM archivage_disciplines WHERE ine='{$ine}' ORDER BY annee"; //echo "$sql<br />"; $res_annees = mysqli_query($GLOBALS["mysqli"], $sql); $annee_precedente = ""; $annee_suivante = ""; $derniere_periode_annee_precedente = 1; if (mysqli_num_rows($res_annees) > 0) { $cpt = 0; while ($lig_annee = mysqli_fetch_object($res_annees)) { //$tab_annee[$cpt]['annee']=$lig_annee->annee; //$tab_annee[$cpt]['annee']['annee']=$lig_annee->annee; $sql = "SELECT DISTINCT num_periode FROM archivage_disciplines WHERE ine='{$ine}' AND annee='{$lig_annee->annee}' ORDER BY num_periode"; //echo "$sql<br />"; $res_periodes = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_periodes) == 0) { // ANOMALIE } else { while ($lig_per = mysqli_fetch_object($res_periodes)) { //$tab_annee[$cpt]['annee']['max_per']=$lig_per->num_periode; $tab_periodes[] = $lig_annee->annee . "|" . $lig_per->num_periode; } } if (!isset($annee_scolaire)) { // A FAIRE: VOIR si $annee_scolaire est en SESSION... pour qu'en passant à un autre élève, on récupère les mêmes années,... $annee_scolaire = $lig_annee->annee; } if ($lig_annee->annee != $annee_scolaire) { $annee_precedente = $lig_annee->annee; $sql = "SELECT DISTINCT num_periode FROM archivage_disciplines WHERE ine='{$ine}' AND annee='{$annee_precedente}' ORDER BY num_periode DESC"; $res_per_prec = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_per_prec) > 0) { $lig_per_prec = mysqli_fetch_object($res_per_prec); $derniere_periode_annee_precedente = $lig_per_prec->num_periode; } } $cpt++; } } } } } return $tab_periodes; }
for ($i = 0; $i < count($id_groupe); $i++) { echo "<input type='hidden' name='id_groupe[]' value='{$id_groupe[$i]}' />\n"; $sql = "SELECT DISTINCT id_classe FROM j_groupes_classes WHERE id_groupe='" . $id_groupe[$i] . "';"; $res_clas_grp = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_clas_grp) > 0) { while ($lig_clas_grp = mysqli_fetch_object($res_clas_grp)) { if (!in_array($lig_clas_grp->id_classe, $id_classe)) { $id_classe[] = $lig_clas_grp->id_classe; } } } } $tab_nom_classe = array(); $tab_id_classe = array(); for ($i = 0; $i < count($id_classe); $i++) { $nom_classe = get_nom_classe($id_classe[$i]); $tab_id_classe[$nom_classe] = $id_classe[$i]; $tab_nom_classe[] = $nom_classe; } /* echo "<pre>"; print_r($tab_id_classe); echo "</pre>"; */ sort($tab_nom_classe); $id_classe = array(); for ($loop = 0; $loop < count($tab_nom_classe); $loop++) { $id_classe[] = $tab_id_classe[$tab_nom_classe[$loop]]; } /* echo "<pre>";
} elseif (isset($tab_infos_prec[$id_classe[$loop]]['date_evenement'])) { $msg_erreur = "ATTENTION : La date de l'événement pour la classe de " . get_nom_classe($id_classe[$loop]) . " n'est pas valide.<br />"; $date_evenement = $tab_infos_prec[$id_classe[$loop]]['date_evenement']; $nb_classes_err++; } else { $msg_erreur = "ATTENTION : La date de l'événement pour la classe de " . get_nom_classe($id_classe[$loop]) . " n'est pas valide.<br />La date antérieure a été utilisée.<br />"; $nb_classes_err++; } if (isset($date_evenement)) { $sql = "INSERT INTO d_dates_evenements_classes SET id_ev='{$id_ev}', id_classe='" . $id_classe[$loop] . "', date_evenement='{$date_evenement}';"; //echo "$sql<br />"; $insert = mysqli_query($GLOBALS["mysqli"], $sql); if ($insert) { $nb_classes_reg++; } else { $msg_erreur = "Erreur lors de l'enregistrement de la date pour la classe " . get_nom_classe($id_classe[$loop]) . ".<br />"; $nb_classes_err++; } } } if ($nb_classes_err > 0) { $msg_erreur .= "{$nb_classes_err} erreur(s) lors de l'enregistrement de dates pour une ou des classes.<br />"; } else { if ($nb_classes_reg > 0) { $msg_OK = "Enregistrement effectué pour {$nb_classes_reg} classe(s).<br />"; } else { $msg_OK = "Enregistrement effectué... mais sans classe ?.<br />"; } } } }
*/ echo "\n<h2>{$titre_h2}</h2>\n\n<p class='bold'>Liste des remplacements validés :</p>"; if (count($tab_r) == 0) { echo "<p>Aucun remplacement n'est validé.</p>"; require "../lib/footer.inc.php"; die; } echo "\n<form action=\"" . $_SERVER['PHP_SELF'] . "#debut_de_page\" method=\"post\" style=\"width: 100%;\" name=\"formulaire_saisie_login_user\">\n\t<fieldset class='fieldset_opacite50'>\n\t\t" . add_token_field() . "\n\t\t<input type='hidden' name='is_posted' value='y' />\n\t\t<input type='hidden' name='mode' value='{$mode}' />\n\n\t\t<table class='boireaus boireaus_alt sortable resizable'>\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th class='text' title=\"Cliquez pour trier\">Date</th>\n\t\t\t\t\t<th class='text' title=\"Cliquez pour trier\">Classe</th>\n\t\t\t\t\t<th class='text' title=\"Cliquez pour trier\">Professeur remplaçant</th>\n\t\t\t\t\t<th class='text' title=\"Cliquez pour trier\">Commentaire prof</th>\n\t\t\t\t\t<th class='text' title=\"Cliquez pour trier\">Commentaire validation</th>\n\t\t\t\t\t<th class='text' title=\"Cliquez pour trier\">Salle</th>\n\t\t\t\t\t<th class='text' title=\"Cliquez pour trier\">Cours remplacé</th>\n\t\t\t\t\t<th class='nosort' title=\"Pas de tri sur cette colonne\">\n\t\t\t\t\t\tFamilles informées<br />\n\t\t\t\t\t\t<a href='#' onclick=\"tout_cocher();return false;\" title=\"Cocher pour informer les familles pour tous les remplacements affichés.\"><img src='../images/enabled.png' class='icone20' alt='Cocher' /></a> / <a href='#' onclick=\"tout_decocher();return false;\" title=\"Tout décocher pour ne pas informer les familles.\"><img src='../images/disabled.png' class='icone20' alt='Décocher' /></a>\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>"; $civ_nom_prenom = array(); $nom_classe = array(); for ($loop = 0; $loop < count($tab_r); $loop++) { 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']); } if (!isset($nom_classe[$tab_r[$loop]['id_classe']])) { $nom_classe[$tab_r[$loop]['id_classe']] = get_nom_classe($tab_r[$loop]['id_classe']); } echo "\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<span style='display:none'>" . $tab_r[$loop]['date_debut_r'] . "</span>\n\t\t\t\t\t\t" . 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>)\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>" . $nom_classe[$tab_r[$loop]['id_classe']] . "</td>\n\t\t\t\t\t<td>" . $civ_nom_prenom[$tab_r[$loop]['login_user']] . "</td>\n\t\t\t\t\t<td>" . $tab_r[$loop]['commentaire_prof'] . "</td>\n\t\t\t\t\t<td>" . $tab_r[$loop]['commentaire_validation'] . "</td>\n\t\t\t\t\t<td>" . $tab_r[$loop]['salle'] . "</td>\n\t\t\t\t\t<td style='font-size:small'>" . get_info_grp($tab_r[$loop]['id_groupe']) . "</td>\n\t\t\t\t\t<td>"; if ($tab_r[$loop]['info_famille'] == "oui") { $checked = " checked"; } else { $checked = ""; } echo "<input type='checkbox' name='info_famille[" . $tab_r[$loop]['id'] . "]' id='info_famille_{$loop}' value='oui'{$checked} /></td>\n\t\t\t\t</tr>"; } $nb_lignes = $loop; $abs_prof_modele_message_eleve = getSettingValue('abs_prof_modele_message_eleve'); if ($abs_prof_modele_message_eleve == "") { $abs_prof_modele_message_eleve = "En raison de l'absence de __PROF_ABSENT__, le cours __COURS__ du __DATE_HEURE__ sera remplacé par un cours avec __PROF_REMPLACANT__ en salle __SALLE__."; saveSetting('abs_prof_modele_message_eleve', $abs_prof_modele_message_eleve); }
if (mysqli_num_rows($res_per) > 0) { $lig_per = mysqli_fetch_object($res_per); $recalcul_rang = ""; for ($i = 0; $i < $lig_per->num_periode; $i++) { $recalcul_rang .= "y"; } $sql = "UPDATE groupes SET recalcul_rang='{$recalcul_rang}' WHERE id in (SELECT id_groupe FROM j_groupes_classes WHERE id_classe='{$id_classe}');"; //echo "$sql<br />"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (!$res) { $msg .= "<br />Erreur lors de la programmation du recalcul des rangs pour la classe " . get_nom_classe($id_classe) . "."; } else { $nb_reg_ok++; } } else { $msg .= "<br />Aucune période n'est définie pour cette classe.<br />Recalcul des rangs impossible pour la classe " . get_nom_classe($id_classe) . "."; } } if (isset($_POST['creer_enseignement']) && $_POST['creer_enseignement'] == 'y') { if (isset($_POST['matiere_nouvel_enseignement']) && $_POST['matiere_nouvel_enseignement'] != "") { $matiere_nouvel_enseignement = $_POST['matiere_nouvel_enseignement']; $sql = "SELECT 1=1 FROM matieres WHERE matiere='{$matiere_nouvel_enseignement}';"; $verif = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($verif) == 0) { $msg .= "<br />La matière {$matiere_nouvel_enseignement} n'existe pas."; } else { $coef_nouvel_enseignement = isset($_POST['coef_nouvel_enseignement']) ? $_POST['coef_nouvel_enseignement'] : 0; $coef_nouvel_enseignement = my_ereg_replace("[^0-9]", "", $_POST['coef_nouvel_enseignement']); $nouvel_enseignement_visibilite = isset($_POST['nouvel_enseignement_visibilite']) ? $_POST['nouvel_enseignement_visibilite'] : array(); $nouvel_enseignement_non_visible = array(); for ($loop = 0; $loop < count($tab_domaines); $loop++) {
} //$mail_dest.=$lig->email; if (!preg_match("/^{$lig->email},/", $mail_dest) && !preg_match("/,{$lig->email},/", $mail_dest) && !preg_match("/,{$lig->email}\$/", $mail_dest)) { $mail_dest .= $lig->email; $tab_param_mail['destinataire'][] = $lig->email; } $references_mail .= "proposition_remplacement_" . $lig->id . "_" . $jour; } } if ($mail_dest != "") { $tab_info_creneau = get_infos_creneau($id_creneau); $info_creneau = $tab_info_creneau['nom_creneau'] . " (" . $tab_info_creneau['debut_court'] . "-" . $tab_info_creneau['fin_court'] . ")"; $date_debut_r = substr($jour, 0, 4) . "-" . substr($jour, 4, 2) . "-" . substr($jour, 6, 2) . " 08:00:00"; $designation_user = civ_nom_prenom($login_user); $subject = "[GEPI]: Remplacement attribué à " . $designation_user; $texte_mail = "Bonjour " . $designation_user . ",\n\nLe remplacement suivant vous est attribué:\n\n" . get_nom_classe($id_classe) . " le " . formate_date($date_debut_r, "n", "complet") . " en " . $info_creneau . "\n" . $chaine_commentaire_validation . $chaine_salle . "en remplacement de " . get_info_grp($id_groupe, array('description', 'matieres', 'classes', 'profs'), "") . ".\n\nMerci.\n\n\nCordialement.\n-- \n" . civ_nom_prenom($_SESSION['login']); $headers = ""; if (isset($_SESSION['email']) && check_mail($_SESSION['email'])) { $headers .= "Reply-to:" . $_SESSION['email'] . "\r\n"; $tab_param_mail['replyto'] = $_SESSION['email']; } $message_id = 'remplacement_c' . $id_creneau . "_j" . $jour; if (isset($message_id)) { $headers .= "Message-id: {$message_id}\r\n"; } //if(isset($references_mail)) {$headers .= "References: $references_mail\r\n";} // On envoie le mail $envoi = envoi_mail($subject, $texte_mail, $mail_dest, $headers, "plain", $tab_param_mail); } } } else {
if(count($txt_classe)>0) { tab_liste($txt_classe,$lien_classe,3); } else { echo "<p style='color:red'>Vous n'êtes associé à aucun élève.</p>\n"; } require("../lib/footer.inc.php"); die(); } //======================================= if(!isset($login_ele)) { echo " <p class='bold'>Classe de ".get_nom_classe($id_classe)."</p> <p style='margin-left:4em; text-indent:-2em;'>Choix de l'élève :<br />"; $sql="SELECT DISTINCT e.* FROM eleves e, j_eleves_classes jec WHERE e.login=jec.login AND jec.id_classe='$id_classe' ORDER BY e.nom, e.prenom;"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "<p style='color:red'>Aucun élève n'a été trouvé.</p>\n"; } else { while($lig=mysqli_fetch_object($res)) { echo "<a href='".$_SERVER['PHP_SELF']."?id_classe=$id_classe&login_ele=".$lig->login."' title=\"Consulter les ".$mod_disc_terme_incident." pour cet élève\">".$lig->nom." ".$lig->prenom."</a><br />\n"; } } echo "</p>"; require("../lib/footer.inc.php");
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++; } $chaine_periode_ouverte .= "</p>"; echo " | <a href='" . $_SERVER['PHP_SELF'] . "'>Choisir un autre groupe/enseignement</a> | \n<select name='id_groupe' id='id_groupe' onchange=\"confirm_changement_grp(change, '{$themessage}');\">"; $indice_grp_courant = 0; $cpt_grp = 0; foreach ($current_grp_groupes['groupes'] as $tmp_current_group) { echo "<option value='" . $tmp_current_group['id_groupe'] . "'"; if ($tmp_current_group['id_groupe'] == $id_groupe) { echo " selected"; $indice_grp_courant = $cpt_grp; echo " title=\"Groupe courant.\" style='color:blue;'"; } echo ">" . $tmp_current_group['description'] . " (" . $tmp_current_group['name'] . " en " . $tmp_current_group["classlist_string"] . ")</option>\n";
$tab_deja[$ts][$lig->id_salle][] = $lig->id_classe; } } /* echo "<pre>"; print_r($tab_deja); echo "</pre>"; */ //=========================================== $tab_salles = get_tab_salle_cours(); //=========================================== $titre_infobulle = "Placer une classe"; $texte_infobulle = "<p>Choisissez la ou les classes à placer</p>\n<form>\n<input type='hidden' name='id_salle_ev' id='id_salle_ev' value='' />\n<input type='hidden' name='date_heure_ev' id='date_heure_ev' value='' />"; $texte_infobulle .= "<div class='div_3_colonnes'>"; for ($loop = 0; $loop < count($id_classe_ev); $loop++) { $current_classe = get_nom_classe($id_classe_ev[$loop]); $texte_infobulle .= "<p id='p_lien_ajout_classe_" . $id_classe_ev[$loop] . "'><a href=\"javascript:placer_classe_ev(" . $id_classe_ev[$loop] . ")\" id='lien_ajout_classe_" . $id_classe_ev[$loop] . "'>" . $current_classe . "</a></p>"; } $texte_infobulle .= "</div>\n</form>"; $tabdiv_infobulle[] = creer_div_infobulle('div_ajout_classe', $titre_infobulle, "", $texte_infobulle, "", 25, 0, 'y', 'y', 'n', 'n'); //=========================================== $tab_ts = array(); for ($loop = 0; $loop < count($date_heure_ev); $loop++) { $ts = mysql_date_to_unix_timestamp($date_heure_ev[$loop]); $tab_ts[$ts] = $date_heure_ev[$loop]; } ksort($tab_ts); echo "<form action='" . $_SERVER['PHP_SELF'] . "' method='post'>\n" . add_token_field() . "\n<input type='hidden' name='id_ev' value='{$id_ev}' />\n<input type='hidden' name='mode' value='enregistrer' />\n<table class='boireaus boireaus_alt'>\n\t<thead>\n\t\t<tr>\n\t\t\t<th></th>"; foreach ($tab_ts as $ts => $mysql_date) { echo "\n\t\t\t<th>" . strftime("%a %d/%m/%Y à %H:%M", $ts) . "</th>"; }
echo "\n\t\t\t<li>\n\t\t\t\t<p><strong>Le " . formate_date($tab[$loop]['date_debut_r'], "n", "complet") . " en " . $tab_creneaux[$tab[$loop]['id_creneau']]['nom_creneau'] . " (<em>" . $tab_creneaux[$tab[$loop]['id_creneau']]['debut'] . " à " . $tab_creneaux[$tab[$loop]['id_creneau']]['fin'] . "</em>) : {$nom_classe}</strong> (<em style='font-size:x-small;'>remplacement de {$info_groupe}</em>)" . $info_salle . $commentaire_validation . "</p>\n\t\t\t</li>"; } echo "\n\t\t</ul>\n\t</div>"; } // Remplacements validés/effectués dans le passé $tab = get_tab_propositions_remplacements($_SESSION['login'], "validees_passees"); if (count($tab) > 0) { $nb_propositions_ou_remplacements += count($tab); echo "\n<h3>Remplacements validés/effectués dans le passé</h3>\n\n\t<div class='fieldset_opacite50' style='margin-left:3em;'>\n\n\t\t<p class='bold'>Le(s) remplacement(s) suivant(s) vous a(ont) été attribué(s) :</p>\n\t\t<ul>"; for ($loop = 0; $loop < count($tab); $loop++) { /* echo "<pre>"; print_r($tab[$loop]); echo "</pre>"; */ $nom_classe = get_nom_classe($tab[$loop]['id_classe']); $info_groupe = get_info_grp($tab[$loop]['id_groupe'], array('description', 'matieres', 'classes', 'profs')); $info_salle = ""; if ($tab[$loop]['salle'] != "") { $info_salle = " (<em>salle " . $tab[$loop]['salle'] . "</em>)"; } $commentaire_validation = ""; if ($tab[$loop]['commentaire_validation'] != "") { $commentaire_validation = "<br />" . $tab[$loop]['commentaire_validation']; } echo "\n\t\t\t<li>\n\t\t\t\t<p><strong>Le " . formate_date($tab[$loop]['date_debut_r'], "n", "complet") . " en " . $tab_creneaux[$tab[$loop]['id_creneau']]['nom_creneau'] . " (<em>" . $tab_creneaux[$tab[$loop]['id_creneau']]['debut'] . " à " . $tab_creneaux[$tab[$loop]['id_creneau']]['fin'] . "</em>) : {$nom_classe}</strong>" . $info_salle . " (<em style='font-size:x-small;'>remplacement de {$info_groupe}</em>)" . $commentaire_validation . "</p>\n\t\t\t</li>"; } echo "\n\t\t</ul>\n\t</div>"; } if ($nb_propositions_ou_remplacements == 0) { echo "<p>Aucune proposition de remplacement ne vous a été faite.</p>";
// On filtre au niveau sécurité pour s'assurer qu'un prof n'est pas en train de chercher // à visualiser des données pour lesquelles il n'est pas autorisé if (isset($id_classe)) { // On regarde si le type est correct : if (!is_numeric($id_classe)) { tentative_intrusion("3", "Changement de la valeur de id_classe pour un type non numérique, en changeant la valeur d'un champ 'hidden' d'un formulaire."); echo "Erreur."; require "../lib/footer.inc.php"; die; } // On teste si le professeur a le droit d'accéder à cette classe if ($_SESSION['statut'] == "professeur" and getSettingValue("GepiAccesMoyennesProfTousEleves") != "yes" and getSettingValue("GepiAccesMoyennesProfToutesClasses") != "yes") { $test = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], "SELECT jgc.* FROM j_groupes_classes jgc, j_groupes_professeurs jgp WHERE (jgp.login='******'login'] . "' AND jgc.id_groupe = jgp.id_groupe AND jgc.id_classe = '" . $id_classe . "')")); if ($test == "0") { if (!is_pp($_SESSION['login'], $id_classe) || !getSettingAOui('GepiAccesReleveProfP')) { $classe = get_nom_classe($id_classe); if ($id_classe_recu_en_post == "y") { tentative_intrusion("3", "Tentative d'accès par un prof à une classe ({$classe}) dans laquelle il n'enseigne pas, sans en avoir l'autorisation. Tentative avancée : changement des valeurs de champs de type 'hidden' du formulaire."); } else { tentative_intrusion("3", "Tentative d'accès par un prof à une classe ({$classe}) dans laquelle il n'enseigne pas, sans en avoir l'autorisation. Changement des valeurs de id_classe dans la barre d'adresse."); } //echo "Vous ne pouvez pas accéder à cette classe car vous n'y êtes pas professeur !"; //require ("../lib/footer.inc.php"); header("Location: ../accueil.php?msg=Vous n'êtes pas professeur de la classe de {$classe}."); die; } } } } if (!isset($id_classe) || !isset($num_periode)) { header("Location: index2.php?msg=" . rawurlencode('Choisissez une classe'));
for($loop=0;$loop<count($periode);$loop++) { if($loop>0) {$chaine_retour_periode.="&";} $chaine_retour_periode.="periode[]=".$periode[$loop]; } echo " | <a href='".$_SERVER['PHP_SELF']."'>Choisir d'autres périodes</a> | <a href='".$_SERVER['PHP_SELF']."?$chaine_retour_periode'>Choisir d'autres classes</a></p> <h2>Impression des $mod_disc_terme_avertissement_fin_periode</h2> <form enctype='multipart/form-data' action='".$_SERVER['PHP_SELF']."' method='post' name='formulaire' target='_blank'> <fieldset class='fieldset_opacite50'> <p class='bold'>Choix des élèves :</p>"; for($loop=0;$loop<count($id_classe);$loop++) { echo " <div style='margin-left:3em; margin-bottom:0.5em; width:25em; padding: 0.2em;float:left;' class='fieldset_opacite50'> <p>Classe de ".get_nom_classe($id_classe[$loop])."</p> <input type='hidden' name='id_classe[]' value='".$id_classe[$loop]."' />"; for($loop2=0;$loop2<count($periode);$loop2++) { echo " <p style='margin-left:2em;'>Période ".$periode[$loop2]."</p>"; if($loop==0) { echo " <input type='hidden' name='periode[]' value='".$periode[$loop2]."' />"; } $sql="SELECT DISTINCT e.nom, e.prenom, e.login FROM eleves e, j_eleves_classes jec, s_avertissements sa WHERE e.login=jec.login AND
$res_per = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_per) > 0) { $lig_per = mysqli_fetch_object($res_per); $tab_per[$lig_per->num_periode] = $lig_per->nom_periode; } } } } } else { $sql = "SELECT * FROM periodes WHERE id_classe='" . $id_classe[$i] . "' ORDER BY num_periode;"; $res_per = mysqli_query($GLOBALS["mysqli"], $sql); while ($lig_per = mysqli_fetch_object($res_per)) { $tab_per[$lig_per->num_periode] = $lig_per->nom_periode; } } echo "\n\t\t<tr>\n\t\t\t<td rowspan='" . count($tab_per) . "'>\n\t\t\t\t<input type='hidden' name='id_classe[]' value='" . $id_classe[$i] . "' />" . get_nom_classe($id_classe[$i]) . "\n\t\t\t</td>"; $cpt_per = 0; foreach ($tab_per as $key => $value) { if ($cpt_per > 0) { echo "\n\t\t<tr>"; } echo "\n\t\t\t<td><input type='hidden' name='num_periode_" . $id_classe[$i] . "[]' value='{$key}' />{$value}</td>\n\t\t\t<td style='text-align:left;'>"; if ($choix_matieres == 'certaines') { if (isset($_POST['id_groupe_' . $id_classe[$i]])) { $tmp_grp = $_POST['id_groupe_' . $id_classe[$i]]; $temoin_grp = 0; for ($loop = 0; $loop < count($tmp_grp); $loop++) { if (isset($tmp_grp[$loop])) { if ($temoin_grp > 0) { //echo ", "; echo "<br />";
echo "\r\n\t\t<p><a href='javascript: checkAll();'>Tout cocher</a> / <a href='javascript:UncheckAll();'>Tout décocher</a></p>\r\n\t\t<p><input type='submit' name='Valider' value='Valider' /></p>\r\n\t</fieldset>\r\n</form>\r\n\r\n<script type='text/javascript'>\r\n\r\n\tfunction checkAll(){\r\n\t\tchamps_input=document.getElementsByTagName('input');\r\n\t\tfor(i=0;i<champs_input.length;i++){\r\n\t\t\ttype=champs_input[i].getAttribute('type');\r\n\t\t\tif(type=='checkbox'){\r\n\t\t\t\tchamps_input[i].checked=true;\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction UncheckAll(){\r\n\t\tchamps_input=document.getElementsByTagName('input');\r\n\t\tfor(i=0;i<champs_input.length;i++){\r\n\r\n\t\t\ttype=champs_input[i].getAttribute('type');\r\n\t\t\tif(type=='checkbox'){\r\n\t\t\t\tchamps_input[i].checked=false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n</script>\n"; require "../lib/footer.inc.php"; die; } //============================================================================== // Choix des élèves $chaine_retour_periode = ""; for ($loop = 0; $loop < count($periode); $loop++) { if ($loop > 0) { $chaine_retour_periode .= "&"; } $chaine_retour_periode .= "periode[]=" . $periode[$loop]; } echo " | <a href='" . $_SERVER['PHP_SELF'] . "'>Choisir d'autres périodes</a> | <a href='" . $_SERVER['PHP_SELF'] . "?{$chaine_retour_periode}'>Choisir d'autres classes</a></p>\r\n\r\n<h2>Impression des {$mod_disc_terme_avertissement_fin_periode}</h2>\r\n\r\n<form enctype='multipart/form-data' action='" . $_SERVER['PHP_SELF'] . "' method='post' name='formulaire' target='_blank'>\r\n\t<fieldset class='fieldset_opacite50'>\r\n\t\t<p class='bold'>Choix des élèves :</p>"; for ($loop = 0; $loop < count($id_classe); $loop++) { echo "\r\n\t\t<div style='margin-left:3em; margin-bottom:0.5em; width:25em; padding: 0.2em;float:left;' class='fieldset_opacite50'>\r\n\t\t\t<p>Classe de " . get_nom_classe($id_classe[$loop]) . "</p>\r\n\t\t\t<input type='hidden' name='id_classe[]' value='" . $id_classe[$loop] . "' />"; for ($loop2 = 0; $loop2 < count($periode); $loop2++) { echo "\r\n\t\t\t\t<p style='margin-left:2em;'>Période " . $periode[$loop2] . "</p>"; if ($loop == 0) { echo "\r\n\t\t\t\t<input type='hidden' name='periode[]' value='" . $periode[$loop2] . "' />"; } $sql = "SELECT DISTINCT e.nom, e.prenom, e.login FROM eleves e, \r\n\t\t\t\t\t\t\t\tj_eleves_classes jec, \r\n\t\t\t\t\t\t\t\ts_avertissements sa\r\n\t\t\t\t\t\t\tWHERE e.login=jec.login AND \r\n\t\t\t\t\t\t\t\tjec.id_classe='" . $id_classe[$loop] . "' AND \r\n\t\t\t\t\t\t\t\te.login=sa.login_ele AND\r\n\t\t\t\t\t\t\t\tsa.periode='" . $periode[$loop2] . "'\r\n\t\t\t\t\t\t\tORDER BY e.nom, e.prenom;"; //echo "$sql<br />"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) == 0) { echo "\r\n\t\t\t\t<p style='margin-left:4em;'>Aucun élève.</p>"; } else { echo "\r\n\t\t\t\t<p style='margin-left:4em;'>"; $cpt = 0; while ($lig = mysqli_fetch_object($res)) { echo "\r\n\t\t\t\t\t<input type='checkbox' name='eleve[]' id='eleve_" . $id_classe[$loop] . "_" . $periode[$loop2] . "_" . $cpt . "' value=\"" . $id_classe[$loop] . "|" . $periode[$loop2] . "|" . $lig->login . "\" /><label for='eleve_" . $id_classe[$loop] . "_" . $periode[$loop2] . "_" . $cpt . "'> " . $lig->prenom . " " . $lig->nom . "</label><br />\n";
echo $nom_periode[$i]." (<em style='color:".$couleur_verrouillage_periode['O']."'>période close</em>)<br />"; } $i++; } //} require("../lib/footer.inc.php"); die(); } //=============================== // Choix de l'élève echo " | <a href='".$_SERVER['PHP_SELF']."'>Choisir une autre classe</a> | <a href='".$_SERVER['PHP_SELF']."?id_classe=$id_classe'>Choisir une autre période</a></p> <p class='bold'>Classe de ".get_nom_classe($id_classe)." en période $periode</p> <p>Choix de l'élève :<br />"; $sql="SELECT DISTINCT e.* FROM eleves e, j_eleves_classes jec WHERE e.login=jec.login AND jec.id_classe='$id_classe' AND jec.periode='$periode' ORDER BY e.nom, e.prenom;"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { echo "<p style='color:red'>Aucun élève n'a été trouvé.</p>\n"; } else { while($lig=mysqli_fetch_object($res)) { echo "<a href='".$_SERVER['PHP_SELF']."?id_classe=$id_classe&periode=$periode&login_ele=".$lig->login."' title=\"Saisir un ".$mod_disc_terme_avertissement_fin_periode." pour cet élève en période $periode\">".$lig->nom." ".$lig->prenom."</a><br />\n"; } } require("../lib/footer.inc.php"); }
/* echo "<pre>"; print_r($current_login); echo "</pre>"; */ for ($loop2 = 0; $loop2 < count($current_login); $loop2++) { $chaine = $id_classe[$loop] . "|" . $current_login[$loop2] . "|" . $current_id_engagement; //echo "$chaine<br />"; // Il ne faut pas désinscrire les élèves ici $tmp_info_user = get_info_user($current_login[$loop2]); if (!in_array($chaine, $engagement) && $tmp_info_user['statut'] == 'responsable') { $sql = "DELETE FROM engagements_user WHERE login='******' AND id_type='id_classe' AND valeur='" . $id_classe[$loop] . "' AND id_engagement='{$current_id_engagement}';"; //echo "$sql<br />"; $del = mysqli_query($GLOBALS["mysqli"], $sql); if (!$del) { $msg .= "Erreur lors de la suppression de l'engagement n°{$current_id_engagement} en classe " . get_nom_classe($id_classe[$loop]) . " pour " . civ_nom_prenom($current_login[$loop2]) . "<br />"; } else { $nb_desinscriptions++; $msg .= "Désinscription de " . civ_nom_prenom($current_login[$loop2]) . "<br />"; } } } } } $msg .= $nb_desinscriptions . " suppression(s) d'engagements.<br />"; } // ======================== CSS et js particuliers ======================== //$utilisation_win = "non"; //$utilisation_jsdivdrag = "non"; //$javascript_specifique = ".js"; //$style_specifique = ".css";