Example #1
0
 /**
  * @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 &quot;Distributed&quot;"/>
       <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;
 }
Example #2
0
 public static function createFromJSON($json)
 {
     $data_array = json_decode($json, true);
     $result = array();
     foreach ($data_array['inputControlState'] as $k) {
         $temp = new self($k['uri'], $k['id'], $k['value'], $k['error']);
         if (!empty($k['options'])) {
             foreach ($k['options'] as $o) {
                 $temp->addOption($o['label'], $o['value'], $o['selected']);
             }
         }
         $result[] = $temp;
     }
     return $result;
 }