function updateRessources($db, $ressources, $startdate = null, $enddate = null, $GMT = "+1 hour") { if ($startdate == null) { $startdate = date("Y-m-d"); } if ($enddate == null) { $enddate = date("Y-m-d", strtotime("+30 days")); } $nb = array(); foreach ($ressources as $ressource) { $ical = new ICal('https://planning.univ-rennes1.fr/jsp/custom/modules/plannings/anonymous_cal.jsp?resources=' . $ressource . '&projectId=1&calType=ical&firstDate=' . $startdate . '&lastDate=' . $enddate); $events = $ical->events(); $insertNb = 0; purge_events($db, $ressource); if ($events) { foreach ($events as $event) { $export_d = date("Y/m/d H:i:s", strtotime($GMT, $ical->iCalDateToUnixTimestamp($event['DTSTAMP']))); $start_d = date("Y-m-d", strtotime($GMT, $ical->iCalDateToUnixTimestamp($event['DTSTART']))); $start_t = date("H:i:s", strtotime($GMT, $ical->iCalDateToUnixTimestamp($event['DTSTART']))); $end_d = date("Y-m-d", strtotime($GMT, $ical->iCalDateToUnixTimestamp($event['DTEND']))); $end_t = date("H:i:s", strtotime($GMT, $ical->iCalDateToUnixTimestamp($event['DTEND']))); $description = desc2json($event['DESCRIPTION']); $req = $db->prepare('insert into events (UID,ressource, StartDate, StartTime, EndDate, EndTime, Title, Location, Description,Export) VALUES (?,?,?,?,?,?,?,?,?,?)'); $res = $req->execute(array(issetor($event['UID']), $ressource, $start_d, $start_t, $end_d, $end_t, $event['SUMMARY'], issetor($event['LOCATION']), $description, $export_d)); $insertNb += $res; } } $nb[$ressource] = $insertNb; } $req = $db->prepare("UPDATE ressources r inner join events e on r.number = e.ressource set r.last_sync = e.Export"); $req->execute(); return $nb; }
* @author Martin Thoma <*****@*****.**> * @license http://www.opensource.org/licenses/mit-license.php MIT License * @version SVN: <svn_id> * @link http://code.google.com/p/ics-parser/ * @example $ical = new ical('MyCal.ics'); * print_r( $ical->get_event_array() ); */ require 'class.iCalReader.php'; $ical = new ICal('Calendar.ics'); $events = $ical->events(); $date = $events[0]['DTSTART']; echo 'The ical date: '; echo $date; echo "<br />\n"; echo 'The Unix timestamp: '; echo $ical->iCalDateToUnixTimestamp($date); echo "<br />\n"; echo 'The number of events: '; echo $ical->event_count; echo "<br />\n"; echo 'The number of todos: '; echo $ical->todo_count; echo "<br />\n"; echo '<hr/><hr/>'; foreach ($events as $event) { echo 'SUMMARY: ' . @$event['SUMMARY'] . "<br />\n"; echo 'DTSTART: ' . $event['DTSTART'] . ' - UNIX-Time: ' . $ical->iCalDateToUnixTimestamp($event['DTSTART']) . "<br />\n"; echo 'DTEND: ' . $event['DTEND'] . "<br />\n"; echo 'DTSTAMP: ' . $event['DTSTAMP'] . "<br />\n"; echo 'UID: ' . @$event['UID'] . "<br />\n"; echo 'CREATED: ' . @$event['CREATED'] . "<br />\n";
* @author Martin Thoma <*****@*****.**> * @license http://www.opensource.org/licenses/mit-license.php MIT License * @version SVN: <svn_id> * @link http://code.google.com/p/ics-parser/ * @example $ical = new ical('MyCal.ics'); * print_r( $ical->get_event_array() ); */ require 'class.iCalReader.php'; $ical = new ICal('MyCal.ics'); $events = $ical->events(); $date = $events[0]['DTSTART']; echo "The ical date: "; echo $date; echo "<br/>"; echo "The Unix timestamp: "; echo $ical->iCalDateToUnixTimestamp($date); echo "<br/>"; echo "The number of events: "; echo $ical->event_count; echo "<br/>"; echo "The number of todos: "; echo $ical->todo_count; echo "<br/>"; echo "<hr/><hr/>"; foreach ($events as $event) { echo "SUMMARY: " . $event['SUMMARY'] . "<br/>"; echo "DTSTART: " . $event['DTSTART'] . " - UNIX-Time: " . $ical->iCalDateToUnixTimestamp($event['DTSTART']) . "<br/>"; echo "DTEND: " . $event['DTEND'] . "<br/>"; echo "DTSTAMP: " . $event['DTSTAMP'] . "<br/>"; echo "UID: " . $event['UID'] . "<br/>"; echo "CREATED: " . $event['CREATED'] . "<br/>";
foreach ($events['VEVENT'] as $data) { $e[$i]['UID'] = $data['UID']; $e[$i]['SUMMARY'] = $data['SUMMARY']; $e[$i]['LOCATION'] = isset($data['LOCATION']) ? $data['LOCATION'] : ''; // $ts = strtotime($data['DTSTART']); $changedDate = date('YmdHis', $ts); $e[$i]['DTSTART'] = $changedDate; $e[$i]['DTEND'] = $data['DTEND']; $i++; } $startDate = date('Y-m-d H:i'); $endDate = date('Y-m-d') . ' 23:59:00'; $upcomingEvents = $ical->eventsFromRange($startDate, $endDate, $e); if (is_array($upcomingEvents) && count($upcomingEvents)) { $unixTime = date('Y-m-d H:i:s', $ical->iCalDateToUnixTimestamp($upcomingEvents[0]['DTSTART'])); echo '<tr>'; echo '<td height="100">' . date('h:i a', strtotime($unixTime)) . '</td>'; echo '<td>' . @$upcomingEvents[0]['SUMMARY'] . '</td>'; echo '<td>' . @$upcomingEvents[0]['LOCATION'] . '</td>'; echo '</tr>'; echo '<tr>'; echo '<td colspan="3"><b>Commences in </b>' . $ical->dateDiff(date('Y-m-d H:i:s'), $unixTime) . '</td>'; echo '</tr>'; } else { echo '<tr>'; echo '<td colspan="3" align="center">No events found.</td>'; echo '</tr>'; } ?> </table>
} else { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { $success_message = "The file " . basename($_FILES["fileToUpload"]["name"]) . " has been uploaded successfully."; $ical = new ICal($target_file); $time = time(); $date = new DateTime(null); $todaystart = strtotime('today midnight'); $todayend = strtotime('tomorrow midnight'); $events = $ical->eventsFromRange($todaystart, $todayend); $counter = 0; foreach ($events as $event) { $ics_events[$counter] = []; array_push($ics_events[$counter], $counter + 1); array_push($ics_events[$counter], $event['SUMMARY']); array_push($ics_events[$counter], $event['LOCATION']); $startTime = $ical->iCalDateToUnixTimestamp($event['DTSTART']); $startTimeString = date('H:i', $startTime); array_push($ics_events[$counter], $startTimeString); $endTime = $ical->iCalDateToUnixTimestamp($event['DTEND']); $endTimeString = date('H:i', $endTime); array_push($ics_events[$counter], $endTimeString); $counter++; } } else { echo "Sorry, there was an error uploading your file."; } } } ?> <html> <head>
require "../lib/footer.inc.php"; die; } echo "<form action='" . $_SERVER['PHP_SELF'] . "' method='post'>\n\t<fieldset class='fieldset_opacite50'>\n\t\t" . add_token_field() . "\n\t\t<p style='margin-bottom:1em;'>L'année scolaire telle que saisie dans <a href='../gestion/param_gen.php'>Gestion générale/Configuration générale</a> court du " . strftime("%d/%m/%Y", $begin_bookings) . " au " . strftime("%d/%m/%Y", $end_bookings) . "</p>\n\t\t<p>Choisissez les dates à importer </p>"; require "./edt_ics_lib.php"; require "../lib/class.iCalReader.php"; $ical2 = new ICal($temp_perso . "/fichier_vacances_scolaires.ics"); // Mode debug: $debug_edt = "n"; echo "<p style='margin-bottom:1em; font-size:x-small;'>" . $ical2->event_count . " enregistrements dans ce fichier (<em>une partie seulement sera affichée (celle correspondant à l'année scolaire en cours)</em>).</p>"; if ($debug_edt == "y") { echo '<pre>'; } $cpt = 0; foreach ($ical2->events() as $event) { $tmp_ts_debut = $ical2->iCalDateToUnixTimestamp($event['DTSTART']); if ($tmp_ts_debut > $begin_bookings && $tmp_ts_debut < $end_bookings) { if ($debug_edt == "y") { echo "<hr />"; print_r($event); } $annee_courante = strftime("%Y", $tmp_ts_debut); $mois_courant = strftime("%m", $tmp_ts_debut); $jour_courant = strftime("%d", $tmp_ts_debut); if ($mois_courant > 10 || $mois_courant < 3) { $decalage_horaire = 1 * 3600; } elseif ($mois_courant > 3 && $mois_courant < 10) { $decalage_horaire = 2 * 3600; } elseif ($mois_courant == 3) { if (!isset($num_dernier_dimanche[$annee_courante][$mois_courant])) { $num_dernier_dimanche[$annee_courante][$mois_courant] = get_dernier_dimanche_du_mois($mois_courant, $annee_courante);
$e[$i]['LOCATION'] = isset($data['LOCATION']) ? $data['LOCATION'] : ''; // $ts = strtotime($data['DTSTART']); $changedDate = date('YmdHis', $ts); $e[$i]['DTSTART'] = $changedDate; $e[$i]['DTEND'] = $data['DTEND']; $i++; } } $startDate = date('Y-m-d'); $endDate = date('Y-m-d') . ' 23:59:00'; $todayEvents = $ical->eventsFromRange($startDate, $endDate, $e); if (count($todayEvents)) { $i = 1; foreach ($todayEvents as $event) { $unixTime = date('h:i a', $ical->iCalDateToUnixTimestamp($event['DTSTART'])); $rowcolor = $i / 2 == 0 ? 'grey_row' : 'white_row'; echo '<tr>'; echo '<td class="' . $rowcolor . '">' . $unixTime . '</td>'; echo '<td class="' . $rowcolor . '2">' . @$event['SUMMARY'] . '<div class="room">' . @$event['LOCATION'] . '</div></td>'; echo '</tr>'; $i++; } } else { echo '<tr>'; echo '<td align="center" colspan="2" height="30">No events found.</td>'; echo '</tr>'; } ?> </table> </div>