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;
 }
 /**
  * Lists file.
  */
 function _getMediaInfo(&$man, $input)
 {
     $file =& $man->getFile($input["path"]);
     $config = $file->getConfig();
     $parent =& $file->getParentFile();
     $files = array();
     if ($parent->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']);
         $fileFilter->setOnlyFiles(true);
         // List files
         $files =& $parent->listFilesFiltered($fileFilter);
     }
     $match = false;
     $prev = "";
     $next = "";
     foreach ($files as $curfile) {
         if ($curfile->getAbsolutePath() == $file->getAbsolutePath()) {
             $match = true;
             continue;
         } else {
             if (!$match) {
                 $prev = $curfile->getAbsolutePath();
             }
         }
         if ($match) {
             $next = $curfile->getAbsolutePath();
             break;
         }
     }
     $ext = getFileExt($file->getName());
     // Input default size?
     $width = "425";
     $height = "350";
     // All types that getimagesize support
     $imagearray = array('gif', 'jpg', 'png', 'swf', 'psd', 'bmp', 'tiff', 'jpc', 'jp2', 'jpx', 'jb2', 'swc', 'iff', 'wbmp', 'xbm');
     if (in_array($ext, $imagearray)) {
         $sizeinfo = @getimagesize($file->getAbsolutePath());
         if ($sizeinfo) {
             $width = $sizeinfo[0];
             $height = $sizeinfo[1];
         }
     }
     $result = new Moxiecode_ResultSet("name,path,url,size,type,created,modified,width,height,attribs,next,prev,custom");
     $custom = array();
     $man->dispatchEvent("onCustomInfo", array(&$file, "info", &$custom));
     $attribs = ($file->canRead() && checkBool($config["filesystem.readable"]) ? "R" : "-") . ($file->canWrite() && checkBool($config["filesystem.writable"]) ? "W" : "-");
     $url = $man->removeTrailingSlash($config['preview.urlprefix']) . $man->convertPathToURI($file->getAbsolutePath());
     $result->add(utf8_encode($file->getName()), $man->encryptPath($file->getAbsolutePath()), utf8_encode($url), $file->getLength(), $ext, date($config['filesystem.datefmt'], $file->getCreationDate()), date($config['filesystem.datefmt'], $file->getLastModified()), $width, $height, $attribs, $man->encryptPath($next), $man->encryptPath($prev), $custom);
     return $result->toArray();
 }