Merge pull request #21789 from nextcloud/ftp-filter-hash
filter files containing a hash in the path for ftp storages
This commit is contained in:
commit
7569bc15bd
|
@ -35,6 +35,7 @@
|
|||
namespace OCA\Files_External\Lib\Storage;
|
||||
|
||||
use Icewind\Streams\CallbackWrapper;
|
||||
use Icewind\Streams\IteratorDirectory;
|
||||
use Icewind\Streams\RetryWrapper;
|
||||
|
||||
class FTP extends StreamWrapper {
|
||||
|
@ -136,6 +137,22 @@ class FTP extends StreamWrapper {
|
|||
return false;
|
||||
}
|
||||
|
||||
public function opendir($path) {
|
||||
$dh = parent::opendir($path);
|
||||
if (is_resource($dh)) {
|
||||
$files = [];
|
||||
while (($file = readdir($dh)) !== false) {
|
||||
if ($file != '.' && $file != '..' && strpos($file, '#') === false) {
|
||||
$files[] = $file;
|
||||
}
|
||||
}
|
||||
return IteratorDirectory::wrap($files);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function writeBack($tmpFile, $path) {
|
||||
$this->uploadFile($tmpFile, $path);
|
||||
unlink($tmpFile);
|
||||
|
|
|
@ -876,7 +876,10 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage {
|
|||
while (($file = readdir($dh)) !== false) {
|
||||
if (!Filesystem::isIgnoredDir($file) && !Filesystem::isFileBlacklisted($file)) {
|
||||
$childPath = $basePath . '/' . trim($file, '/');
|
||||
yield $this->getMetaData($childPath);
|
||||
$metadata = $this->getMetaData($childPath);
|
||||
if ($metadata !== null) {
|
||||
yield $metadata;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue