/** * Handle the command. * * @param StreamRepositoryInterface $streams */ public function handle(StreamRepositoryInterface $streams) { if (!$this->folder->isForceDeleting()) { return; } $streams->delete($streams->findBySlugAndNamespace($this->folder->getSlug(), 'files')); }
/** * Handle the command. * * @param BreadcrumbCollection $breadcrumbs */ public function handle(BreadcrumbCollection $breadcrumbs) { $disk = $this->folder->getDisk(); $uri = 'admin/files/browser/' . $disk->getSlug(); foreach (explode('/', $this->folder->path()) as $name) { $breadcrumbs->add($name, $uri = $uri . '/' . $name); } }
/** * Handle the command. * * @param FileRepositoryInterface $files */ public function handle(FileRepositoryInterface $files) { foreach ($this->folder->getFiles() as $file) { if ($this->folder->isForceDeleting()) { $files->forceDelete($file); } else { $files->delete($file); } } }
/** * Handle the command. * * @param MountManager $manager */ public function handle(MountManager $manager) { if (!($disk = $this->folder->getDisk())) { return; } if (!$this->folder->isForceDeleting()) { return; } $manager->deleteDir($disk->getSlug() . '://' . $this->folder->getSlug()); }
/** * Upload a file. * * @param UploadedFile $file * @param FolderInterface $folder * @return bool|FileInterface */ public function upload(UploadedFile $file, FolderInterface $folder) { $rules = 'required'; if ($allowed = $folder->getAllowedTypes()) { $rules .= '|mimes:' . implode(',', $allowed); } $validation = $this->validator->make(['file' => $file], ['file' => $rules]); if (!$validation->passes()) { return false; } $disk = $folder->getDisk(); /* @var FileInterface $entry */ $entry = $this->manager->put($disk->getSlug() . '://' . $folder->getSlug() . '/' . $file->getClientOriginalName(), file_get_contents($file->getRealPath())); if (in_array($entry->getExtension(), $this->config->get('anomaly.module.files::mimes.types.image'))) { $size = getimagesize($file->getRealPath()); $this->files->save($entry->setAttribute('width', $size[0])->setAttribute('height', $size[1])); } return $entry; }
/** * Delete a folder. * * @param FolderInterface|EloquentModel $folder * @return bool */ public function delete(FolderInterface $folder) { return $folder->delete(); }
/** * Handle the command. * * @param StreamRepositoryInterface $streams * @param Repository $config */ public function handle(StreamRepositoryInterface $streams, Repository $config) { $streams->create([$config->get('app.fallback_locale') => ['name' => $this->folder->getName(), 'description' => $this->folder->getDescription()], 'namespace' => 'files', 'slug' => $this->folder->getSlug(), 'translatable' => true, 'locked' => false]); }
/** * Find a file by it's name. * * @param $name * @param DiskInterface $disk * @param FolderInterface $folder * @return null|FileInterface */ public function findByName($name, DiskInterface $disk, FolderInterface $folder = null) { return $this->model->where('name', $name)->where('disk_id', $disk->getId())->where('folder_id', $folder ? $folder->getId() : null)->first(); }
/** * Handle the command. * * @param FileRepositoryInterface $files */ public function handle(FileRepositoryInterface $files) { foreach ($this->folder->getFiles() as $file) { $files->delete($file); } }
/** * Handle the command. * * @param StreamRepositoryInterface $streams * @return \Anomaly\Streams\Platform\Stream\Contract\StreamInterface|null */ public function handle(StreamRepositoryInterface $streams) { return $streams->findBySlugAndNamespace($this->folder->getSlug(), 'files'); }
/** * Handle the command. * * @param StreamRepositoryInterface $streams */ public function handle(StreamRepositoryInterface $streams) { $streams->delete($streams->findBySlugAndNamespace($this->folder->getSlug() . '_files', 'files')); }
/** * Return the browser link. * * @return string */ public function viewLink() { return app('html')->link(implode('/', array_filter(['admin', 'files', 'browser', $this->object->getDisk()->getSlug(), $this->object->path()])), $this->object->getName()); }
/** * Find a file by it's name and folder. * * @param $name * @param FolderInterface $folder * @return null|FileInterface */ public function findByNameAndFolder($name, FolderInterface $folder) { return $this->model->where('name', $name)->where('folder_id', $folder->getId())->first(); }
/** * Handle the command. * * @param MountManager $manager */ public function handle(MountManager $manager) { $disk = $this->folder->getDisk(); $manager->deleteDir($disk->getSlug() . '://' . $this->folder->getSlug()); }