function _listDefault(&$man, $file, $input, &$result, $filter_root_path) { $config = $man->getConfig(); // If file doesn't exists use default path if (!$file->exists()) { $file = $man->getFile($config['filesystem.path']); $result->setHeader("path", $man->encryptPath($file->getAbsolutePath())); $result->setHeader("visual_path", checkBool($config['general.user_friendly_paths']) ? $man->toVisualPath($file->getAbsolutePath()) : $man->encryptPath($file->getAbsolutePath())); } // List files $config = $file->getConfig(); if ($file->isDirectory()) { // Setup file filter $fileFilter = new Moxiecode_BasicFileFilter(); //$fileFilter->setDebugMode(true); $fileFilter->setIncludeDirectoryPattern($config['filesystem.include_directory_pattern']); $fileFilter->setExcludeDirectoryPattern($config['filesystem.exclude_directory_pattern']); $fileFilter->setIncludeFilePattern($config['filesystem.include_file_pattern']); $fileFilter->setExcludeFilePattern($config['filesystem.exclude_file_pattern']); $fileFilter->setIncludeExtensions($config['filesystem.extensions']); if (isset($input["filter"]) && $input["filter"] != null) { $fileFilter->setIncludeWildcardPattern($input["filter"]); } if (isset($input["only_dirs"]) && checkBool($input["only_dirs"])) { $fileFilter->setOnlyDirs(true); } else { if (!checkBool($config["filesystem.list_directories"], true) || isset($input["only_files"]) && checkBool($input["only_files"])) { $fileFilter->setOnlyFiles(true); } } // List files $files =& $file->listFilesFiltered($fileFilter); $showparent = isset($input["no_parent"]) ? checkBool($input["no_parent"]) : true; $showparent = $showparent && $man->verifyPath($file->getParent()); if (!isset($input["only_dirs"])) { $showparent = $showparent && checkBool($config["filesystem.list_directories"], true); } // Add parent if ($showparent && !isset($input["only_files"])) { // Remove files below root if ($filter_root_path && getClassName($file) == 'moxiecode_localfileimpl') { if (!$man->isChildPath($filter_root_path, $file->getParent())) { return $files; } } if ($file->getAbsolutePath() != $filter_root_path) { $result->add("..", $man->encryptPath($file->getParent()), 0, "parent", "", "", "", array()); } } } else { trigger_error("Not a directory.", FATAL); } return $files; }