diff options
author | Arthur Schiwon <blizzz@owncloud.com> | 2013-03-07 15:48:10 +0100 |
---|---|---|
committer | Arthur Schiwon <blizzz@owncloud.com> | 2013-03-07 15:48:10 +0100 |
commit | 2ae1ad23b0722f827ca14bcac889dbfb9b6bf5d6 (patch) | |
tree | c79b6c49abeb44a9c913d81aea6d041bb2e38fad | |
parent | 6acbadf41833c8d5a78aabb06c6c7e0f4f4c019b (diff) | |
download | nextcloud-server-2ae1ad23b0722f827ca14bcac889dbfb9b6bf5d6.tar.gz nextcloud-server-2ae1ad23b0722f827ca14bcac889dbfb9b6bf5d6.zip |
Offer download of whole shared dir only if it does not exceed zip input limit
-rw-r--r-- | apps/files_sharing/public.php | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/apps/files_sharing/public.php b/apps/files_sharing/public.php index e345b91e293..1da972ad7e3 100644 --- a/apps/files_sharing/public.php +++ b/apps/files_sharing/public.php @@ -141,7 +141,9 @@ if (isset($path)) { OCP\Util::addscript('files', 'keyboardshortcuts'); $files = array(); $rootLength = strlen($basePath) + 1; + $totalSize = 0; foreach (\OC\Files\Filesystem::getDirectoryContent($path) as $i) { + $totalSize += $i['size']; $i['date'] = OCP\Util::formatDate($i['mtime']); if ($i['type'] == 'file') { $fileinfo = pathinfo($i['name']); @@ -188,7 +190,9 @@ if (isset($path)) { $folder->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true))); $folder->assign('usedSpacePercent', 0); $tmpl->assign('folder', $folder->fetchPage()); - $tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true))); + $allowZip = OCP\Config::getSystemValue('allowZipDownload', true) + && $totalSize <= OCP\Config::getSystemValue('maxZipInputSize', OCP\Util::computerFileSize('800 MB')); + $tmpl->assign('allowZipDownload', intval($allowZip)); $tmpl->assign('downloadURL', OCP\Util::linkToPublic('files') . $urlLinkIdentifiers . '&download&path=' . urlencode($getPath)); } else { |