From 7f1f0464a882dc8df80cc2da79079dad0933ecdd Mon Sep 17 00:00:00 2001 From: Florin Peter Date: Sat, 27 Apr 2013 23:02:42 +0200 Subject: [PATCH] added self healing if file get remove from file cache --- apps/files_encryption/lib/proxy.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/apps/files_encryption/lib/proxy.php b/apps/files_encryption/lib/proxy.php index 439aa0da251..23290b5b20b 100644 --- a/apps/files_encryption/lib/proxy.php +++ b/apps/files_encryption/lib/proxy.php @@ -438,10 +438,24 @@ class Proxy extends \OC_FileProxy { // if file is encrypted return real file size if (is_array($fileInfo) && $fileInfo['encrypted'] == 1) { - return $fileInfo['unencrypted_size']; + $size = $fileInfo['unencrypted_size']; } else { - return $size; + // self healing if file was removed from file cache + $userId = \OCP\User::getUser(); + $util = new Util( $view, $userId ); + $fixSize = $util->getFileSize($path); + if($fixSize > 0) { + $size = $fixSize; + + $fileInfo['encrypted'] = 1; + $fileInfo['unencrypted_size'] = $size; + + // put file info + $view->putFileInfo( $path, $fileInfo ); + } } + + return $size; } public function handleFile($path) { -- 2.39.5