Google Calendar i Zend Framework
Witam,
Dziś pokażę, jak można używać Google Calendar i Zend Framework do monitorowania czasu pracy nad projektem. W kalendarzu od Googla mogę zapisywać co robię i ile czasu mi to zajmuje. Używając Frameworka od Zenda mogę te dane odczytać. A więc:
$client = new Zend_Http_Client();
$gdataCal = new Zend_Gdata_Calendar($client);
$gdataCal->setUser('user@gmail.com');
$gdataCal->setVisibility('private-XXXXX'); // to znajdziesz w ustawieniach kalendarza
$gdataCal->setProjection('full-noattendees');
$gdataCal->setMaxResults(100); // na szybko,
$eventFeed = $gdataCal->getCalendarFeed();
$total = 0;
foreach ($eventFeed as $event) {
$title = $event->title();
$when = $event->{'gd:when'};
if(!preg_match('/^AAA/',$title)) continue; // literał, identyfikujący mój projekt
$start = strtotime($when['startTime']);
$end = strtotime($when['endTime']);
$interval = $end - $start;
$total += $interval;
echo date("Y-m-d",$start)." ".date("H:i",$interval)." - $title";
}
$totalHours = date('z',$total)*24 + date('H',$total);
echo "Total: $totalHours" . date(":i", $total);
Proste, co nie? Na wyniku jest odpowiedź, zawierająca łączną liczbę godzin spędzoną w pracy nad AAA.
Categories: PHP, Zend Framework