Merge pull request #14779 from owncloud/use-iterator-directory
Use the new IteratorDirectory instead of the fakedir wrapper
This commit is contained in:
commit
214729a552
|
@ -40,6 +40,7 @@ require 'aws-autoloader.php';
|
|||
|
||||
use Aws\S3\S3Client;
|
||||
use Aws\S3\Exception\S3Exception;
|
||||
use Icewind\Streams\IteratorDirectory;
|
||||
|
||||
class AmazonS3 extends \OC\Files\Storage\Common {
|
||||
|
||||
|
@ -284,9 +285,7 @@ class AmazonS3 extends \OC\Files\Storage\Common {
|
|||
$files[] = $file;
|
||||
}
|
||||
|
||||
\OC\Files\Stream\Dir::register('amazons3' . $path, $files);
|
||||
|
||||
return opendir('fakedir://amazons3' . $path);
|
||||
return IteratorDirectory::wrap($files);
|
||||
} catch (S3Exception $e) {
|
||||
\OCP\Util::logException('files_external', $e);
|
||||
return false;
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
|
||||
namespace OC\Files\Storage;
|
||||
|
||||
use Icewind\Streams\IteratorDirectory;
|
||||
|
||||
require_once __DIR__ . '/../3rdparty/Dropbox/autoload.php';
|
||||
|
||||
class Dropbox extends \OC\Files\Storage\Common {
|
||||
|
@ -156,8 +158,7 @@ class Dropbox extends \OC\Files\Storage\Common {
|
|||
foreach ($contents as $file) {
|
||||
$files[] = basename($file['path']);
|
||||
}
|
||||
\OC\Files\Stream\Dir::register('dropbox'.$path, $files);
|
||||
return opendir('fakedir://dropbox'.$path);
|
||||
return IteratorDirectory::wrap($files);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
|
||||
namespace OC\Files\Storage;
|
||||
|
||||
use Icewind\Streams\IteratorDirectory;
|
||||
|
||||
set_include_path(get_include_path().PATH_SEPARATOR.
|
||||
\OC_App::getAppPath('files_external').'/3rdparty/google-api-php-client/src');
|
||||
require_once 'Google/Client.php';
|
||||
|
@ -291,8 +293,7 @@ class Google extends \OC\Files\Storage\Common {
|
|||
}
|
||||
$pageToken = $children->getNextPageToken();
|
||||
}
|
||||
\OC\Files\Stream\Dir::register('google'.$path, $files);
|
||||
return opendir('fakedir://google'.$path);
|
||||
return IteratorDirectory::wrap($files);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
*
|
||||
*/
|
||||
namespace OC\Files\Storage;
|
||||
use Icewind\Streams\IteratorDirectory;
|
||||
|
||||
use phpseclib\Net\SFTP\Stream;
|
||||
|
||||
|
@ -280,8 +281,7 @@ class SFTP extends \OC\Files\Storage\Common {
|
|||
$dirStream[] = $file;
|
||||
}
|
||||
}
|
||||
\OC\Files\Stream\Dir::register($id, $dirStream);
|
||||
return opendir('fakedir://' . $id);
|
||||
return IteratorDirectory::wrap($dirStream);
|
||||
} catch(\Exception $e) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
namespace OC\Files\Storage;
|
||||
|
||||
use Guzzle\Http\Exception\ClientErrorResponseException;
|
||||
use Icewind\Streams\IteratorDirectory;
|
||||
use OpenCloud;
|
||||
use OpenCloud\Common\Exceptions;
|
||||
use OpenCloud\OpenStack;
|
||||
|
@ -222,8 +223,7 @@ class Swift extends \OC\Files\Storage\Common {
|
|||
}
|
||||
}
|
||||
|
||||
\OC\Files\Stream\Dir::register('swift' . $path, $files);
|
||||
return opendir('fakedir://swift' . $path);
|
||||
return IteratorDirectory::wrap($files);
|
||||
} catch (\Exception $e) {
|
||||
\OCP\Util::writeLog('files_external', $e->getMessage(), \OCP\Util::ERROR);
|
||||
return false;
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
namespace OC\Files\ObjectStore;
|
||||
|
||||
use Icewind\Streams\IteratorDirectory;
|
||||
use OCP\Files\ObjectStore\IObjectStore;
|
||||
|
||||
class ObjectStoreStorage extends \OC\Files\Storage\Common {
|
||||
|
@ -216,9 +217,7 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common {
|
|||
$files[] = $file['name'];
|
||||
}
|
||||
|
||||
\OC\Files\Stream\Dir::register('objectstore' . $path . '/', $files);
|
||||
|
||||
return opendir('fakedir://objectstore' . $path . '/');
|
||||
return IteratorDirectory::wrap($files);
|
||||
} catch (\Exception $e) {
|
||||
\OCP\Util::writeLog('objectstore', $e->getMessage(), \OCP\Util::ERROR);
|
||||
return false;
|
||||
|
|
|
@ -38,7 +38,7 @@ namespace OC\Files\Storage;
|
|||
use Exception;
|
||||
use OC\Files\Filesystem;
|
||||
use OC\Files\Stream\Close;
|
||||
use OC\Files\Stream\Dir;
|
||||
use Icewind\Streams\IteratorDirectory;
|
||||
use OC\MemCache\ArrayCache;
|
||||
use OCP\Constants;
|
||||
use OCP\Files;
|
||||
|
@ -211,8 +211,7 @@ class DAV extends Common {
|
|||
$file = basename($file);
|
||||
$content[] = $file;
|
||||
}
|
||||
Dir::register($id, $content);
|
||||
return opendir('fakedir://' . $id);
|
||||
return IteratorDirectory::wrap($content);
|
||||
} catch (ClientHttpException $e) {
|
||||
if ($e->getHttpStatus() === 404) {
|
||||
$this->statCache->clear($path . '/');
|
||||
|
|
|
@ -35,7 +35,6 @@
|
|||
*/
|
||||
|
||||
namespace OC\Files\Storage;
|
||||
|
||||
/**
|
||||
* for local filestore, we only have to map the paths
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue