Example #1
0
 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);
 }
Example #3
0
 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);
 }
Example #4
0
 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);
 }
Example #5
0
 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;
 }
Example #6
0
 /**
  * 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);
 }
Example #7
0
 /**
  * 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);
 }
Example #8
0
 /**
  * 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;
 }
Example #9
0
 /**
  * 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;
     }
 }
Example #11
0
 /**
  * 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);
 }
Example #12
0
 /**
  * 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);
 }