/** * @param array $params * @return \Shopware\Models\Media\Media * @throws \Shopware\Components\Api\Exception\ValidationException * @throws \Exception */ public function create(array $params) { $this->checkPrivilege('create'); $params = $this->prepareMediaData($params); $media = new \Shopware\Models\Media\Media(); $media->fromArray($params); $violations = $this->getManager()->validate($media); if ($violations->count() > 0) { throw new ApiException\ValidationException($violations); } $this->getManager()->persist($media); $this->flush(); if ($media->getType() == MediaModel::TYPE_IMAGE) { /**@var $manager Manager */ $manager = $this->getContainer()->get('thumbnail_manager'); $manager->createMediaThumbnail($media, array(), true); } return $media; }
/** * {@inheritDoc} */ public function fromArray(array $array = array()) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'fromArray', array($array)); return parent::fromArray($array); }