/** * @param array $data * @param CategoryModel $categoryModel * @return array * @throws ApiException\CustomValidationException */ private function prepareMediaData(array $data, CategoryModel $categoryModel) { if (!isset($data['media'])) { return $data; } $media = null; if (isset($data['media']['link'])) { /**@var $media MediaModel */ $media = $this->getResource('media')->internalCreateMediaByFileLink($data['media']['link']); } elseif (!empty($data['media']['mediaId'])) { $media = $this->getManager()->find('Shopware\\Models\\Media\\Media', (int) $data['media']['mediaId']); if (!$media instanceof MediaModel) { throw new ApiException\CustomValidationException(sprintf("Media by mediaId %s not found", $data['media']['mediaId'])); } } $categoryModel->setMedia($media); unset($data['media']); return $data; }
/** * {@inheritDoc} */ public function setMedia($media) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMedia', array($media)); return parent::setMedia($media); }