Pimcore\Model\Object\ClassDefinition\Data\Hotspotimage::getDataForEditmode PHP Method

getDataForEditmode() public method

See also: Object\ClassDefinition\Data::getDataForEditmode
public getDataForEditmode ( Pimcore\Model\Object\Data\Hotspotimage $data, null | AbstractObject $object = null, mixed $params = [] ) : integer
$data Pimcore\Model\Object\Data\Hotspotimage
$object null | Pimcore\Model\Object\AbstractObject
$params mixed
return integer
    public function getDataForEditmode($data, $object = null, $params = [])
    {
        if ($data instanceof Object\Data\Hotspotimage) {
            $imageId = null;
            if ($data->getImage()) {
                $imageId = $data->getImage()->getId();
            }
            $rewritePath = function ($data) {
                if (!is_array($data)) {
                    return [];
                }
                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"]->getRealFullPath();
                            }
                        }
                    }
                }
                return $data;
            };
            $marker = $rewritePath($data->getMarker());
            $hotspots = $rewritePath($data->getHotspots());
            $marker = object2array($marker);
            $hotspots = object2array($hotspots);
            return ["image" => $imageId, "hotspots" => $hotspots, "marker" => $marker, "crop" => $data->getCrop()];
        }
        return null;
    }