public function testFormatsAsMixedPermanent()
 {
     $permanent = new CultureFeed_Cdb_Data_Calendar_Permanent();
     $weekscheme = new \CultureFeed_Cdb_Data_Calendar_Weekscheme();
     $monday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::MONDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot1 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot2 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $monday->addOpeningTime($ot1);
     $monday->addOpeningTime($ot2);
     $tuesday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::TUESDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot3 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot4 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $tuesday->addOpeningTime($ot3);
     $tuesday->addOpeningTime($ot4);
     $wednesday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::WEDNESDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot5 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '17:00:00');
     $wednesday->addOpeningTime($ot5);
     $friday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::FRIDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot6 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot7 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $friday->addOpeningTime($ot6);
     $friday->addOpeningTime($ot7);
     $saturday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::SATURDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot8 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot9 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $saturday->addOpeningTime($ot8);
     $saturday->addOpeningTime($ot9);
     $weekscheme->setDay(SchemeDay::MONDAY, $monday);
     $weekscheme->setDay(SchemeDay::TUESDAY, $tuesday);
     $weekscheme->setDay(SchemeDay::WEDNESDAY, $wednesday);
     $weekscheme->setDay(SchemeDay::FRIDAY, $friday);
     $weekscheme->setDay(SchemeDay::SATURDAY, $saturday);
     $permanent->setWeekScheme($weekscheme);
     $this->assertEquals('Ma Van 9:00 tot 13:00' . PHP_EOL . 'Van 17:00 tot 20:00' . PHP_EOL . 'Di Van 9:00 tot 13:00' . PHP_EOL . 'Van 17:00 tot 20:00' . PHP_EOL . 'Wo Van 9:00 tot 17:00' . PHP_EOL . 'Do  gesloten' . PHP_EOL . 'Vr Van 9:00 tot 13:00' . PHP_EOL . 'Van 17:00 tot 20:00' . PHP_EOL . 'Za Van 9:00 tot 13:00' . PHP_EOL . 'Van 17:00 tot 20:00' . PHP_EOL . 'Zo  gesloten' . PHP_EOL, $this->formatter->format($permanent));
 }
Example #2
0
 /**
  * @see CultureFeed_Cdb_IElement::parseFromCdbXml(SimpleXMLElement
  *     $xmlElement)
  * @throws CultureFeed_Cdb_ParseException
  * @return CultureFeed_Cdb_Item_Actor
  */
 public static function parseFromCdbXml(SimpleXMLElement $xmlElement)
 {
     if (empty($xmlElement->categories)) {
         throw new CultureFeed_Cdb_ParseException('Categories missing for actor element');
     }
     if (empty($xmlElement->actordetails)) {
         throw new CultureFeed_Cdb_ParseException('Actordetails missing for actor element');
     }
     $actor = new self();
     CultureFeed_Cdb_Item_Base::parseCommonAttributes($actor, $xmlElement);
     $actor->setDetails(CultureFeed_Cdb_Data_ActorDetailList::parseFromCdbXml($xmlElement->actordetails));
     // Set categories
     $actor->setCategories(CultureFeed_Cdb_Data_CategoryList::parseFromCdbXml($xmlElement->categories));
     // Set contact information.
     if (!empty($xmlElement->contactinfo)) {
         $actor->setContactInfo(CultureFeed_Cdb_Data_ContactInfo::parseFromCdbXml($xmlElement->contactinfo));
     }
     // Set the keywords.
     self::parseKeywords($xmlElement, $actor);
     // Set the weekscheme.
     if (!empty($xmlElement->weekscheme)) {
         $actor->setWeekScheme(CultureFeed_Cdb_Data_Calendar_Weekscheme::parseFromCdbXml($xmlElement->weekscheme));
     }
     return $actor;
 }
