public function resolveDependencies()
{
$dependencies = [];
$asset = Asset::getById($this->id);
if ($asset instanceof Asset) {
$key = "asset_" . $asset->getId();
$dependencies[$key] = ["id" => $asset->getId(), "type" => "asset"];
}
$getMetaDataDependencies = function ($data, $dependencies) {
if (!is_array($data)) {
return $dependencies;
}
foreach ($data as $page) {
foreach ($page 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) {
$elTtype = $metaData["type"];
if ($metaData["type"] == "link") {
$elTtype = "document";
}
$dependencies[$elTtype . "_" . $metaData["value"]->getId()] = ["id" => $metaData["value"]->getId(), "type" => $elTtype];
}
}
}
}
}
return $dependencies;
};
$dependencies = $getMetaDataDependencies($this->hotspots, $dependencies);
return $dependencies;
}