Esempio n. 1
0
 /**
  * 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);
     }
 }
Esempio n. 3
0
 /**
  * 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);
         }
     }
 }
Esempio n. 4
0
 /**
  * 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());
 }
Esempio n. 5
0
 /**
  * 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();
 }
Esempio n. 7
0
 /**
  * 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]);
 }
Esempio n. 8
0
 /**
  * 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();
 }
Esempio n. 9
0
 /**
  * Handle the command.
  *
  * @param FileRepositoryInterface $files
  */
 public function handle(FileRepositoryInterface $files)
 {
     foreach ($this->folder->getFiles() as $file) {
         $files->delete($file);
     }
 }
Esempio n. 10
0
 /**
  * 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');
 }
Esempio n. 11
0
 /**
  * Handle the command.
  *
  * @param StreamRepositoryInterface $streams
  */
 public function handle(StreamRepositoryInterface $streams)
 {
     $streams->delete($streams->findBySlugAndNamespace($this->folder->getSlug() . '_files', 'files'));
 }
Esempio n. 12
0
 /**
  * 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());
 }
Esempio n. 13
0
 /**
  * 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();
 }
Esempio n. 14
0
 /**
  * Handle the command.
  *
  * @param MountManager $manager
  */
 public function handle(MountManager $manager)
 {
     $disk = $this->folder->getDisk();
     $manager->deleteDir($disk->getSlug() . '://' . $this->folder->getSlug());
 }