]> source.dussan.org Git - nextcloud-server.git/commitdiff
don't ask for fileInfo if we already have one
authorBjoern Schiessle <schiessle@owncloud.com>
Mon, 2 Jun 2014 10:04:46 +0000 (12:04 +0200)
committerThomas Müller <thomas.mueller@tmit.eu>
Wed, 4 Jun 2014 05:55:45 +0000 (07:55 +0200)
apps/files_encryption/lib/proxy.php

index ae3df834e9f417394a65f732b0338c4a736b5a57..fd91073b8debf95cc77bc59b0efe2502460af51e 100644 (file)
@@ -275,7 +275,7 @@ class Proxy extends \OC_FileProxy {
                        \OC_FileProxy::$enabled = false;
 
                        // get file size
-                       $data['size'] = self::postFileSize($path, $data['size']);
+                       $data['size'] = self::postFileSize($path, $data['size'], $data);
 
                        // Re-enable the proxy
                        \OC_FileProxy::$enabled = $proxyStatus;
@@ -289,7 +289,7 @@ class Proxy extends \OC_FileProxy {
         * @param int $size
         * @return int|bool
         */
-       public function postFileSize($path, $size) {
+       public function postFileSize($path, $size, $fileInfo = null) {
 
                $view = new \OC\Files\View('/');
 
@@ -323,9 +323,8 @@ class Proxy extends \OC_FileProxy {
                        return $size;
                }
 
-               $fileInfo = false;
                // get file info from database/cache if not .part file
-               if (!Helper::isPartialFilePath($path)) {
+               if (empty($fileInfo) && !Helper::isPartialFilePath($path)) {
                        $proxyState = \OC_FileProxy::$enabled;
                        \OC_FileProxy::$enabled = false;
                        $fileInfo = $view->getFileInfo($path);
@@ -333,7 +332,7 @@ class Proxy extends \OC_FileProxy {
                }
 
                // if file is encrypted return real file size
-               if ($fileInfo && $fileInfo['encrypted'] === true) {
+               if (isset($fileInfo['encrypted']) && $fileInfo['encrypted'] === true) {
                        // try to fix unencrypted file size if it doesn't look plausible
                        if ((int)$fileInfo['size'] > 0 && (int)$fileInfo['unencrypted_size'] === 0 ) {
                                $fixSize = $util->getFileSize($path);