Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2019-11-07 14:59:33 +0300
committerGitHub <noreply@github.com>2019-11-07 14:59:33 +0300
commitd171d1aff8df2f784c1814ef93a63cdfc3749335 (patch)
tree3c5e80364357867463bd7ea7ce9f89582e62d9ed
parent00b838ca6ceefd20c6fe3a1da33798d70412a2c6 (diff)
parentd0db3694645a5dbd7b1155e953728c1aa493d55b (diff)
Merge pull request #17841 from nextcloud/backport/17822/stable16v16.0.6
[stable16] switch to Files Node API for zip generation
-rw-r--r--lib/private/legacy/files.php19
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/private/legacy/files.php b/lib/private/legacy/files.php
index 577392f1edc..140c02e77b6 100644
--- a/lib/private/legacy/files.php
+++ b/lib/private/legacy/files.php
@@ -177,10 +177,21 @@ class OC_Files {
foreach ($files as $file) {
$file = $dir . '/' . $file;
if (\OC\Files\Filesystem::is_file($file)) {
- $fileSize = \OC\Files\Filesystem::filesize($file);
- $fileTime = \OC\Files\Filesystem::filemtime($file);
- $fh = \OC\Files\Filesystem::fopen($file, 'r');
- $streamer->addFileFromStream($fh, basename($file), $fileSize, $fileTime);
+ $userFolder = \OC::$server->getRootFolder()->get(\OC\Files\Filesystem::getRoot());
+ $file = $userFolder->get($file);
+ if($file instanceof \OC\Files\Node\File) {
+ $fh = $file->fopen('r');
+ $fileSize = $file->getSize();
+ $fileTime = $file->getMTime();
+ } else {
+ // File is not a file? …
+ \OC::$server->getLogger()->debug(
+ 'File given, but no Node available. Name {file}',
+ [ 'app' => 'files', 'file' => $file ]
+ );
+ continue;
+ }
+ $streamer->addFileFromStream($fh, $file->getName(), $fileSize, $fileTime);
fclose($fh);
} elseif (\OC\Files\Filesystem::is_dir($file)) {
$streamer->addDirRecursive($file);