/** * @param StoresMedia $owner * @param $type * @param null $size * @return string */ public function getAbstractPath(StoresMedia $owner, $type, $size = null) { if (!$this->isSupportedMediaType($type)) { throw new InvalidArgumentException('Need to pass a proper media type'); } return $this->config->get('media.path') . '/' . $owner->getMediaFolder($type, $size); }
/** * $this * @param StoresMedia $owner * @param $size */ public function handleOwner(StoresMedia $owner, $size) { if ($owner->mediaStoresMultiple()) { foreach ($owner->images as $image) { $this->handleImage($image); } } elseif ($owner->images) { $this->handleImage($owner->images); } $this->files->deleteDirectory(rtrim($this->config->getPublicPath($owner, 'images', $size), '/')); }
/** * @param StoresMedia $owner * @param array $sizes * @param $force */ protected function handleOwner(StoresMedia $owner, array $sizes, $force) { if ($owner->mediaStoresMultiple()) { //check which sizes aren't there. //only resize those. foreach ($owner->images as $image) { $this->handleImage($sizes, $image, $force); } } elseif ($owner->images) { $this->handleImage($sizes, $owner->images, $force); } }
/** * @param Filesystem $files * @param AccountManager $manager * @return mixed */ public function handle(Filesystem $files, AccountManager $manager) { $temp_dir = storage_path('media') . '/' . $this->owner->getMediaFolder('images'); $name = $this->uniqueName(); $this->image->move($temp_dir, $name); $temp_file = $temp_dir . $name; $name_with_extension = $name . $this->extension($temp_file); $final_path = $temp_file . $name_with_extension; $files->move($temp_file, $final_path); $image = $this->dispatch(new StoreNewImage($manager->account(), $this->owner, $final_path)); $files->delete($final_path); return $image; }