31 foreach ($this->
select(
'FREEBUSY') as $freebusy) {
35 if (isset($freebusy[
'FBTYPE']) && strtoupper(substr((
string)$freebusy[
'FBTYPE'], 0, 4)) !==
'BUSY') {
41 $periods = explode(
',', (
string)$freebusy);
43 foreach ($periods as $period) {
47 list($busyStart, $busyEnd) = explode(
'/', $period);
52 $busyEnd = $busyStart->add($busyEnd);
55 if ($start < $busyEnd && $end > $busyStart) {
97 'REQUEST-STATUS' =>
'*',
static parse($date, $referenceTz=null)
Parses either a Date or DateTime, or Duration value.
select($name)
Returns an array with elements that match the specified name.
isFree(DateTimeInterface $start, DatetimeInterface $end)
Checks based on the contained FREEBUSY information, if a timeslot is available.