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'); }