/**
  * Create the derived images for given profiles in a model.
  *
  * @param Media $media
  */
 public function createDerivedFilesForMedia(Media $media)
 {
     $originalFile = $media->getOriginalPath();
     $originalPath = pathinfo($originalFile, PATHINFO_DIRNAME);
     if ($media->getType() == Media::TYPE_IMAGE) {
         $this->createProfileImages($media, $originalFile, $originalPath);
     }
 }
 public function fire()
 {
     $onlyForModel = ucfirst($this->argument('model'));
     foreach (Media::all() as $media) {
         if ($onlyForModel == '' || $onlyForModel == $media->content_type) {
             MediaLibrary::regenerateDerivedFiles($media);
             $this->info('Media id ' . $media->id . ' "' . $media->path . '" reprocessed' . ' (for ' . $media->content_type . ' id ' . $media->content_id . ')');
         }
     }
     $this->info('All done!');
 }
 /**
  * Update a media collection by deleting and inserting again with new values.
  *
  * @param array  $newMediaArray
  * @param string $collectionName
  *
  * @throws Exception
  */
 public function updateMedia(array $newMediaArray, $collectionName)
 {
     $this->removeMediaItemsNotPresentInArray($newMediaArray, $collectionName);
     $orderCounter = 0;
     foreach ($newMediaArray as $newMediaItem) {
         $currentMedia = Media::findOrFail($newMediaItem['id']);
         if ($currentMedia->collection_name != $collectionName) {
             throw new Exception('Media id: ' . $currentMedia->id . ' error: Updating the wrong collection. Expected: "' . $collectionName . '" - got: "' . $currentMedia->collection_name);
         }
         if (array_key_exists('name', $newMediaItem)) {
             $currentMedia->name = $newMediaItem['name'];
         }
         $currentMedia->order_column = $orderCounter++;
         $currentMedia->temp = 0;
         $currentMedia->save();
     }
 }
 /**
  * Create a new media-record for a file.
  *
  * @param $file
  * @param $collectionName
  * @param $addAsTemporary
  *
  * @return Media
  */
 private function createMediaForFile($file, $collectionName, $addAsTemporary)
 {
     $pathParts = pathinfo($file);
     $media = new Media();
     $media->name = $pathParts['filename'];
     $media->url = $pathParts['basename'];
     $media->path = $pathParts['basename'];
     $media->extension = isset($pathParts['extension']) ? strtolower($pathParts['extension']) : '';
     $media->size = filesize($file);
     $media->temp = $addAsTemporary;
     $media->collection_name = $collectionName;
     $media->order_column = Media::getHighestNumberOrder();
     return $media;
 }