コード例 #1
0
ファイル: modules.php プロジェクト: Slummp/BdxCalendar
<?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);
}
コード例 #2
0
ファイル: test2.php プロジェクト: Slummp/BdxCalendar
<?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);
?>