public function listFilesFiltered(MOXMAN_Vfs_IFileFilter $filter) { $entries = MOXMAN_Util_Json::decode(MOXMAN::getUserStorage()->get("uploaded.files", "[]")); $files = array(); foreach ($entries as $entry) { $file = new MOXMAN_Uploaded_File($this->fileSystem, $entry->path, $entry); if ($filter->accept($file) == MOXMAN_Vfs_IFileFilter::ACCEPTED) { $files[] = $file; } } return $files; }
public function listFilesFiltered(MOXMAN_Vfs_IFileFilter $filter) { $files = array(); if ($this->isDirectory()) { $fileSystem = $this->getFileSystem(); $entries = MOXMAN_Util_Json::decode(MOXMAN::getUserStorage()->get("uploaded.files", "[]")); foreach ($entries as $entry) { $file = new MOXMAN_Favorites_File($fileSystem, $entry->path, $entry); if ($filter->accept($file)) { $files[] = $file; } } } return new MOXMAN_Vfs_FileList($files); }
public function listFilesFiltered(MOXMAN_Vfs_IFileFilter $filter) { $files = array(); if ($this->isDirectory()) { $dirPath = $this->getPath(); $ftpFiles = $this->getFtpList($dirPath); foreach ($ftpFiles as $ftpFile) { $file = new MOXMAN_Ftp_File($this->fileSystem, $dirPath . "/" . $ftpFile["name"], $ftpFile); if ($filter->accept($file)) { $files[] = $file; } } } return new MOXMAN_Vfs_FileList($files); }
public function listFilesFiltered(MOXMAN_Vfs_IFileFilter $filter) { $files = array(); if ($this->isDirectory()) { $fileSystem = $this->getFileSystem(); $entries = MOXMAN_Util_Json::decode(MOXMAN::getUserStorage()->get("history.files", "[]")); $index = 0; foreach ($entries as $entry) { $file = new MOXMAN_History_File($fileSystem, $entry->path, $entry); if ($filter->accept($file)) { $entry->name = basename($entry->path) . "_\$\$[" . $index++ . "]"; $files[] = $file; } } } return new MOXMAN_Vfs_FileList($files); }
public function listFilesFiltered(MOXMAN_Vfs_IFileFilter $filter) { $files = array(); $dirs = array(); $ftpFiles = $this->getFtpList($this->getPath()); foreach ($ftpFiles as $ftpFile) { $path = MOXMAN_Util_PathUtils::combine($this->getPath(), $ftpFile["name"]); $file = new MOXMAN_Ftp_File($this->fileSystem, $path, $ftpFile); // Check if the file is accepted if ($filter->accept($file) === MOXMAN_Vfs_IFileFilter::ACCEPTED) { // Add to directory array or file array if ($ftpFile["isdir"]) { $dirs[] = $file; } else { $files[] = $file; } $this->fileSystem->getCache()->put($path, $ftpFile); } } $files = array_merge($dirs, $files); return $files; }
/** * Returns an array of MCE_File instances based on the specified filter instance. * * @param MCE_FileFilter $filter MCE_FileFilter instance to filter files by. * @return Array array of MCE_File instances based on the specified filter instance. */ public function listFilesFiltered(MOXMAN_Vfs_IFileFilter $filter) { $files = array(); $azureFiles = $this->getFileList($this->getInternalPath()); foreach ($azureFiles as $azureFile) { $path = MOXMAN_Util_PathUtils::combine($this->getPath(), $azureFile["name"]); $file = new MOXMAN_Azure_File($this->fileSystem, $path, $azureFile); if ($filter->accept($file)) { $files[] = $file; } } return new MOXMAN_Vfs_FileList($files); }
/** * Returns an array of BaseFile instances based on the specified filter instance. * * @param MOXMAN_Vfs_IFileFilter $filter FileFilter instance to filter files by. * @return MOXMAN_Vfs_FileList List of MOXMAN_Vfs_IFile instances. */ public function listFilesFiltered(MOXMAN_Vfs_IFileFilter $filter) { $files = array(); if ($this->isDirectory()) { $fileSystem = $this->getFileSystem(); $entries = $fileSystem->getChildEntries($this->getPath()); foreach ($entries as $entry) { $file = new MOXMAN_Vfs_Memory_File($fileSystem, $entry->path); if ($filter->accept($file)) { $files[] = $file; } } } return new MOXMAN_Vfs_FileList($files); }
/** * Returns an array of BaseFile instances based on the specified filter instance. * * @param MOXMAN_Vfs_IFileFilter $filter FileFilter instance to filter files by. * @return array array of File instances based on the specified filter instance. */ public function listFilesFiltered(MOXMAN_Vfs_IFileFilter $filter) { $files = array(); $dirs = array(); $accessFileName = $this->getConfig()->get("filesystem.local.access_file_name"); if ($this->isFile()) { return $files; } if ($fHnd = opendir($this->internalPath)) { while (false !== ($file = readdir($fHnd))) { // Ignore current and parent if ($file === "." || $file === ".." || $file === $accessFileName) { continue; } // Returns false if safe mode is on and the user/group is not the same as apache $path = $this->internalPath . "/" . $file; if (file_exists($path)) { if (is_file($path)) { $files[] = $file; } else { $dirs[] = $file; } } } // Close handle closedir($fHnd); // Add dirs sort($dirs); $list = array(); foreach ($dirs as $dir) { $file = $this->internalPath . "/" . $dir; // Ignore files that isn't valid try { MOXMAN_Util_PathUtils::verifyPath($file, true, "dir"); } catch (Exception $e) { continue; } // Hack if (!@json_encode($file)) { continue; } $file = $this->fileSystem->getFile($this->toUtf($file)); if ($filter->accept($file) === MOXMAN_Vfs_BasicFileFilter::ACCEPTED) { $list[] = $file; } } $dirs = $list; // Add files sort($files); $list = array(); foreach ($files as $file) { $file = $this->internalPath . "/" . $file; // Ignore files that isn't valid try { MOXMAN_Util_PathUtils::verifyPath($file, true, "file"); } catch (Exception $e) { continue; } // Hack if (!@json_encode($file)) { continue; } $file = $this->fileSystem->getFile($this->toUtf($file)); if ($filter->accept($file) === MOXMAN_Vfs_BasicFileFilter::ACCEPTED) { $list[] = $file; } } $files = $list; } $files = array_merge($dirs, $files); return $files; }
/** * Returns an array of BaseFile instances based on the specified filter instance. * * @param MOXMAN_Vfs_IFileFilter $filter FileFilter instance to filter files by. * @return array array of File instances based on the specified filter instance. */ public function listFilesFiltered(MOXMAN_Vfs_IFileFilter $filter) { $entries = $this->fileSystem->getChildEntries($this->path); $files = array(); foreach ($entries as $entry) { $file = new MOXMAN_Vfs_Memory_File($this->fileSystem, $entry->path); if ($filter->accept($file) === MOXMAN_Vfs_IFileFilter::ACCEPTED) { $files[] = $file; } } return $files; }
/** * Adds a new filter to check. * * @param MOXMAN_Vfs_IFileFilter $fileFilter Filter to add. */ public function addFilter(MOXMAN_Vfs_IFileFilter $fileFilter) { if (!$fileFilter->isEmpty()) { $this->filters[] = $fileFilter; } }
/** * Returns an array of BaseFile instances based on the specified filter instance. * * @param MOXMAN_Vfs_IFileFilter $filter FileFilter instance to filter files by. * @return array array of File instances based on the specified filter instance. */ public function listFilesFiltered(MOXMAN_Vfs_IFileFilter $filter) { $files = array(); if ($this->isDirectory()) { $accessFileName = $this->getConfig()->get("filesystem.local.access_file_name"); $fileSystem = $this->getFileSystem(); $dirPath = $this->getPath(); if ($dirHandle = opendir($this->internalPath)) { while (false !== ($name = readdir($dirHandle))) { // Ignore current, parent and access file name if ($name === "." || $name === ".." || $name === $accessFileName) { continue; } $file = new MOXMAN_Vfs_Local_File($fileSystem, $dirPath . "/" . $this->toUtf($name)); if ($filter->accept($file)) { $files[] = $file; } } closedir($dirHandle); } } return new MOXMAN_Vfs_FileList($files); }
/** * Returns an array of MCE_File instances based on the specified filter instance. * * @param MCE_FileFilter $filter MCE_FileFilter instance to filter files by. * @return MOXMAN_Vfs_FileList List of MOXMAN_Vfs_IFile instances. */ public function listFilesFiltered(MOXMAN_Vfs_IFileFilter $filter) { $files = array(); if ($this->isDirectory()) { $fileSystem = $this->getFileSystem(); $dirPath = $this->getPath(); $entries = $this->getFileList($this->getInternalPath()); foreach ($entries as $entry) { $file = new MOXMAN_AmazonS3_File($fileSystem, $dirPath . "/" . $entry["name"], $entry); if ($filter->accept($file)) { $files[] = $file; } } } return new MOXMAN_Vfs_FileList($files); }