public function format(\CultureFeed_Cdb_Data_Calendar_PeriodList $periodList)
 {
     $period = $periodList->current();
     $output = $this->generateDates($period->getDateFrom(), $period->getDateTo());
     if (!is_null($period->getWeekScheme())) {
         $output .= $this->generateWeekscheme($period->getWeekScheme());
     }
     return $this->formatSummary($output);
 }
Example #2
0
 /**
  * @see CultureFeed_Cdb_IElement::parseFromCdbXml(SimpleXMLElement $xmlElement)
  * @return CultureFeed_Cdb_Data_Calendar_PeriodList
  */
 public static function parseFromCdbXml(SimpleXMLElement $xmlElement)
 {
     $periodList = new CultureFeed_Cdb_Data_Calendar_PeriodList();
     if (!empty($xmlElement->periods->period)) {
         foreach ($xmlElement->periods->period as $periodElement) {
             $periodList->add(CultureFeed_Cdb_Data_Calendar_Period::parseFromCdbXml($periodElement));
         }
     }
     return $periodList;
 }
 public function format(\CultureFeed_Cdb_Data_Calendar_PeriodList $periodList)
 {
     $period = $periodList->current();
     $startDate = $this->dateFromString($period->getDateFrom());
     $startDate->setTime(0, 0, 1);
     $now = new DateTime();
     if ($startDate > $now) {
         return $this->formatNotStarted($startDate);
     } else {
         $endDate = $this->dateFromString($period->getDateTo());
         return $this->formatStarted($endDate);
     }
 }
 public function format(\CultureFeed_Cdb_Data_Calendar_PeriodList $periodList)
 {
     $fmt = new IntlDateFormatter('nl_BE', IntlDateFormatter::FULL, IntlDateFormatter::FULL, date_default_timezone_get(), IntlDateFormatter::GREGORIAN, 'd MMMM yyyy');
     $fmtDay = new IntlDateFormatter('nl_BE', IntlDateFormatter::FULL, IntlDateFormatter::FULL, date_default_timezone_get(), IntlDateFormatter::GREGORIAN, 'eeee');
     $period = $periodList->current();
     $dateFromString = $period->getDateFrom();
     $dateFrom = strtotime($dateFromString);
     $intlDateFrom = $fmt->format($dateFrom);
     $intlDateFromDay = $fmtDay->format($dateFrom);
     $dateToString = $period->getDateTo();
     $dateTo = strtotime($dateToString);
     $intlDateTo = $fmt->format($dateTo);
     if ($intlDateFrom == $intlDateTo) {
         $output = $intlDateFromDay . ' ' . $intlDateFrom;
     } else {
         $output = 'Van ' . $intlDateFrom . ' tot ' . $intlDateTo;
     }
     return $output;
 }
 public function format(\CultureFeed_Cdb_Data_Calendar_PeriodList $periodList)
 {
     $fmt = new IntlDateFormatter('nl_BE', IntlDateFormatter::FULL, IntlDateFormatter::FULL, date_default_timezone_get(), IntlDateFormatter::GREGORIAN, 'd MMMM yyyy');
     $fmtDay = new IntlDateFormatter('nl_BE', IntlDateFormatter::FULL, IntlDateFormatter::FULL, date_default_timezone_get(), IntlDateFormatter::GREGORIAN, 'eeee');
     $period = $periodList->current();
     $dateFromString = $period->getDateFrom();
     $dateFrom = strtotime($dateFromString);
     $intlDateFrom = $fmt->format($dateFrom);
     $intlDateFromDay = $fmtDay->format($dateFrom);
     $dateToString = $period->getDateTo();
     $dateTo = strtotime($dateToString);
     $intlDateTo = $fmt->format($dateTo);
     if ($intlDateFrom == $intlDateTo) {
         $output = '<span class="cf-weekday cf-meta">' . $intlDateFromDay . '</span>';
         $output .= ' ';
         $output .= '<span class="cf-date">' . $intlDateFrom . '</span>';
     } else {
         $output = '<span class="cf-from cf-meta">Van</span> <span class="cf-date">' . $intlDateFrom . '</span> ';
         $output .= '<span class="cf-to cf-meta">tot</span> <span class="cf-date">' . $intlDateTo . '</span>';
     }
     return $output;
 }
