/** * {@inheritdoc} */ public function add(EventInterface $newEvent, array $events) { foreach ($events as $event) { if ($newEvent->getInterval()->isDuring($event->getInterval())) { throw CalendarEventException::eventOverlap($newEvent); } } return parent::add($newEvent, $events); }
/** * {@inheritdoc} */ public function add(EventInterface $newEvent, array $events) { $index = 0; foreach ($events as $event) { if ($newEvent->getInterval()->isBefore($event->getInterval())) { array_splice($events, $index, 0, array($newEvent)); return $events; } $index++; } $events[] = $newEvent; return $events; }
public function isEquals(EventInterface $event) { return $this->interval->getBegin()->isEquals($event->getInterval()->getBegin()) && $this->interval->getEnd()->isEquals($event->getInterval()->getEnd()); }