From 1d4d308a6c0bb5b13d0dd172cf1eb3622f3e1ee6 Mon Sep 17 00:00:00 2001
From: Miguel Prokop <miguel.prokop@vtu.com>
Date: Fri, 21 Nov 2014 11:01:39 +0100
Subject: [PATCH] fix calculation of expiration date if there is a default
 expiration date set (but not forced) and the user does not want the link to
 expire.

---
 lib/private/share/helper.php | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/lib/private/share/helper.php b/lib/private/share/helper.php
index 2418535c9d..1ebcdb563a 100644
--- a/lib/private/share/helper.php
+++ b/lib/private/share/helper.php
@@ -189,20 +189,25 @@ class Helper extends \OC\Share\Constants {
 	public static function calculateExpireDate($defaultExpireSettings, $creationTime, $userExpireDate = null) {
 
 		$expires = false;
+		$defaultExpires = null;
 
 		if (!empty($defaultExpireSettings['defaultExpireDateSet'])) {
-			$expires = $creationTime + $defaultExpireSettings['expireAfterDays'] * 86400;
+			$defaultExpires = $creationTime + $defaultExpireSettings['expireAfterDays'] * 86400;
 		}
 
 
 		if (isset($userExpireDate)) {
 			// if the admin decided to enforce the default expire date then we only take
 			// the user defined expire date of it is before the default expire date
-			if ($expires && !empty($defaultExpireSettings['enforceExpireDate'])) {
-				$expires = min($userExpireDate, $expires);
+			if ($defaultExpires && !empty($defaultExpireSettings['enforceExpireDate'])) {
+				$expires = min($userExpireDate, $defaultExpires);
 			} else {
 				$expires = $userExpireDate;
 			}
+		} else {
+			if ($defaultExpires && !empty($defaultExpireSettings['enforceExpireDate'])) {
+				$expires = $defaultExpires;
+			}
 		}
 
 		return $expires;
-- 
GitLab