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

getDataFromEditmode() public method

See also: Model\Object\ClassDefinition\Data::getDataFromEditmode
public getDataFromEditmode ( Pimcore\Model\Object\Data\Hotspotimage $data, null | AbstractObject $object = null, mixed $params = [] ) : Asset
$data Pimcore\Model\Object\Data\Hotspotimage
$object null | Pimcore\Model\Object\AbstractObject
$params mixed
return Pimcore\Model\Asset
    public function getDataFromEditmode($data, $object = null, $params = [])
    {
        $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) {
                        $metaData = new Element\Data\MarkerHotspotItem($metaData);
                        if (in_array($metaData["type"], ["object", "asset", "document"])) {
                            $el = Element\Service::getElementByPath($metaData["type"], $metaData->getValue());
                            $metaData["value"] = $el;
                        }
                    }
                }
            }
            return $data;
        };
        if (array_key_exists("marker", $data) && is_array($data["marker"]) && count($data["marker"]) > 0) {
            $data["marker"] = $rewritePath($data["marker"]);
        }
        if (array_key_exists("hotspots", $data) && is_array($data["hotspots"]) && count($data["hotspots"]) > 0) {
            $data["hotspots"] = $rewritePath($data["hotspots"]);
        }
        return new Object\Data\Hotspotimage($data["image"], $data["hotspots"], $data["marker"], $data["crop"]);
    }