/** * @param SimpleXMLElement $xml * * @return Product */ public static function createFromXML(SimpleXMLElement $xml) { /* <product default="true" name="bpack 24/7"> <price price20To30="750" price10To20="650" price5To10="550" price2To5="450" priceLessThan2="350" countryIso2Code="BE"/> <option visiblity="NOT_VISIBLE_BY_CONSUMER_OPTIONAL" price="0" name="Saturday"/> <option visiblity="NOT_VISIBLE_BY_CONSUMER_OPTIONAL" price="0" name="Info "Distributed""/> <option visiblity="NOT_VISIBLE_BY_CONSUMER_OPTIONAL" price="0" name="Insurance"/> </product> */ $attributes = $xml->attributes(); $children = $xml->children(); $product = new self(); $product->setDefault($attributes['default'] == 'true'); $product->setName($attributes['name']); if (isset($children->price)) { foreach ($children->price as $priceXml) { $product->addPrice(Price::createFromXML($priceXml)); } } if (isset($children->option)) { foreach ($children->option as $optionXml) { $product->addOption(Option::createFromXML($optionXml)); } } return $product; }
/** * @author WN * @param string|null $content * @param int|null $color * @param int|null $option * @param int|null $bgcolor * @return Char */ public static function make($content = null, $color = null, $option = null, $bgcolor = null, $default = null) { $obj = new self($content); if ($content !== null) { $obj->setContent($content); } if ($color !== null) { $obj->setColor($color); } if ($bgcolor !== null) { $obj->setBgcolor($bgcolor); } $obj->setDefault($default); return $obj; }
/** * Create ConfigItem for default formulary table * * @return void */ public static function createDefaultConfigIfNotExists() { $defaultTable = self::getDefaultFormularyTable(); if ($defaultTable !== false) { $formulary = new self($defaultTable); if (!$formulary->populate(false)) { $formulary->activate(); $formulary->setDefault(); $formulary->persist(false); } } }