Esempio n. 1
0
 /**
  * @see Object\ClassDefinition\Data::getDataForEditmode
  * @param Object\Data\Hotspotimage $data
  * @param null|Model\Object\AbstractObject $object
  * @return integer
  */
 public function getDataForEditmode($data, $object = null)
 {
     if ($data instanceof Object\Data\Hotspotimage) {
         $imageId = null;
         if ($data->getImage()) {
             $imageId = $data->getImage()->getId();
         }
         $rewritePath = function ($data) {
             if (!is_array($data)) {
                 return array();
             }
             foreach ($data as &$element) {
                 if (array_key_exists("data", $element) && is_array($element["data"]) && count($element["data"]) > 0) {
                     foreach ($element["data"] as &$metaData) {
                         if ($metaData["value"] instanceof Element\ElementInterface) {
                             $metaData["value"] = $metaData["value"]->getFullPath();
                         }
                     }
                 }
             }
             return $data;
         };
         $marker = $rewritePath($data->getMarker());
         $hotspots = $rewritePath($data->getHotspots());
         return array("image" => $imageId, "hotspots" => $hotspots, "marker" => $marker, "crop" => $data->getCrop());
     }
     return null;
 }
Esempio n. 2
0
 /** See marshal
  * @param mixed $value
  * @param Model\Object\AbstractObject $object
  * @param mixed $params
  * @return mixed
  */
 public function unmarshal($value, $object = null, $params = [])
 {
     if (is_array($value)) {
         $image = new Object\Data\Hotspotimage();
         $image->setHotspots($value["hotspots"]);
         $image->setMarker($value["marker"]);
         $image->setCrop($value["crop"]);
         if ($value["image"]) {
             $type = $value["image"]["type"];
             $id = $value["image"]["id"];
             $asset = Element\Service::getElementById($type, $id);
             $image->setImage($asset);
         }
         return $image;
     }
 }