private function FMDiskFileSystem::getDirs__fill in N1ED - Visual editor as CKEditor plugin with Bootstrap support 8.2
1 call to FMDiskFileSystem::getDirs__fill()
- FMDiskFileSystem::getDirs in src/
Flmngr/ FlmngrServer/ fs/ FMDiskFileSystem.php - Gets directory list.
File
- src/
Flmngr/ FlmngrServer/ fs/ FMDiskFileSystem.php, line 42
Class
- FMDiskFileSystem
- Implements file system interface. Provides an interface to access file system (local disc FS). This is the correct module to replace if you want to implement some custom file system support (i. e. network file system like Amazon S3).
Namespace
Drupal\n1ed\Flmngr\FlmngrServer\fsCode
private function getDirs__fill(&$dirs, $fDir, $path) {
$files = scandir($fDir);
if ($files === FALSE) {
throw new MessageException(FMMessage::createMessage(FMMessage::FM_UNABLE_TO_LIST_CHILDREN_IN_DIRECTORY));
}
$dirsCount = 0;
$filesCount = 0;
for ($i = 0; $i < count($files); $i++) {
$file = $files[$i];
if ($file === '.' || $file === '..') {
continue;
}
if (is_file($fDir . '/' . $file)) {
$filesCount++;
}
else {
if (is_dir($fDir . '/' . $file)) {
$dirsCount++;
}
}
}
$i = strrpos($fDir, '/');
if ($i !== FALSE) {
$dirName = substr($fDir, $i + 1);
}
else {
$dirName = $fDir;
}
$dir = new FMDir($dirName, $path, $filesCount, $dirsCount);
$dirs[] = $dir;
for ($i = 0; $i < count($files); $i++) {
if ($files[$i] !== '.' && $files[$i] !== '..') {
if (is_dir($fDir . '/' . $files[$i])) {
$this
->getDirs__fill($dirs, $fDir . '/' . $files[$i], $path . (strlen($path) > 0 ? "/" : "") . $dirName);
}
}
}
}