Recurr\Transformer\ArrayTransformer::handleExclusions PHP Метод

handleExclusions() защищенный Метод

protected handleExclusions ( array $exclusions, array $recurrences ) : Recurr\Recurrence[]
$exclusions array
$recurrences array
Результат Recurr\Recurrence[]
    protected function handleExclusions(array $exclusions, array $recurrences)
    {
        foreach ($exclusions as $exclusion) {
            $exclusionDate = $exclusion->date->format('Ymd');
            $exclusionTime = $exclusion->date->format('Ymd\\THis');
            $exclusionTimezone = $exclusion->date->getTimezone();
            foreach ($recurrences as $key => $recurrence) {
                $recurrenceDate = $recurrence->getStart();
                if ($recurrenceDate->getTimezone()->getName() !== $exclusionTimezone->getName()) {
                    $recurrenceDate = clone $recurrenceDate;
                    $recurrenceDate->setTimezone($exclusionTimezone);
                }
                if (!$exclusion->hasTime && $recurrenceDate->format('Ymd') == $exclusionDate) {
                    unset($recurrences[$key]);
                    continue;
                }
                if ($exclusion->hasTime && $recurrenceDate->format('Ymd\\THis') == $exclusionTime) {
                    unset($recurrences[$key]);
                }
            }
        }
        return array_values($recurrences);
    }