diff options
author | Björn Schießle <bjoern@schiessle.org> | 2015-05-29 15:19:04 +0200 |
---|---|---|
committer | Björn Schießle <bjoern@schiessle.org> | 2015-05-29 15:19:04 +0200 |
commit | 01a241f71129c3980619f3981d3f7903c1a4cee8 (patch) | |
tree | 9af42aeb865f1f253586487da816c7bfe9fa6fdd | |
parent | c700f42b68f430e9c89ce97b92ea91323c9f6ed5 (diff) | |
parent | 9a6d253af39dba49a1397416fb448e922df8a7a1 (diff) | |
download | nextcloud-server-01a241f71129c3980619f3981d3f7903c1a4cee8.tar.gz nextcloud-server-01a241f71129c3980619f3981d3f7903c1a4cee8.zip |
Merge pull request #16622 from owncloud/versions-cancelexpireforunexistingfiles
Abort expiration when file is gone
-rw-r--r-- | apps/files_versions/lib/storage.php | 6 | ||||
-rw-r--r-- | apps/files_versions/tests/versions.php | 10 |
2 files changed, 15 insertions, 1 deletions
diff --git a/apps/files_versions/lib/storage.php b/apps/files_versions/lib/storage.php index 98e486690b6..296cebfe058 100644 --- a/apps/files_versions/lib/storage.php +++ b/apps/files_versions/lib/storage.php @@ -346,7 +346,7 @@ class Storage { */ public static function getVersions($uid, $filename, $userFullPath = '') { $versions = array(); - if ($filename === '') { + if (empty($filename)) { return $versions; } // fetch for old versions @@ -556,6 +556,10 @@ class Storage { $config = \OC::$server->getConfig(); if($config->getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { list($uid, $filename) = self::getUidAndFilename($filename); + if (empty($filename)) { + // file maybe renamed or deleted + return false; + } $versionsFileview = new \OC\Files\View('/'.$uid.'/files_versions'); // get available disk space for user diff --git a/apps/files_versions/tests/versions.php b/apps/files_versions/tests/versions.php index 685bf48d652..0b6bfc698d7 100644 --- a/apps/files_versions/tests/versions.php +++ b/apps/files_versions/tests/versions.php @@ -552,10 +552,20 @@ class Test_Files_Versioning extends \Test\TestCase { public function testGetVersionsEmptyFile() { // execute copy hook of versions app $versions = \OCA\Files_Versions\Storage::getVersions(self::TEST_VERSIONS_USER, ''); + $this->assertCount(0, $versions); + $versions = \OCA\Files_Versions\Storage::getVersions(self::TEST_VERSIONS_USER, null); $this->assertCount(0, $versions); } + public function testExpireNonexistingFile() { + $this->logout(); + // needed to have a FS setup (the background job does this) + \OC_Util::setupFS(self::TEST_VERSIONS_USER); + + $this->assertFalse(\OCA\Files_Versions\Storage::expire('/void/unexist.txt')); + } + public function testRestoreSameStorage() { \OC\Files\Filesystem::mkdir('sub'); $this->doTestRestore(); |