@@ -26,23 +26,37 @@ public function getCompatibleEntityTypes(): array
2626 return [ProductEntity::class, CmsPageEntity::class, BrandEntity::class];
2727 }
2828
29+ /**
30+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
31+ */
2932 private function checkAndReturnMediaUrlOrEmptyString (?Entity $ entity = null ): string
3033 {
34+ if ($ entity === null ) {
35+ return '' ;
36+ }
37+
3138 if (method_exists ($ entity , 'getCover ' )) {
3239 $ cover = $ entity ->getCover ();
3340
34- if ($ cover && !empty ($ cover ->getMedia ()->getUrl ())) {
41+ if ($ cover && $ cover -> getMedia () && !empty ($ cover ->getMedia ()->getUrl ())) {
3542 return $ cover ->getMedia ()->getUrl ();
3643 }
3744 }
3845
39- $ media = $ entity ?->getMedia();
46+ if (method_exists ($ entity , 'getMedia ' )) {
47+ $ media = $ entity ->getMedia ();
48+
49+ if ($ media ) {
50+ if (method_exists ($ media , 'first ' )) {
51+ $ firstElement = $ media ->first ();
52+
53+ return $ firstElement ? $ this ->checkAndReturnMediaUrlOrEmptyString ($ firstElement ) : '' ;
54+ }
4055
41- if ($ media ) {
42- if ( method_exists ( $ media, ' first ' )) {
43- return $ this -> checkAndReturnMediaUrlOrEmptyString ( $ media -> first ());
56+ if (method_exists ( $ media, ' getUrl ' ) ) {
57+ return $ media-> getUrl () ?? '' ;
58+ }
4459 }
45- return $ media ->getUrl ();
4660 }
4761
4862 return '' ;
0 commit comments