Skip to content
Snippets Groups Projects
Commit b3834b49 authored by Florin Peter's avatar Florin Peter
Browse files

prevent files_versions from calling file proxy which calls files_encryption...

prevent files_versions from calling file proxy which calls files_encryption and do unnecessary load and file operations
parent 6d94b393
No related branches found
No related tags found
No related merge requests found
...@@ -113,8 +113,16 @@ class Storage { ...@@ -113,8 +113,16 @@ class Storage {
mkdir($versionsFolderName.'/'.$info['dirname'], 0750, true); 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 // store a new version of a file
$users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename)); $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); $versionsSize = self::getVersionsSize($uid);
if ( $versionsSize === false || $versionsSize < 0 ) { if ( $versionsSize === false || $versionsSize < 0 ) {
$versionsSize = self::calculateSize($uid); $versionsSize = self::calculateSize($uid);
...@@ -195,7 +203,16 @@ class Storage { ...@@ -195,7 +203,16 @@ class Storage {
//first create a new version //first create a new version
$version = 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename); $version = 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename);
if ( !$users_view->file_exists($version)) { 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)); $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename));
// reset proxy state
\OC_FileProxy::$enabled = $proxyStatus;
$versionCreated = true; $versionCreated = true;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment