]> source.dussan.org Git - nextcloud-server.git/commitdiff
prevent files_versions from calling file proxy which calls files_encryption and do...
authorFlorin Peter <github@florin-peter.de>
Thu, 30 May 2013 20:05:52 +0000 (22:05 +0200)
committerFlorin Peter <github@florin-peter.de>
Thu, 30 May 2013 20:05:52 +0000 (22:05 +0200)
apps/files_versions/lib/versions.php

index 5fdbef27743b8f719ef4971104e69be6fb72670e..4beb9e0fe5cc18929f4255871836c3de4d009ab8 100644 (file)
@@ -113,8 +113,16 @@ class Storage {
                                mkdir($versionsFolderName.'/'.$info['dirname'], 0750, true);
                        }
 
+                       // disable proxy to prevent multiple fopen calls
+                       $proxyStatus = \OC_FileProxy::$enabled;
+                       \OC_FileProxy::$enabled = false;
+
                        // store a new version of a file
                        $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename));
+
+                       // reset proxy state
+                       \OC_FileProxy::$enabled = $proxyStatus;
+
                        $versionsSize = self::getVersionsSize($uid);
                        if (  $versionsSize === false || $versionsSize < 0 ) {
                                $versionsSize = self::calculateSize($uid);
@@ -195,7 +203,16 @@ class Storage {
                        //first create a new version
                        $version = 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename);
                        if ( !$users_view->file_exists($version)) {
+
+                               // disable proxy to prevent multiple fopen calls
+                               $proxyStatus = \OC_FileProxy::$enabled;
+                               \OC_FileProxy::$enabled = false;
+
                                $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename));
+
+                               // reset proxy state
+                               \OC_FileProxy::$enabled = $proxyStatus;
+
                                $versionCreated = true;
                        }