Example #1
0
 public function scan($folder)
 {
     $folder = $this->cleanFolder($folder);
     $breadcrumbs = $this->breadcrumbs($folder);
     $slice = array_slice($breadcrumbs, -1);
     $folderName = current($slice);
     $breadcrumbs = array_slice($breadcrumbs, 0, -1);
     $subfolders = [];
     foreach (array_unique($this->fileSystem->directories($folder)) as $subfolder) {
         $hiddenfolder = strpos($subfolder, '.');
         $excludeFolder = config('finder.exclude.folders');
         if ($hiddenfolder !== 0 and !in_array($subfolder, $excludeFolder)) {
             $subfolders[] = $this->folderDetails($subfolder);
         }
     }
     $files = [];
     foreach ($this->fileSystem->files($folder) as $path) {
         $dotfile = strpos($path, '.');
         $excludeFile = config('finder.exclude.files');
         if ($dotfile !== 0 and !in_array($path, $excludeFile)) {
             $files[] = $this->fileDetails($path);
         }
     }
     // $paginator = $this->buildPagination($files, config('filemanager.per_page'));
     // $files = $paginator->getCollection();
     return compact('folder', 'folderName', 'breadcrumbs', 'subfolders', 'files');
 }