Example #6
0
 /**
  * @see CultureFeed_Cdb_IElement::parseFromCdbXml(SimpleXMLElement
  *     $xmlElement)
  * @return CultureFeed_Cdb_Item_Event
  */
 public static function parseFromCdbXml(SimpleXMLElement $xmlElement)
 {
     if (empty($xmlElement->calendar)) {
         throw new CultureFeed_Cdb_ParseException('Calendar missing for event element');
     }
     if (empty($xmlElement->categories)) {
         throw new CultureFeed_Cdb_ParseException('Categories missing for event element');
     }
     if (empty($xmlElement->contactinfo)) {
         throw new CultureFeed_Cdb_ParseException('Contact info missing for event element');
     }
     if (empty($xmlElement->eventdetails)) {
         throw new CultureFeed_Cdb_ParseException('Eventdetails missing for event element');
     }
     if (empty($xmlElement->location)) {
         throw new CultureFeed_Cdb_ParseException('Location missing for event element');
     }
     $event_attributes = $xmlElement->attributes();
     $event = new CultureFeed_Cdb_Item_Event();
     CultureFeed_Cdb_Item_Base::parseCommonAttributes($event, $xmlElement);
     if (isset($event_attributes['private'])) {
         $event->setPrivate(filter_var((string) $event_attributes['private'], FILTER_VALIDATE_BOOLEAN));
     }
     if (isset($event_attributes['isparent'])) {
         $event->setIsParent(filter_var((string) $event_attributes['isparent'], FILTER_VALIDATE_BOOLEAN));
     }
     if (isset($event_attributes['pctcomplete'])) {
         $event->setPctComplete(floatval($event_attributes['pctcomplete']));
     }
     if (isset($event_attributes['published'])) {
         $event->setPublished(filter_var((string) $event_attributes['published'], FILTER_VALIDATE_BOOLEAN));
     }
     if (isset($event_attributes['validator'])) {
         $event->setValidator((string) $event_attributes['validator']);
     }
     if (isset($event_attributes['weight'])) {
         $event->setWeight((int) $event_attributes['weight']);
     }
     if (isset($xmlElement->agefrom)) {
         $event->setAgeFrom((int) $xmlElement->agefrom);
     }
     // Set calendar information.
     $calendar_type = key($xmlElement->calendar);
     if ($calendar_type == 'permanentopeningtimes') {
         $event->setCalendar(CultureFeed_Cdb_Data_Calendar_Permanent::parseFromCdbXml($xmlElement->calendar));
     } elseif ($calendar_type == 'timestamps') {
         $event->setCalendar(CultureFeed_Cdb_Data_Calendar_TimestampList::parseFromCdbXml($xmlElement->calendar->timestamps));
     } elseif ($calendar_type == 'periods') {
         $event->setCalendar(CultureFeed_Cdb_Data_Calendar_PeriodList::parseFromCdbXml($xmlElement->calendar));
     }
     // Set categories
     $event->setCategories(CultureFeed_Cdb_Data_CategoryList::parseFromCdbXml($xmlElement->categories));
     // Set contact information.
     $event->setContactInfo(CultureFeed_Cdb_Data_ContactInfo::parseFromCdbXml($xmlElement->contactinfo));
     // Set event details.
     $event->setDetails(CultureFeed_Cdb_Data_EventDetailList::parseFromCdbXml($xmlElement->eventdetails));
     // Set location.
     $event->setLocation(CultureFeed_Cdb_Data_Location::parseFromCdbXml($xmlElement->location));
     // Set organiser
     if (!empty($xmlElement->organiser)) {
         $event->setOrganiser(CultureFeed_Cdb_Data_Organiser::parseFromCdbXml($xmlElement->organiser));
     }
     // Set max participants.
     if (!empty($xmlElement->maxparticipants)) {
         $event->setMaxParticipants((int) $xmlElement->maxparticipants);
     }
     // Set booking period.
     if (!empty($xmlElement->bookingperiod)) {
         $event->setBookingPeriod(CultureFeed_Cdb_Data_Calendar_BookingPeriod::parseFromCdbXml($xmlElement->bookingperiod));
     }
     // Set relations.
     if (!empty($xmlElement->eventrelations) && !empty($xmlElement->eventrelations->relatedproduction)) {
         foreach ($xmlElement->eventrelations->relatedproduction as $relatedProduction) {
             $attributes = $relatedProduction->attributes();
             $event->addRelation(new CultureFeed_Cdb_Item_Reference((string) $attributes['cdbid'], (string) $relatedProduction, (string) $attributes['externalid']));
         }
     }
     self::parseKeywords($xmlElement, $event);
     if (!empty($xmlElement->languages)) {
         $event->setLanguages(CultureFeed_Cdb_Data_LanguageList::parseFromCdbXml($xmlElement->languages));
     }
     return $event;
 }