Example #3
0
 /**
  * @see CultureFeed_Cdb_IElement::parseFromCdbXml(SimpleXMLElement $xmlElement)
  * @return CultureFeed_Cdb_Data_Calendar_Weekscheme
  */
 public static function parseFromCdbXml(SimpleXMLElement $xmlElement)
 {
     foreach (CultureFeed_Cdb_Data_Calendar_SchemeDay::$allowedDays as $day) {
         if (!isset($xmlElement->{$day})) {
             throw new CultureFeed_Cdb_ParseException("Missing required data for " . $day);
         }
     }
     $weekscheme = new CultureFeed_Cdb_Data_Calendar_Weekscheme();
     $weekscheme->setDay('monday', CultureFeed_Cdb_Data_Calendar_SchemeDay::parseFromCdbXml($xmlElement->monday));
     $weekscheme->setDay('tuesday', CultureFeed_Cdb_Data_Calendar_SchemeDay::parseFromCdbXml($xmlElement->tuesday));
     $weekscheme->setDay('wednesday', CultureFeed_Cdb_Data_Calendar_SchemeDay::parseFromCdbXml($xmlElement->wednesday));
     $weekscheme->setDay('thursday', CultureFeed_Cdb_Data_Calendar_SchemeDay::parseFromCdbXml($xmlElement->thursday));
     $weekscheme->setDay('friday', CultureFeed_Cdb_Data_Calendar_SchemeDay::parseFromCdbXml($xmlElement->friday));
     $weekscheme->setDay('saturday', CultureFeed_Cdb_Data_Calendar_SchemeDay::parseFromCdbXml($xmlElement->saturday));
     $weekscheme->setDay('sunday', CultureFeed_Cdb_Data_Calendar_SchemeDay::parseFromCdbXml($xmlElement->sunday));
     return $weekscheme;
 }
Example #4
0
 public function testAppendToDOM()
 {
     $open = CultureFeed_Cdb_Data_Calendar_SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN;
     $closed = CultureFeed_Cdb_Data_Calendar_SchemeDay::SCHEMEDAY_OPEN_TYPE_CLOSED;
     $ws = new CultureFeed_Cdb_Data_Calendar_Weekscheme();
     /** @var CultureFeed_Cdb_Data_Calendar_SchemeDay[] $days */
     $days = array();
     $days[] = new CultureFeed_Cdb_Data_Calendar_SchemeDay(CultureFeed_Cdb_Data_Calendar_SchemeDay::MONDAY, $closed);
     $days[] = new CultureFeed_Cdb_Data_Calendar_SchemeDay(CultureFeed_Cdb_Data_Calendar_SchemeDay::TUESDAY, $open);
     $days[] = new CultureFeed_Cdb_Data_Calendar_SchemeDay(CultureFeed_Cdb_Data_Calendar_SchemeDay::WEDNESDAY, $open);
     $days[] = new CultureFeed_Cdb_Data_Calendar_SchemeDay(CultureFeed_Cdb_Data_Calendar_SchemeDay::THURSDAY, $closed);
     $days[] = new CultureFeed_Cdb_Data_Calendar_SchemeDay(CultureFeed_Cdb_Data_Calendar_SchemeDay::FRIDAY, $open);
     $days[] = new CultureFeed_Cdb_Data_Calendar_SchemeDay(CultureFeed_Cdb_Data_Calendar_SchemeDay::SATURDAY, $open);
     $days[] = new CultureFeed_Cdb_Data_Calendar_SchemeDay(CultureFeed_Cdb_Data_Calendar_SchemeDay::SUNDAY, $closed);
     foreach ($days as $day) {
         $ws->setDay($day->getDayName(), $day);
     }
     $dom = new DOMDocument('1.0', 'utf8');
     $root = $dom->createElement('period');
     $dom->appendChild($root);
     $ws->appendToDOM($root);
     $this->assertXmlStringEqualsXmlFile(__DIR__ . '/samples/weekscheme.xml', $dom->saveXML());
 }
Example #5
0
 public function testAppendToDOM()
 {
     $from = '2013-12-06';
     $to = '2013-12-25';
     $period = new CultureFeed_Cdb_Data_Calendar_Period($from, $to);
     $scheme = new CultureFeed_Cdb_Data_Calendar_Weekscheme();
     $scheme->monday()->setOpen();
     $scheme->tuesday()->setOpen();
     $scheme->wednesday()->setOpen();
     $scheme->thursday()->setOpenByAppointment();
     $scheme->friday()->setOpen();
     $scheme->saturday()->setClosed();
     $scheme->sunday()->setClosed();
     $period->setWeekScheme($scheme);
     $dom = new DOMDocument('1.0', 'utf8');
     $root = $dom->createElement('calendar');
     $dom->appendChild($root);
     $period->appendToDOM($root);
     $this->assertXmlStringEqualsXmlFile(__DIR__ . '/samples/period.xml', $dom->saveXML());
 }
