public function resolveDependencies()
{
$dependencies = [];
$image = $this->getImage();
if ($image instanceof Asset\Image) {
$key = "asset_" . $image->getId();
$dependencies[$key] = ["id" => $image->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($this->marker, $dependencies);
$dependencies = $getMetaDataDependencies($this->hotspots, $dependencies);
return $dependencies;
}