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_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; }