summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2016-02-29 07:08:57 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2016-02-29 07:08:57 +0100
commit3e8e0049b45f19a53b84aa30a75c42a3df383cbc (patch)
tree5bc5f784840e87ad8f0548cd5249013c0096b91c
parenta39332832c3926929a245275717391e8f5b00ca7 (diff)
parentbfcdf40a64fd3217803c59c4e2057fc573407595 (diff)
downloadnextcloud-server-3e8e0049b45f19a53b84aa30a75c42a3df383cbc.tar.gz
nextcloud-server-3e8e0049b45f19a53b84aa30a75c42a3df383cbc.zip
Merge pull request #22673 from owncloud/fix_enforced_expire_date_setting
Expiration date can only be enforced if default is enabled
-rw-r--r--lib/private/share20/manager.php3
-rw-r--r--tests/lib/share20/managertest.php15
2 files changed, 17 insertions, 1 deletions
diff --git a/lib/private/share20/manager.php b/lib/private/share20/manager.php
index 6932360a7e9..df125ea6fc1 100644
--- a/lib/private/share20/manager.php
+++ b/lib/private/share20/manager.php
@@ -1079,7 +1079,8 @@ class Manager implements IManager {
* @return bool
*/
public function shareApiLinkDefaultExpireDateEnforced() {
- return $this->config->getAppValue('core', 'shareapi_enforce_expire_date', 'no') === 'yes';
+ return $this->shareApiLinkDefaultExpireDate() &&
+ $this->config->getAppValue('core', 'shareapi_enforce_expire_date', 'no') === 'yes';
}
/**
diff --git a/tests/lib/share20/managertest.php b/tests/lib/share20/managertest.php
index 2c40bf65c2c..d388d56ce3d 100644
--- a/tests/lib/share20/managertest.php
+++ b/tests/lib/share20/managertest.php
@@ -746,10 +746,25 @@ class ManagerTest extends \Test\TestCase {
$this->config->method('getAppValue')
->will($this->returnValueMap([
+ ['core', 'shareapi_default_expire_date', 'no', 'yes'],
+ ['core', 'shareapi_enforce_expire_date', 'no', 'yes'],
+ ]));
+
+ $this->invokePrivate($this->manager, 'validateExpirationDate', [$share]);
+ }
+
+ public function testvalidateExpirationDateEnforceButNotEnabledAndNotSet() {
+ $share = $this->manager->newShare();
+ $share->setProviderId('foo')->setId('bar');
+
+ $this->config->method('getAppValue')
+ ->will($this->returnValueMap([
['core', 'shareapi_enforce_expire_date', 'no', 'yes'],
]));
$this->invokePrivate($this->manager, 'validateExpirationDate', [$share]);
+
+ $this->assertNull($share->getExpirationDate());
}
public function testvalidateExpirationDateEnforceButNotSetNewShare() {