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); }
/** * @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; }
/** * @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; }