<?php // Librairie du parser d'iCal require 'class.iCalReader.php'; // URL du calendrier d'HackJack $url = 'http://www.hackjack.info/et/' . $_POST["semester"] . '_A/ical'; // Vérification de la validité du semestre séléctionné if (get_headers($url)[0] != 'HTTP/1.1 200 OK') { echo 'error'; } else { $ical = new ical($url); $modules = array(); $sub = array("Cours", "cours", "/", "TD", "td", "TP", "tp", "Machine"); // Liste des modules foreach ($ical->events() as $event) { $modules[substr($event["SUMMARY"], -9, -1)] = ltrim(str_replace($sub, "", substr($event["SUMMARY"], 0, -11))); } ksort($modules); // Retour des modules sous forme de tableau JSON echo json_encode($modules); }
<?php // Librairie du parser d'iCal require 'class.iCalReader.php'; setlocale(LC_ALL, 'fr_FR'); $ical = new ical('http://127.0.0.1/BdxCalendar/calendar.php?semester=IN601&group=2&filters=J1IN6014,J1IN6016,J1INPM01,N1MA6W31&anglais=450&groupBD=1&groupAlgo=0&groupAS=4'); $nb_events = $ical->event_count; $events = $ical->events(); if (!isset($_GET['semaine'])) { $_GET['semaine'] = 0; } $current_date = strtotime('+' . $_GET['semaine'] . ' week', time()); $current_day = strtotime('last monday', strtotime('+3 day', $current_date)); $timestamp_ics = strftime('%Y%m%d', $current_day); $last_day = strftime('%Y%m%d', strtotime('+4 days', $current_day)); $i = 0; while (intval(substr($events[$i]['DTSTART'], 0, -8)) < intval($timestamp_ics)) { unset($events[$i]); $i++; } $i = $nb_events - 1; while (intval(substr($events[$i]['DTSTART'], 0, -8)) > intval($last_day)) { unset($events[$i]); $i--; } $days = array(); foreach ($events as $event) { } $events = array_values($events); echo strftime('Semaine %V', $current_date); ?>