diff options
author | Roeland Jago Douma <rullzer@owncloud.com> | 2016-02-25 14:21:46 +0100 |
---|---|---|
committer | Roeland Jago Douma <rullzer@owncloud.com> | 2016-02-25 14:21:46 +0100 |
commit | 6d4f80d680bfd45293a055b1c2502f512cbf1070 (patch) | |
tree | 1b102d4c46211bd701cc5b03db0c4d55714f9431 /lib | |
parent | 32f4bea0ae174487fd5a58e2c9eeb6e567d1ff91 (diff) | |
download | nextcloud-server-6d4f80d680bfd45293a055b1c2502f512cbf1070.tar.gz nextcloud-server-6d4f80d680bfd45293a055b1c2502f512cbf1070.zip |
Set default expiration date if none given on share creation
When we create a share for the first time we should set the default
expiration date. If none is given.
Fixes #22642
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/share20/manager.php | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/lib/private/share20/manager.php b/lib/private/share20/manager.php index 9b33e947557..73a25886206 100644 --- a/lib/private/share20/manager.php +++ b/lib/private/share20/manager.php @@ -224,7 +224,7 @@ class Manager implements IManager { * Validate if the expiration date fits the system settings * * @param \OCP\Share\IShare $share The share to validate the expiration date of - * @return \OCP\Share\IShare The expiration date or null if $expireDate was null and it is not required + * @return \OCP\Share\IShare The modified share object * @throws GenericShareException * @throws \InvalidArgumentException * @throws \Exception @@ -245,6 +245,20 @@ class Manager implements IManager { } } + // If expiredate is empty set a default one if there is a default + $fullId = null; + try { + $fullId = $share->getFullId(); + } catch (\UnexpectedValueException $e) { + // This is a new share + } + + if ($fullId === null && $expirationDate === null && $this->shareApiLinkDefaultExpireDate()) { + $expirationDate = new \DateTime(); + $expirationDate->setTime(0,0,0); + $expirationDate->add(new \DateInterval('P'.$this->shareApiLinkDefaultExpireDays().'D')); + } + // If we enforce the expiration date check that is does not exceed if ($this->shareApiLinkDefaultExpireDateEnforced()) { if ($expirationDate === null) { @@ -260,20 +274,6 @@ class Manager implements IManager { } } - // If expiredate is empty set a default one if there is a default - $fullId = null; - try { - $fullId = $share->getFullId(); - } catch (\UnexpectedValueException $e) { - // This is a new share - } - - if ($fullId === null && $expirationDate === null && $this->shareApiLinkDefaultExpireDate()) { - $expirationDate = new \DateTime(); - $expirationDate->setTime(0,0,0); - $expirationDate->add(new \DateInterval('P'.$this->shareApiLinkDefaultExpireDays().'D')); - } - $accepted = true; $message = ''; \OCP\Util::emitHook('\OC\Share', 'verifyExpirationDate', [ @@ -289,7 +289,7 @@ class Manager implements IManager { $share->setExpirationDate($expirationDate); - return $expirationDate; + return $share; } /** |