Список событий календаря показывает удаленные события. Как я могу их скрыть? - PullRequest
1 голос
/ 17 февраля 2012

На моей домашней странице я показываю список событий, созданных в моем календаре Google. см: моя домашняя страница-> список событий

Теперь я удалил события из своего календаря. Они больше не видны в обычном календаре Google, но теперь они появились в моем списке событий.

Это скрипт для моего списка событий:

<a href="http://www.takenosono.de/termine.phtml">
<?php
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_Calendar');

$service = new Zend_Gdata_Calendar();

$query = $service->newEventQuery();
$query->setUser('mymagiccookie%40group.calendar.google.com');
$query->setVisibility('public');
$query->setProjection('full');
$query->setStartMin(date('Y-n-j'));
$query->setStartMax(date('Y-n-j', time() + (60*60 *24*60)));
$query->setOrderby ('starttime');
$query->setSortOrder('a');
//$query->setFutureevents(true);
$eventFeed = $service->getCalendarEventFeed($query);
echo "<h3>Besondere Termine:</h3><h6>";
setlocale(LC_TIME, 'deu', 'de_DE.UTF-8');

foreach ($eventFeed as $event) {
echo "" . $event->title->text .   "\n";
// Zend_Gdata_App_Extensions_Title->__toString() is defined, so the
// following will also work on PHP >= 5.2.0
//echo "\t<li>" . $event->title .  " (" . $event->id . ")\n";

foreach ($event->when as $when) {

$startTime = $when->startTime;
$endTime = $when->endTime;

echo "<br>" . strftime("%a %d. ", strtotime( $startTime )); 
if (strftime("%d.", strtotime( $endTime )) != strftime("%d.", strtotime( $startTime ))):
echo strftime("bis  %d. ", strtotime( $endTime ));
endif;

echo strftime("%b", strtotime( $endTime ));

if (strftime("%d.", strtotime( $endTime )) == strftime("%d.", strtotime( $startTime ))):
echo strftime(" - %H:%M", strtotime( $startTime ));
endif;
echo "<br><br><img src='picture/Trenner.gif'><br>";
 }

 }
 echo "mehr: hier klicken...";
 ?>
</a>

Вопрос: что я могу сделать, чтобы удаленные события больше не отображались в этом списке? Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 02 апреля 2012

Просто используйте статус события так:

foreach ($eventFeed as $event) {
    if ($event->getEventStatus() != 'http://schemas.google.com/g/2005#event.canceled')
    {
        //your foreach code
    }
}
...