1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
$ical = new ICal('https://calendar.google.com/calendar/ical/***************/public/basic.ics', array(
'defaultSpan' => 2, // Default value
'defaultTimeZone' => 'UTC',
'defaultWeekStart' => 'MO', // Default value
'disableCharacterReplacement' => false, // Default value
'filterDaysAfter' => null, // Default value
'filterDaysBefore' => null, // Default value
'httpUserAgent' => null, // Default value
'skipRecurrence' => false, // Default value
));
$events = $ical->eventsFromInterval('1 year');
//récupération des événements ICAL dans un array
$a = array();
foreach ($events as $key => $event) {
$dtstart = $ical->iCalDateToDateTime($event->dtstart_array[3]);
$dtend = $ical->iCalDateToDateTime($event->dtend_array[3]);
$a[] = [
'start' => $dtstart->format('Y-m-d H:i:s'),
'end' => $dtend->format('Y-m-d H:i:s')
];
}
//Récupération événements déjà présents en BDD
$data = Booking::select('arrival', 'departure')
->where('house_id',2)
->where('agency_id',2)
->orderBy('arrival', 'ASC')
->get()->toArray();
$b= array();
foreach($data as $key=> $v){
$b[] = [
'start' => $v['arrival'],
'end' => $v['departure'],
];
}
//Comparaison des array
$insert = ArrayDiffMultidimensional::compare($a, $b);
//dd($result);
$delete = ArrayDiffMultidimensional::compare($b, $a);
//dd($delete); |
Partager