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