setProperties() public method

public setProperties ( array $properties )
$properties array
Example #1
0
 /**
  * @param Media $media
  *
  * @return Media
  */
 public function addFormatsAndUrl(Media $media)
 {
     // Get preview image and set either preview thumbnails if set, else rendered images
     /** @var \Sulu\Bundle\MediaBundle\Entity\Media $previewImage */
     $previewImage = $media->getEntity()->getPreviewImage();
     if ($previewImage !== null) {
         /** @var FileVersion $latestVersion */
         $latestVersion = null;
         /** @var File $file */
         foreach ($previewImage->getFiles() as $file) {
             $latestVersion = $file->getLatestFileVersion();
             // currently only one file per media exists
             break;
         }
         if ($latestVersion !== null) {
             $media->setFormats($this->formatManager->getFormats($previewImage->getId(), $latestVersion->getName(), $latestVersion->getStorageOptions(), $latestVersion->getVersion(), $latestVersion->getMimeType()));
         }
     } else {
         $media->setFormats($this->formatManager->getFormats($media->getId(), $media->getName(), $media->getStorageOptions(), $media->getVersion(), $media->getMimeType()));
     }
     // Set Version Urls
     $versionData = [];
     foreach ($media->getFile()->getFileVersions() as $fileVersion) {
         $versionData[$fileVersion->getVersion()] = [];
         $versionData[$fileVersion->getVersion()]['url'] = $this->getUrl($media->getId(), $fileVersion->getName(), $fileVersion->getVersion());
     }
     $media->setAdditionalVersionData($versionData);
     // set properties
     $properties = $media->getFileVersion()->getProperties();
     if ($properties !== null) {
         $media->setProperties($properties);
     }
     // Set Current Url
     if (isset($versionData[$media->getVersion()]) && isset($versionData[$media->getVersion()]['url'])) {
         $media->setUrl($versionData[$media->getVersion()]['url']);
     }
     return $media;
 }
Example #2
0
 /**
  * Data can be set over by array.
  *
  * @param $media
  * @param $data
  * @param UserInterface $user
  *
  * @return Media
  */
 protected function setDataToMedia(Media $media, $data, $user)
 {
     foreach ($data as $attribute => $value) {
         if ($value || $attribute === 'tags' && $value !== null || $attribute === 'size' && $value !== null) {
             switch ($attribute) {
                 case 'size':
                     $media->setSize($value);
                     break;
                 case 'title':
                     $media->setTitle($value);
                     break;
                 case 'description':
                     $media->setDescription($value);
                     break;
                 case 'version':
                     $media->setVersion($value);
                     break;
                 case 'name':
                     $media->setName($value);
                     break;
                 case 'url':
                     $media->setUrl($value);
                     break;
                 case 'formats':
                     $media->setFormats($value);
                     break;
                 case 'storageOptions':
                     $media->setStorageOptions($value);
                     break;
                 case 'publishLanguages':
                     $media->setPublishLanguages($value);
                     break;
                 case 'contentLanguages':
                     $media->setContentLanguages($value);
                     break;
                 case 'tags':
                     $media->removeTags();
                     if (count($value)) {
                         foreach ($value as $tag) {
                             $tagEntity = $this->tagManager->findOrCreateByName($tag, $user->getId());
                             $media->addTag($tagEntity);
                         }
                     }
                     break;
                 case 'properties':
                     $media->setProperties($value);
                     break;
                 case 'changed':
                     $media->setChanged($value);
                     break;
                 case 'created':
                     break;
                 case 'changer':
                     if ($value instanceof UserInterface) {
                         $media->setChanger($value);
                     }
                     break;
                 case 'creator':
                     if ($value instanceof UserInterface) {
                         $media->setCreator($value);
                     }
                     break;
                 case 'mimeType':
                     $media->setMimeType($value);
                     break;
                 case 'collection':
                     $collectionEntity = $this->getCollectionById($value);
                     $media->setCollection($collectionEntity);
                     // set parent
                     break;
                 case 'type':
                     if (isset($value['id'])) {
                         $type = $this->typeManager->get($value['id']);
                         $media->setType($type);
                     }
                     break;
             }
         }
     }
     return $media;
 }