src/Calendar.php
public function toJsonLd()
    {
        $jsonLd = [];

        $jsonLd['calendarType'] = $this->getType()->toNative();
        // All calendar types allow startDate (and endDate).
        // One timestamp - full day.
        // One timestamp - start hour.
        // One timestamp - start and end hour.
        empty($this->startDate) ?: $jsonLd['startDate'] = $this->getStartDate()->format(DateTime::ATOM);
        empty($this->endDate) ?: $jsonLd['endDate'] = $this->getEndDate()->format(DateTime::ATOM);


        $timestamps = $this->getTimestamps();
        if (!empty($timestamps)) {
            $jsonLd['subEvent'] = array();
            foreach ($timestamps as $timestamp) {
                $jsonLd['subEvent'][] = array(
                  '@type' => 'Event',
                  'startDate' => $timestamp->getStartDate()->format(DateTime::ATOM),
                  'endDate' => $timestamp->getEndDate()->format(DateTime::ATOM),
                );
            }
        }

        // Period.
        // Period with openingtimes.
        // Permanent - "altijd open".
        // Permanent - with openingtimes
        $openingHours = $this->getOpeningHours();
        if (!empty($openingHours)) {
            $jsonLd['openingHours'] = array();
            foreach ($openingHours as $openingHour) {
                $jsonLd['openingHours'][] = $openingHour->serialize();
            }
        }

        return $jsonLd;
    }
public function toJsonLd()
    {
        $jsonLd = [];

        $jsonLd['calendarType'] = $this->getType()->toNative();
        // All calendar types allow startDate (and endDate).
        // One timestamp - full day.
        // One timestamp - start hour.
        // One timestamp - start and end hour.
        empty($this->startDate) ?: $jsonLd['startDate'] = $this->getStartDate()->format(DateTime::ATOM);
        empty($this->endDate) ?: $jsonLd['endDate'] = $this->getEndDate()->format(DateTime::ATOM);


        $timestamps = $this->getTimestamps();
        if (!empty($timestamps)) {
            $jsonLd['subEvent'] = array();
            foreach ($timestamps as $timestamp) {
                $jsonLd['subEvent'][] = array(
                  '@type' => 'Event',
                  'startDate' => $timestamp->getStartDate()->format(DateTime::ATOM),
                  'endDate' => $timestamp->getEndDate()->format(DateTime::ATOM),
                );
            }
        }

        // Period.
        // Period with openingtimes.
        // Permanent - "altijd open".
        // Permanent - with openingtimes
        $openingHours = $this->getOpeningHours();
        if (!empty($openingHours)) {
            $jsonLd['openingHours'] = array();
            foreach ($openingHours as $openingHour) {
                $jsonLd['openingHours'][] = $openingHour->serialize();
            }
        }

        return $jsonLd;
    }
public function toJsonLd ( ) { $ jsonLd = [ ] ; $ jsonLd [ 'calendarType' ] = $ this -> getType ( ) -> toNative ( ) ; // All calendar types allow startDate (and endDate). // One timestamp - full day. // One timestamp - start hour. // One timestamp - start and end hour. empty ( $ this -> startDate ) ? : $ jsonLd [ 'startDate' ] = $ this -> getStartDate ( ) -> format ( DateTime :: ATOM ) ; empty ( $ this -> endDate ) ? : $ jsonLd [ 'endDate' ] = $ this -> getEndDate ( ) -> format ( DateTime :: ATOM ) ; $ timestamps = $ this -> getTimestamps ( ) ; if ( ! empty ( $ timestamps ) ) { $ jsonLd [ 'subEvent' ] = array ( ) ; foreach ( $ timestamps as $ timestamp ) { $ jsonLd [ 'subEvent' ] [ ] = array ( '@type' => 'Event' , 'startDate' => $ timestamp -> getStartDate ( ) -> format ( DateTime :: ATOM ) , 'endDate' => $ timestamp -> getEndDate ( ) -> format ( DateTime :: ATOM ) , ) ; } } // Period. // Period with openingtimes. // Permanent - "altijd open". // Permanent - with openingtimes $ openingHours = $ this -> getOpeningHours ( ) ; if ( ! empty ( $ openingHours ) ) { $ jsonLd [ 'openingHours' ] = array ( ) ; foreach ( $ openingHours as $ openingHour ) { $ jsonLd [ 'openingHours' ] [ ] = $ openingHour -> serialize ( ) ; } } return $ jsonLd ; }
Return the jsonLD version of a calendar.
Return the jsonLD version of a calendar .