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