public function getUsageReferences(AssetInterface $asset) { $usages = []; /** @var AssetUsageStrategyInterface $strategy */ foreach ($this->getUsageStrategies() as $strategy) { $usages = Arrays::arrayMergeRecursiveOverrule($usages, $strategy->getUsageReferences($asset)); } return $usages; }
/** * Fetches possible usages of the asset and registers nodes that use the asset as changed. * * @param AssetInterface $asset * @return void */ public function registerAssetResourceChange(AssetInterface $asset) { if (!$asset->isInUse()) { return; } foreach ($this->assetService->getUsageReferences($asset) as $reference) { if (!$reference instanceof AssetUsageInNodeProperties) { continue; } $this->registerNodeChange($reference->getNode()); } }