public function resolveDependencies($data)
{
$dependencies = [];
if ($data instanceof Object\Data\Hotspotimage && $data->getImage() instanceof Asset\Image) {
$dependencies["asset_" . $data->getImage()->getId()] = ["id" => $data->getImage()->getId(), "type" => "asset"];
$getMetaDataDependencies = function ($data, $dependencies) {
if (!is_array($data)) {
return $dependencies;
}
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) {
$dependencies[$metaData["type"] . "_" . $metaData["value"]->getId()] = ["id" => $metaData["value"]->getId(), "type" => $metaData["type"]];
}
}
}
}
return $dependencies;
};
$dependencies = $getMetaDataDependencies($data->getMarker(), $dependencies);
$dependencies = $getMetaDataDependencies($data->getHotspots(), $dependencies);
}
return $dependencies;
}