@@ -87,6 +87,13 @@ class RawListImplementation extends AbstractFusionObject
8787 */
8888 protected $ context ;
8989
90+ /**
91+ * List of the site identifiers. Used by showBy asset, to filter out picutres from other sites
92+ *
93+ * @var array
94+ */
95+ protected $ currentSiteNodeIdentifierArray ;
96+
9097 /**
9198 * Returns the items as result of the fusion object.
9299 *
@@ -150,6 +157,7 @@ public function getDocumentTree(): array
150157 */
151158 public function buildAssetTree (): void
152159 {
160+ $ this ->buildDocumentIdenifierListRecursive ([$ this ->startingPoint ]);
153161 $ entries = [];
154162 foreach ($ this ->assetUsage as $ entityUsage ) {
155163 $ entity = $ this ->entityUsage ($ entityUsage );
@@ -161,6 +169,10 @@ public function buildAssetTree(): void
161169 $ documentNode = $ entity ['documentNode ' ];
162170 $ documentNodeIdentifier = $ entity ['documentNodeIdentifier ' ];
163171
172+ if (!in_array ($ documentNodeIdentifier , $ this ->currentSiteNodeIdentifierArray )) {
173+ continue ;
174+ }
175+
164176 // Set Document Nodetype entry
165177 if (!isset ($ entries [$ id ]) || !isset ($ entries [$ id ]['documents ' ][$ documentNodeIdentifier ])) {
166178 $ documentNodeEntry = [
@@ -222,6 +234,22 @@ public function getFilter(): string
222234 return $ filter ;
223235 }
224236
237+ /**
238+ * Bild the list with document identifiers
239+ *
240+ * @param array $nodes
241+ * @return void
242+ */
243+ protected function buildDocumentIdenifierListRecursive (array $ nodes ): void
244+ {
245+ foreach ($ nodes as $ currentNode ) {
246+ if ($ currentNode ->isVisible () && $ currentNode ->isAccessible ()) {
247+ $ this ->currentSiteNodeIdentifierArray [] = $ currentNode ->getIdentifier ();
248+ $ this ->buildDocumentIdenifierListRecursive ($ currentNode ->getChildNodes ($ this ->getFilter ()));
249+ }
250+ }
251+ }
252+
225253 /**
226254 * @param array $nodes
227255 * @return void
@@ -254,7 +282,6 @@ protected function buildDocumentItemRecursive(NodeInterface $currentNode): void
254282 }
255283 $ id = $ entity ['id ' ];
256284 $ asset = $ entity ['asset ' ];
257- $ documentNode = $ entity ['documentNode ' ];
258285 $ documentNodeIdentifier = $ entity ['documentNodeIdentifier ' ];
259286
260287 if ($ currentNodeIdentifier != $ documentNodeIdentifier ) {
0 commit comments