/** * @param StoreFrontBundle\Struct\Media $media * @return array */ public function convertMediaStruct(StoreFrontBundle\Struct\Media $media) { if (!$media instanceof StoreFrontBundle\Struct\Media) { return []; } $thumbnails = []; foreach ($media->getThumbnails() as $thumbnail) { $retina = null; $thumbnails[] = ['source' => $thumbnail->getSource(), 'retinaSource' => $retina, 'sourceSet' => $this->getSourceSet($thumbnail), 'maxWidth' => $thumbnail->getMaxWidth(), 'maxHeight' => $thumbnail->getMaxHeight()]; } $data = array('id' => $media->getId(), 'position' => 1, 'source' => $media->getFile(), 'description' => $media->getName(), 'extension' => $media->getExtension(), 'main' => $media->isPreview(), 'parentId' => null, 'width' => $media->getWidth(), 'height' => $media->getHeight(), 'thumbnails' => $thumbnails); $attributes = $media->getAttributes(); if ($attributes && isset($attributes['image'])) { $data['attribute'] = $attributes['image']->toArray(); unset($data['attribute']['id']); unset($data['attribute']['imageID']); } else { $data['attribute'] = []; } return $this->eventManager->filter('Legacy_Struct_Converter_Convert_Media', $data, ['media' => $media]); }