/** * 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; }