Example #6
0
 /**
  * @see CultureFeed_Cdb_IElement::parseFromCdbXml(SimpleXMLElement $xmlElement)
  * @return CultureFeed_Cdb_Data_Calendar_Permanent
  */
 public static function parseFromCdbXml(SimpleXMLElement $xmlElement)
 {
     if (!isset($xmlElement->permanentopeningtimes->permanent)) {
         throw new CultureFeed_Cdb_ParseException("Permanent data is missing for permanent opening times");
     }
     $permanentXml = $xmlElement->permanentopeningtimes->permanent;
     $calendar = new CultureFeed_Cdb_Data_Calendar_Permanent();
     if (!empty($permanentXml->weekscheme)) {
         $calendar->setWeekScheme(CultureFeed_Cdb_Data_Calendar_Weekscheme::parseFromCdbXml($permanentXml->weekscheme));
     }
     if (!empty($permanentXml->exceptions)) {
         $calendar->setExceptions(CultureFeed_Cdb_Data_Calendar_Exceptions::parseFromCdbXml($permanentXml->exceptions));
     }
     return $calendar;
 }
 public function testFormatsAWithMidnights()
 {
     $period = new CultureFeed_Cdb_Data_Calendar_Period('2015-03-20', '2015-03-27');
     $weekscheme = new \CultureFeed_Cdb_Data_Calendar_Weekscheme();
     $monday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::MONDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot1 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot2 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $monday->addOpeningTime($ot1);
     $monday->addOpeningTime($ot2);
     $tuesday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::TUESDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot3 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot4 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $tuesday->addOpeningTime($ot3);
     $tuesday->addOpeningTime($ot4);
     $wednesday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::WEDNESDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot3b = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot4b = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $wednesday->addOpeningTime($ot3b);
     $wednesday->addOpeningTime($ot4b);
     $thursday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::THURSDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot5 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '00:00:00');
     $thursday->addOpeningTime($ot5);
     $friday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::FRIDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot6 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot7 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $friday->addOpeningTime($ot6);
     $friday->addOpeningTime($ot7);
     $saturday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::SATURDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot8 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot9 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $saturday->addOpeningTime($ot8);
     $saturday->addOpeningTime($ot9);
     $weekscheme->setDay(SchemeDay::MONDAY, $monday);
     $weekscheme->setDay(SchemeDay::TUESDAY, $tuesday);
     $weekscheme->setDay(SchemeDay::WEDNESDAY, $wednesday);
     $weekscheme->setDay(SchemeDay::THURSDAY, $thursday);
     $weekscheme->setDay(SchemeDay::FRIDAY, $friday);
     $weekscheme->setDay(SchemeDay::SATURDAY, $saturday);
     $period->setWeekScheme($weekscheme);
     $periodList = new CultureFeed_Cdb_Data_Calendar_PeriodList();
     $periodList->add($period);
     $this->assertEquals('<p class="cf-period"> <time itemprop="startDate" datetime="2015-03-20"> ' . '<span class="cf-date">20 maart 2015</span> </time> <span class="cf-to cf-meta">tot</span> ' . '<time itemprop="endDate" datetime="2015-03-27"> <span class="cf-date">27 maart 2015</span> </time> ' . '</p> <p class="cf-openinghours">Open op:</p> <ul class="list-unstyled"> ' . '<meta itemprop="openingHours" datetime="Mo-We 9:00-20:00"> </meta> ' . '<li itemprop="openingHoursSpecification"> <span class="cf-days">Maandag - woensdag</span> ' . '<span itemprop="opens" content="9:00" class="cf-from cf-meta">van</span> ' . '<span class="cf-time">9:00</span> <span itemprop="closes" content="13:00" class="cf-to cf-meta">tot' . '</span> <span class="cf-time">13:00</span> <span itemprop="opens" content="17:00" class="cf-from cf-meta">' . 'van</span> <span class="cf-time">17:00</span> <span itemprop="closes" content="20:00" class="cf-to cf-meta">' . 'tot</span> <span class="cf-time">20:00</span> ' . '</li> <meta itemprop="openingHours" datetime="Th 9:00-0:00"> ' . '</meta> <li itemprop="openingHoursSpecification"> <span class="cf-days">Donderdag</span> ' . '<span itemprop="opens" content="9:00" class="cf-from cf-meta">van</span> ' . '<span class="cf-time">9:00</span> ' . '<span itemprop="closes" content="0:00" class="cf-to cf-meta">tot</span> ' . '<span class="cf-time">0:00</span> ' . '</li> <meta itemprop="openingHours" datetime="Fr-Sa 9:00-20:00"> </meta> ' . '<li itemprop="openingHoursSpecification"> <span class="cf-days">Vrijdag - zaterdag</span> ' . '<span itemprop="opens" content="9:00" class="cf-from cf-meta">van</span> ' . '<span class="cf-time">9:00</span> ' . '<span itemprop="closes" content="13:00" class="cf-to cf-meta">tot</span> ' . '<span class="cf-time">13:00</span> ' . '<span itemprop="opens" content="17:00" class="cf-from cf-meta">van</span> ' . '<span class="cf-time">17:00</span> ' . '<span itemprop="closes" content="20:00" class="cf-to cf-meta">tot</span> ' . '<span class="cf-time">20:00</span> ' . '</li> </ul>', $this->formatter->format($periodList));
 }
 public function testFormatsAsMixedPermanent()
 {
     $permanent = new CultureFeed_Cdb_Data_Calendar_Permanent();
     $weekscheme = new \CultureFeed_Cdb_Data_Calendar_Weekscheme();
     $monday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::MONDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot1 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot2 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $monday->addOpeningTime($ot1);
     $monday->addOpeningTime($ot2);
     $tuesday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::TUESDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot3 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot4 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $tuesday->addOpeningTime($ot3);
     $tuesday->addOpeningTime($ot4);
     $wednesday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::WEDNESDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot3b = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot4b = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $wednesday->addOpeningTime($ot3b);
     $wednesday->addOpeningTime($ot4b);
     $thursday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::THURSDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot5 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '17:00:00');
     $thursday->addOpeningTime($ot5);
     $friday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::FRIDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot6 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot7 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $friday->addOpeningTime($ot6);
     $friday->addOpeningTime($ot7);
     $saturday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::SATURDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot8 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot9 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $saturday->addOpeningTime($ot8);
     $saturday->addOpeningTime($ot9);
     $weekscheme->setDay(SchemeDay::MONDAY, $monday);
     $weekscheme->setDay(SchemeDay::TUESDAY, $tuesday);
     $weekscheme->setDay(SchemeDay::WEDNESDAY, $wednesday);
     $weekscheme->setDay(SchemeDay::THURSDAY, $thursday);
     $weekscheme->setDay(SchemeDay::FRIDAY, $friday);
     $weekscheme->setDay(SchemeDay::SATURDAY, $saturday);
     $permanent->setWeekScheme($weekscheme);
     $this->assertEquals('<ul class="list-unstyled"> <meta itemprop="openingHours" datetime="Mo-We 9:00-20:00"> </meta> ' . '<li itemprop="openingHoursSpecification"> <span class="cf-days">Maandag - woensdag</span> ' . '<span itemprop="opens" content="9:00" class="cf-from cf-meta">van</span>9:00' . '<span itemprop="closes" content="13:00" class="cf-to cf-meta">tot</span>13:00' . '<span itemprop="opens" content="17:00" class="cf-from cf-meta">van</span>17:00' . '<span itemprop="closes" content="20:00" class="cf-to cf-meta">tot</span>20:00</li>' . ' <meta itemprop="openingHours" datetime="Th 9:00-17:00"> </meta> ' . '<li itemprop="openingHoursSpecification"> <span class="cf-days">Donderdag</span> ' . '<span itemprop="opens" content="9:00" class="cf-from cf-meta">van</span>9:00' . '<span itemprop="closes" content="17:00" class="cf-to cf-meta">tot</span>17:00</li>' . ' <meta itemprop="openingHours" datetime="Fr-Sa 9:00-20:00"> </meta> ' . '<li itemprop="openingHoursSpecification"> <span class="cf-days">Vrijdag - zaterdag</span> ' . '<span itemprop="opens" content="9:00" class="cf-from cf-meta">van</span>9:00' . '<span itemprop="closes" content="13:00" class="cf-to cf-meta">tot</span>13:00' . '<span itemprop="opens" content="17:00" class="cf-from cf-meta">van</span>' . '17:00<span itemprop="closes" content="20:00" class="cf-to cf-meta">tot</span>20:00</li> </ul>', $this->formatter->format($permanent));
 }
 public function testFormatsAPeriod()
 {
     $period = new CultureFeed_Cdb_Data_Calendar_Period('2015-03-20', '2015-03-27');
     $weekscheme = new \CultureFeed_Cdb_Data_Calendar_Weekscheme();
     $monday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::MONDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot1 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot2 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $monday->addOpeningTime($ot1);
     $monday->addOpeningTime($ot2);
     $tuesday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::TUESDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot3 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot4 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $tuesday->addOpeningTime($ot3);
     $tuesday->addOpeningTime($ot4);
     $wednesday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::WEDNESDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot5 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '17:00:00');
     $wednesday->addOpeningTime($ot5);
     $friday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::FRIDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot6 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot7 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $friday->addOpeningTime($ot6);
     $friday->addOpeningTime($ot7);
     $saturday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::SATURDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot8 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $ot9 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('17:00:00', '20:00:00');
     $saturday->addOpeningTime($ot8);
     $saturday->addOpeningTime($ot9);
     $weekscheme->setDay(SchemeDay::MONDAY, $monday);
     $weekscheme->setDay(SchemeDay::TUESDAY, $tuesday);
     $weekscheme->setDay(SchemeDay::WEDNESDAY, $wednesday);
     $weekscheme->setDay(SchemeDay::FRIDAY, $friday);
     $weekscheme->setDay(SchemeDay::SATURDAY, $saturday);
     $period->setWeekScheme($weekscheme);
     $periodList = new CultureFeed_Cdb_Data_Calendar_PeriodList();
     $periodList->add($period);
     $this->assertEquals('Van 20 maart 2015 tot 27 maart 2015' . PHP_EOL . '(ma van 9:00 tot 13:00' . PHP_EOL . 'van 17:00 tot 20:00,' . PHP_EOL . 'di van 9:00 tot 13:00' . PHP_EOL . 'van 17:00 tot 20:00,' . PHP_EOL . 'wo van 9:00 tot 17:00,' . PHP_EOL . 'do  gesloten,' . PHP_EOL . 'vr van 9:00 tot 13:00' . PHP_EOL . 'van 17:00 tot 20:00,' . PHP_EOL . 'za van 9:00 tot 13:00' . PHP_EOL . 'van 17:00 tot 20:00,' . PHP_EOL . 'zo  gesloten)', $this->formatter->format($periodList));
 }
