/** * Creates events for the day view. * * @param Event $event * @param int $lwst * @param int $hgst * @param int $cl_start * @param int $cl_end * @param array $events_created * @return boolean */ private static function createDayViewEvent($event, $lwst, $hgst, $cl_start, $cl_end, array &$events_created) { // if this date is in the exceptions? if ($event->getProperty('EXDATE')) { $exdates = explode(',', $event->getProperty('EXDATE')); foreach ($exdates as $exdate) { if ($exdate > 0 && $exdate >= $lwst && $exdate <= $hgst) { return false; } } } // is event expired? $rrule = $event->getRecurrence(); if ($rrule['rtype'] != 'SINGLE' && $rrule['expire'] > 0 && $rrule['expire'] < $hgst) { return false; } $start = mktime(date('G', $event->getStart()), date('i', $event->getStart()), date('s', $event->getStart()), date('n', $lwst), date('j', $lwst), date('Y', $lwst)); $end = mktime(date('G', $event->getEnd()), date('i', $event->getEnd()), date('s', $event->getEnd()), date('n', $hgst), date('j', $hgst), date('Y', $hgst)); if ($start <= $cl_start && $end >= $cl_end || $start >= $cl_start && $start < $cl_end || $end > $cl_start && $end <= $cl_end) { if (!$events_created[implode('', (array) $event->getId()) . $start]) { $new_event = clone $event; $new_event->setStart($start); $new_event->setEnd($end); $events_created[implode('', (array) $event->getId()) . $start] = $new_event; } } }
/** * @covers Phossa\Event\Event::setProperty */ public function testSetProperty() { $this->object->setProperty('wow', 'bingo'); $this->assertTrue('bingo' === $this->object->getProperty('wow')); }