/* construction du tableau des données */ /* ******************************************** */ // chargement des information de la base de données // les données concernerons la journée du (date au format timestamp) $choix_date = explode("/",$date_choisie); $date_choisie_ts = mktime(0,0,0, $choix_date[1], $choix_date[0], $choix_date[2]); // On récupère le nom des créneaux $creneaux = retourne_creneaux(); // on compte le nombre de créneaux $nb_creneaux = count($creneaux); // On détermine le jour au format texte en Français actuel $jour_choisi = retourneJour(date("w", $date_choisie_ts)); // on recherche l'horaire d'ouverture et de fermetture de l'établissement $requete = mysqli_query($GLOBALS["mysqli"], "SELECT ouverture_horaire_etablissement, fermeture_horaire_etablissement FROM horaires_etablissement WHERE jour_horaire_etablissement = '" . $jour_choisi . "'"); $nbre_rep = mysqli_num_rows($requete); if ($nbre_rep >= 1) { // Avec le résultat, on calcule les timestamps UNIX $req = mysqli_fetch_array($requete); $rep_deb = explode(":", $req["ouverture_horaire_etablissement"]); $rep_fin = explode(":", $req["fermeture_horaire_etablissement"]); $time_actu_deb = mktime($rep_deb[0], $rep_deb[1], 0, $choix_date[1], $choix_date[0], $choix_date[2]); $time_actu_fin = mktime($rep_fin[0], $rep_fin[1], 0, $choix_date[1], $choix_date[0], $choix_date[2]);
// SQL : INSERT INTO droits VALUES ( './cahier_texte/visu_prof_jour.php', 'F', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'Acces_a_son_cahier_de_textes_personnel', ''); // maj : $tab_req[] = "INSERT INTO droits VALUES ( './cahier_texte/visu_prof_jour.php', 'F', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'Acces_a_son_cahier_de_textes_personnel', '');"; // if (!checkAccess()) { header("Location: ../logout.php?auto=2"); die; } // ======================== Initialisation des données ==================== // // ======================== Traitement des données ======================== // $today_ts = mktime(23, 59, 00, date("m"), date("d"), date("Y")); $une_semaine = 604800; // en secondes $semaine_prec = $une_semaine - 86400; // permet de construire la requête qui cherche les notices à afficher $ts_semaine_avant = $today_ts - $une_semaine; $today_jour = retourneJour(""); // retourne le jour de la semaine en toutes lettres et en Français $sql = "SELECT * FROM ct_entry WHERE id_login = '******'login'] . "'\n\t\t\t\t\t\t\t\tAND date_ct\n\t\t\t\t\t\t\t\tBETWEEN '" . ($ts_semaine_avant - 86400) . "' AND '" . $ts_semaine_avant . "'\n\t\t\t\t\t\t\t\tORDER BY heure_entry"; $query = mysqli_query($GLOBALS["mysqli"], $sql) or die('ERREUR SQL : ' . $sql . '<br /> --> ' . mysqli_error($GLOBALS["mysqli"])); $a = 0; while ($rep = mysqli_fetch_array($query)) { $tab_rep[$a]['heure'] = $rep['heure_entry']; $tab_rep[$a]['groupe'] = $rep['id_groupe']; $tab_rep[$a]['date'] = date("d-m-Y", $rep['date_ct']); $tab_rep[$a]['contenu'] = $rep['contenu']; $a++; } if ($a === 0) { $tab_rep[$a]['heure'] = ""; $tab_rep[$a]['groupe'] = ""; $tab_rep[$a]['date'] = "";
/** * Fonction qui retourne l'id du cours d'un prof à un créneau, jour et type_semaine donnés * @param string $prof Login de l'enseignant * @return int l'id du cours */ function retourneCours($prof) { global $mysqli; $retour = 'non'; $sql = "SELECT id_cours FROM edt_cours, j_groupes_professeurs WHERE\r\n\t\t\tedt_cours.jour_semaine='" . retourneJour('') . "' AND\r\n\t\t\tedt_cours.id_definie_periode='" . retourneCreneau() . "' AND\r\n\t\t\tedt_cours.id_groupe=j_groupes_professeurs.id_groupe AND\r\n\t\t\tlogin='******' AND\r\n\t\t\tedt_cours.heuredeb_dec = '0' AND\r\n\t\t\t(edt_cours.id_semaine = '" . typeSemaineActu() . "' OR edt_cours.id_semaine = '0')\r\n\t\t\tORDER BY edt_cours.id_semaine"; $query = mysqli_query($mysqli, $sql) or die('Erreur : retourneCours(prof) !' . mysqli_error($GLOBALS["mysqli"])); $nbreCours = $query->num_rows; if ($nbreCours >= 1) { $reponse = $query->fetch_object(); $retour = $reponse->id_cours; $query->close(); } else { // On teste les AID $sql_aid = "SELECT id_cours FROM edt_cours WHERE\r\n jour_semaine = '" . retourneJour('') . "' AND\r\n id_definie_periode = '" . retourneCreneau() . "' AND\r\n id_aid != NULL AND\r\n id_aid != '' AND\r\n login_prof = '" . $prof . "' AND\r\n heuredeb_dec = '0' AND\r\n (id_semaine = '" . typeSemaineActu() . "' OR id_semaine = '0')\r\n ORDER BY id_semaine"; $query_aid = mysqli_query($mysqli, $sql_aid) or die('Erreur : retourneCours(prof) !' . mysqli_error($GLOBALS["mysqli"])); $nbreCours = $query_aid->num_rows; if ($nbreCours >= 1) { $reponse_aid = $query_aid->fetch_object(); $retour = $reponse_aid->id_cours; $query_aid->close(); } } return $retour; }
if ($cren == "diff") { // On peut cocher un seul jour différent des autres // Si ce jour n'existe pas, on coche "aucun" if ($creneau_different == 'n') { $coche = ' checked="checked"'; } else { $coche = ''; } echo '<p>Vous devez choisir un seul jour où les créneaux sont différents des autres jours (comme le mercredi...)</p>'; // On affiche alors une série de radio qui correspondent aux jours de la semaine echo ' <form name="choisir_jour_diff" action="admin_periodes_absences.php" method="post"> <p>'; for ($c = 0; $c < 7; $c++) { $id = $c; $jour = retourneJour($c); // le jour de la semaine en Français // On détermine le coche if ($creneau_different == $c) { $coched = ' checked="checked"'; } else { $coched = ''; } echo ' <label for="jourSemaine' . $c . '">' . $jour . '</label> <input type="radio" id="jourSemaine' . $c . '" name="jour_semaine" value="' . $c . '"' . $coched . ' /> '; } // for($c... echo ' <label for="aucunCren">Aucun</label>
</tr> </table> --> </td> </tr> <tr> <th style="border: 1px solid black; background-color: grey;">Classe</th> <th style="border: 1px solid black; background-color: grey; width: 300px;">Nom Prénom</th> <th style="width: 500px; border: 1px solid black; background-color: grey;">Dates des absences saisies</th> </tr> <?php // Quelques variables utiles $jour_choisi = retourneJour(date("w")); $query = mysqli_query($GLOBALS["mysqli"], "SELECT ouverture_horaire_etablissement, fermeture_horaire_etablissement FROM horaires_etablissement WHERE jour_horaire_etablissement = '".$jour_choisi."'"); $nbre_rep = mysqli_num_rows($query); if ($nbre_rep >= 1) { // Avec le résultat, on calcule les timestamps UNIX $req = mysqli_fetch_array($query); $rep_deb = explode(":", $req["ouverture_horaire_etablissement"]); $rep_fin = explode(":", $req["fermeture_horaire_etablissement"]); $time_actu_deb = mktime($rep_deb[0], $rep_deb[1], 0, $choix_date_deb[1], $choix_date_deb[0], $choix_date_deb[2]); $time_actu_fin = mktime($rep_fin[0], $rep_fin[1], 0, $choix_date_fin[1], $choix_date_fin[0], $choix_date_fin[2]); } // Affichage des noms répartis par classe $req_classe = mysqli_query($GLOBALS["mysqli"], "SELECT id, classe FROM classes ORDER BY classe");
// On peut cocher un seul jour différent des autres // Si ce jour n'existe pas, on coche "aucun" if ($creneau_different == 'n') { $coche = ' checked="checked"'; }else{ $coche = ''; } echo '<p>Vous devez choisir un seul jour où les créneaux sont différents des autres jours (comme le mercredi...)</p>'; // On affiche alors une série de radio qui correspondent aux jours de la semaine echo ' <form name="choisir_jour_diff" action="admin_periodes_absences.php" method="post"> <p>'; for($c = 0; $c < 7; $c++){ $id = $c; $jour = retourneJour($c); // le jour de la semaine en Français // On détermine le coche if ($creneau_different == $c) { $coched = ' checked="checked"'; }else{ $coched = ''; } echo ' <label for="jourSemaine'.$c.'">'.$jour.'</label> <input type="radio" id="jourSemaine'.$c.'" name="jour_semaine" value="'.$c.'"'.$coched.' /> '; } // for($c... echo ' <label for="aucunCren">Aucun</label> <input type="radio" id="aucunCren" name="jour_semaine" value="n"'.$coche.' /> <input type="hidden" name="action" value="visualiser" />