diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php index feb0365e9a709..b432dc2888e0d 100644 --- a/lib/private/Share20/Manager.php +++ b/lib/private/Share20/Manager.php @@ -396,7 +396,12 @@ protected function validateExpirationDateInternal(\OCP\Share\IShare $share) { if ($fullId === null && $expirationDate === null && $this->shareApiInternalDefaultExpireDate()) { $expirationDate = new \DateTime(); $expirationDate->setTime(0,0,0); - $expirationDate->add(new \DateInterval('P'.$this->shareApiInternalDefaultExpireDays().'D')); + + $days = (int)$this->config->getAppValue('core', 'internal_defaultExpDays', $this->shareApiLinkDefaultExpireDays()); + if ($days > $this->shareApiLinkDefaultExpireDays()) { + $days = $this->shareApiLinkDefaultExpireDays(); + } + $expirationDate->add(new \DateInterval('P'.$days.'D')); } // If we enforce the expiration date check that is does not exceed @@ -468,7 +473,12 @@ protected function validateExpirationDate(\OCP\Share\IShare $share) { if ($fullId === null && $expirationDate === null && $this->shareApiLinkDefaultExpireDate()) { $expirationDate = new \DateTime(); $expirationDate->setTime(0,0,0); - $expirationDate->add(new \DateInterval('P'.$this->shareApiLinkDefaultExpireDays().'D')); + + $days = (int)$this->config->getAppValue('core', 'link_defaultExpDays', $this->shareApiLinkDefaultExpireDays()); + if ($days > $this->shareApiLinkDefaultExpireDays()) { + $days = $this->shareApiLinkDefaultExpireDays(); + } + $expirationDate->add(new \DateInterval('P'.$days.'D')); } // If we enforce the expiration date check that is does not exceed diff --git a/tests/lib/Share20/ManagerTest.php b/tests/lib/Share20/ManagerTest.php index 314038fe13b2c..231b879395f7a 100644 --- a/tests/lib/Share20/ManagerTest.php +++ b/tests/lib/Share20/ManagerTest.php @@ -809,6 +809,7 @@ public function testvalidateExpirationDateEnforceButNotSetNewShare() { ['core', 'shareapi_enforce_expire_date', 'no', 'yes'], ['core', 'shareapi_expire_after_n_days', '7', '3'], ['core', 'shareapi_default_expire_date', 'no', 'yes'], + ['core', 'link_defaultExpDays', 3, '3'], ])); $expected = new \DateTime();