Hide announcements when they have expired

refs #11198
This commit is contained in:
Eric Lippmann 2016-12-13 11:01:19 +01:00
parent b75e24db91
commit a78ac6dfab

View File

@ -152,11 +152,19 @@ class AnnouncementIniRepository extends IniRepository
{ {
$now = new DateTime(); $now = new DateTime();
$query = $this $query = $this
->select(array('start')) ->select(array('start', 'end'))
->setFilter(Filter::expression('start', '>', $now)) ->setFilter(Filter::matchAny(array(
->order('start') Filter::expression('start', '>', $now), Filter::expression('end', '>', $now)
->limit(1); )));
$nextActive = $query->fetchRow(); $refresh = null;
return $nextActive !== false ? $nextActive->start->getTimestamp() : null; foreach ($query as $row) {
$min = min($row->start->getTimestamp(), $row->end->getTimestamp());
if ($refresh === null) {
$refresh = $min;
} else {
$refresh = min($refresh, $min);
}
}
return $refresh;
} }
} }