diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2015-09-25 14:36:07 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2015-09-25 14:36:07 +0200 |
commit | 8f2a14c5d6956fbc6d316211d68f7d87d7349c55 (patch) | |
tree | e5745110a5091c72be0e2a23ecdbc8924c066719 | |
parent | f89b9b61a97d918bb4ce9bea712617c8f0b23acd (diff) | |
parent | 9a373cb5bbe2cc56ba96f1a6dff298912f4d88e7 (diff) | |
download | nextcloud-server-8f2a14c5d6956fbc6d316211d68f7d87d7349c55.tar.gz nextcloud-server-8f2a14c5d6956fbc6d316211d68f7d87d7349c55.zip |
Merge pull request #19297 from owncloud/fix_19119
Do not blindy copy expiration date on reshare
-rw-r--r-- | lib/private/share/share.php | 1 | ||||
-rw-r--r-- | tests/lib/share/share.php | 37 |
2 files changed, 37 insertions, 1 deletions
diff --git a/lib/private/share/share.php b/lib/private/share/share.php index 07c7f31a853..32389f34868 100644 --- a/lib/private/share/share.php +++ b/lib/private/share/share.php @@ -1998,7 +1998,6 @@ class Share extends Constants { $suggestedItemTarget = $result['suggestedItemTarget']; $suggestedFileTarget = $result['suggestedFileTarget']; $filePath = $result['filePath']; - $expirationDate = $result['expirationDate']; } $isGroupShare = false; diff --git a/tests/lib/share/share.php b/tests/lib/share/share.php index ef0d9822085..58a76470afa 100644 --- a/tests/lib/share/share.php +++ b/tests/lib/share/share.php @@ -1567,6 +1567,43 @@ class Test_Share extends \Test\TestCase { $this->setHttpHelper($oldHttpHelper); } + /** + * Test case for #19119 + */ + public function testReshareWithLinkDefaultExpirationDate() { + $config = \OC::$server->getConfig(); + $config->setAppValue('core', 'shareapi_default_expire_date', 'yes'); + $config->setAppValue('core', 'shareapi_expire_after_n_days', '2'); + + // Expiration date + $expireAt = time() + 2 * 24*60*60; + $date = new DateTime(); + $date->setTimestamp($expireAt); + $date->setTime(0, 0, 0); + + //Share a file from user 1 to user 2 + $this->shareUserTestFileWithUser($this->user1, $this->user2); + + //User 2 shares as link + OC_User::setUserId($this->user2); + $result = OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_LINK, null, \OCP\Constants::PERMISSION_READ); + $this->assertTrue(is_string($result)); + + //Check if expire date is correct + $result = OCP\Share::getItemShared('test', 'test.txt'); + $this->assertCount(1, $result); + $result = reset($result); + $this->assertNotEmpty($result['expiration']); + $expireDate = new DateTime($result['expiration']); + $this->assertEquals($date, $expireDate); + + //Unshare + $this->assertTrue(OCP\Share::unshareAll('test', 'test.txt')); + + //Reset config + $config->deleteAppValue('core', 'shareapi_default_expire_date'); + $config->deleteAppValue('core', 'shareapi_expire_after_n_days'); + } } class DummyShareClass extends \OC\Share\Share { |