Esempio n. 1
0
 /**
  * Run the seeder.
  */
 public function run()
 {
     $disk = $this->disks->findBySlug('local');
     $this->folders->truncate();
     $this->folders->create(['en' => ['name' => 'Images', 'description' => 'A folder for images.'], 'slug' => 'images', 'disk' => $disk, 'allowed_types' => ['png', 'jpeg', 'jpg']]);
     $this->folders->create(['en' => ['name' => 'Documents', 'description' => 'A folder for documents.'], 'slug' => 'documents', 'disk' => $disk, 'allowed_types' => ['pdf', 'docx']]);
 }
Esempio n. 2
0
 /**
  * Sync a file.
  *
  * @param Directory     $resource
  * @param DiskInterface $disk
  * @return null|FolderInterface
  */
 public function sync(Directory $resource, DiskInterface $disk)
 {
     $path = $resource->getPath();
     if ($path === '.') {
         return null;
     }
     if (!($folder = $this->folders->findBySlug($path))) {
         $folder = $this->folders->create(['name' => $path, 'disk_id' => $disk->getId()]);
     }
     return $folder;
 }
 /**
  * Sync the files folder.
  *
  * @param File          $resource
  * @param DiskInterface $disk
  * @return null|FolderInterface
  */
 protected function syncFolder(File $resource, DiskInterface $disk)
 {
     $path = dirname($resource->getPath());
     if ($path === '.') {
         return null;
     }
     /* @var FolderInterface|null $parent */
     $parent = null;
     $folder = null;
     foreach (explode('/', $path) as $name) {
         if (!($folder = $this->folders->findByName($name, $disk, $parent))) {
             $folder = $this->folders->create(['name' => $name, 'disk_id' => $disk->getId(), 'parent_id' => $parent ? $parent->getId() : null]);
         }
         $parent = $folder;
     }
     return $folder;
 }