Example #10
0
 /**
  * @see CultureFeed_Cdb_IElement::parseFromCdbXml(SimpleXMLElement $xmlElement)
  * @return CultureFeed_Cdb_Item_Actor
  */
 public static function parseFromCdbXml(SimpleXMLElement $xmlElement)
 {
     if (empty($xmlElement->categories)) {
         throw new CultureFeed_Cdb_ParseException('Categories missing for actor element');
     }
     if (empty($xmlElement->actordetails)) {
         throw new CultureFeed_Cdb_ParseException('Actordetails missing for actor element');
     }
     $actor = new self();
     $actor_attributes = $xmlElement->attributes();
     if (isset($actor_attributes['cdbid'])) {
         $actor->setCdbId((string) $actor_attributes['cdbid']);
     }
     if (isset($actor_attributes['externalid'])) {
         $actor->setExternalId((string) $actor_attributes['externalid']);
     }
     if (isset($actor_attributes['availablefrom'])) {
         $actor->setAvailableFrom((string) $actor_attributes['availablefrom']);
     }
     if (isset($actor_attributes['availableto'])) {
         $actor->setAvailableTo((string) $actor_attributes['availableto']);
     }
     if (isset($actor_attributes['createdby'])) {
         $actor->setCreatedBy((string) $actor_attributes['createdby']);
     }
     if (isset($actor_attributes['creationdate'])) {
         $actor->setCreationDate((string) $actor_attributes['creationdate']);
     }
     if (isset($actor_attributes['lastupdated'])) {
         $actor->setLastUpdated((string) $actor_attributes['lastupdated']);
     }
     if (isset($actor_attributes['lastupdatedby'])) {
         $actor->setLastUpdatedBy((string) $actor_attributes['lastupdatedby']);
     }
     if (isset($actor_attributes['owner'])) {
         $actor->setOwner((string) $actor_attributes['owner']);
     }
     $actor->setDetails(CultureFeed_Cdb_Data_ActorDetailList::parseFromCdbXml($xmlElement->actordetails));
     // Set categories
     $actor->setCategories(CultureFeed_Cdb_Data_CategoryList::parseFromCdbXml($xmlElement->categories));
     // Set contact information.
     if (!empty($xmlElement->contactinfo)) {
         $actor->setContactInfo(CultureFeed_Cdb_Data_ContactInfo::parseFromCdbXml($xmlElement->contactinfo));
     }
     // Set the keywords.
     self::parseKeywords($xmlElement, $actor);
     // Set the weekscheme.
     if (!empty($xmlElement->weekscheme)) {
         $actor->setWeekScheme(CultureFeed_Cdb_Data_Calendar_Weekscheme::parseFromCdbXml($xmlElement->weekscheme));
     }
     return $actor;
 }
 public function testFormatsPermanentWithUnexistingCustomFormat()
 {
     $permanent = new CultureFeed_Cdb_Data_Calendar_Permanent();
     $weekscheme = new \CultureFeed_Cdb_Data_Calendar_Weekscheme();
     $monday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::MONDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot1 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $monday->addOpeningTime($ot1);
     $tuesday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::TUESDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot2 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $tuesday->addOpeningTime($ot2);
     $wednesday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::WEDNESDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot3 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $wednesday->addOpeningTime($ot3);
     $thursday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::THURSDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot4 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $thursday->addOpeningTime($ot4);
     $friday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::FRIDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot5 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '13:00:00');
     $friday->addOpeningTime($ot5);
     $saturday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::SATURDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot6 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '19:00:00');
     $saturday->addOpeningTime($ot6);
     $sunday = new \CultureFeed_Cdb_Data_Calendar_SchemeDay(SchemeDay::SUNDAY, SchemeDay::SCHEMEDAY_OPEN_TYPE_OPEN);
     $ot7 = new \CultureFeed_Cdb_Data_Calendar_OpeningTime('09:00:00', '19:00:00');
     $sunday->addOpeningTime($ot6);
     $weekscheme->setDay(SchemeDay::MONDAY, $monday);
     $weekscheme->setDay(SchemeDay::TUESDAY, $tuesday);
     $weekscheme->setDay(SchemeDay::WEDNESDAY, $wednesday);
     //$weekscheme->setDay(SchemeDay::THURSDAY, $thursday);
     $weekscheme->setDay(SchemeDay::FRIDAY, $friday);
     $weekscheme->setDay(SchemeDay::SATURDAY, $saturday);
     $weekscheme->setDay(SchemeDay::SUNDAY, $sunday);
     $permanent->setWeekScheme($weekscheme);
     $format = '1337';
     $this->setExpectedException('\\CultuurNet\\CalendarSummary\\FormatterException', $format . ' format not supported for CultureFeed_Cdb_Data_Calendar_Permanent');
     $this->formatter->format($permanent, $format);
 }
Example #12
0
 /**
  * @see CultureFeed_Cdb_IElement::parseFromCdbXml(SimpleXMLElement
  *     $xmlElement)
  * @return CultureFeed_Cdb_Data_Calendar_Period
  */
 public static function parseFromCdbXml(SimpleXMLElement $xmlElement)
 {
     if (empty($xmlElement->datefrom)) {
         throw new CultureFeed_Cdb_ParseException("Date from is missing for period");
     }
     if (empty($xmlElement->dateto)) {
         throw new CultureFeed_Cdb_ParseException("Date to is missing for period");
     }
     $period = new CultureFeed_Cdb_Data_Calendar_Period((string) $xmlElement->datefrom, (string) $xmlElement->dateto);
     if (!empty($xmlElement->weekscheme)) {
         $period->setWeekScheme(CultureFeed_Cdb_Data_Calendar_Weekscheme::parseFromCdbXml($xmlElement->weekscheme));
     }
     if (!empty($xmlElement->exceptions)) {
         $period->setExceptions(CultureFeed_Cdb_Data_Calendar_Exceptions::parseFromCdbXml($xmlElement->exceptions));
     }
     return $period;
 }