How can I sort events from multiple calendar resources (meeting room resources) by time start? Right now im able to display all the events from the resources but it sorted based on the position of calendar resources inside the coding. eg:
meeting room 1
(show meeting room 1 events if available and based on timestart)
meeting room 2
(show meeting room 2 events if available and based on timestart)
What i want is to sort all the resources based on timestart. eg:
check all the resources for any created events
If meeting room 2 start before meeting room 1
(show meeting room 2)
(show meeting room 1)
Here is my code:
$calendarId1 = 'meetingroom1@resource.calendar.google.com';
$calendarId2
= 'meetingroom2@resource.calendar.google.com';
$calendarId3 = 'meetingroom2@resource.calendar.google.com';
$optParams = array(
'maxResults' => 10,
'orderBy' => 'startTime',
'singleEvents' => TRUE,
'timeMin' => date('c'),
);
$results1 = $service->events->listEvents($calendarId1,$optParams);
$results2 = $service->events->listEvents($calendarId2,$optParams);
$results3 = $service->events->listEvents($calendarId3,$optParams);
$results=array($results1->getItems(),$results2->getItems(),$results3->getItems());
//declaration of color row counter to modulus
$counter=0;
$meetingticker=0;
if((count($results1) == 0)&&(count($results2) == 0)&&(count($results3) == 0))
{
$meetingticker++;
echo "room is free";
} else
{
$i=0;
while($i<=2)
{
foreach($results[$i] as $event)
{
$start = $event->start->dateTime;
$end = $event->end->dateTime;
if (empty($start)) {
$start = $event->start->date;
}
$dateStart = date("jS F Y", strtotime($start));
$timeStartinU = strtotime($start);//date("H:i", strtotime($start));
$timeEndinU = strtotime($end);//date("H:i", strtotime($end));
$timeStart= date("H:i", strtotime($start));
$timeEnd = date("H:i", strtotime($end));
$lokasi = $event['location'];
$meeting = $event->getSummary();
if (($timeStartinU<= $currentTime)&&($timeEndinU>= $currentTime))
{
//show date summary location in blue color
$counter++;
}
else
{
//show date summary location in dark blue color
$counter++;
}
}$i++;
}