/** * Get informations about folders and files in folder. * * @param string $absolutePath absolute folder path * @param string $filter filter folder/file name * @param boolean $recurse use recursive folder scaning (in subfolders), default false (ignore subitems) * @param boolean $addFolders add folders in output, default true * @param boolean $addFiles add files in output, default true * @param string $exploded exploded node in tree * @return JoomDOCFolder function returns false if path doesn't exists */ public static function getFolderContent($absolutePath, $filter = '', $recurse = false, $addFolders = true, $addFiles = true, $exploded = null) { if (JFolder::exists($absolutePath)) { $root = new JoomDOCFolder($absolutePath); if ($addFolders) { $folders = JFolder::folders($absolutePath, $filter . '.', $recurse, true); if ($exploded) { $folders = JoomDOCFileSystem::getExplodedFolders($absolutePath, $filter, $recurse, $exploded); } else { $folders = JFolder::folders($absolutePath, $filter . '.', $recurse, true); } foreach ($folders as $folder) { if (JString::strpos($folder, JOOMDOC_VERSION_DIR) === false) { $root->addFolder(new JoomDOCFolder($folder)); } } } if ($addFiles) { foreach (JFolder::files($absolutePath, $filter . '.', $recurse, true) as $file) { if (JString::strpos($file, JOOMDOC_VERSION_DIR) === false) { $root->addFile(new JoomDOCFile($file)); } } } return $root; } elseif (JFile::exists($absolutePath)) { return new JoomDOCFile($absolutePath); } return false; }