Merge pull request #12350 from mprokop/link_expiration
fix calculation of expiration date if there is a default expiration date...
This commit is contained in:
commit
60e4aa120f
|
@ -189,20 +189,23 @@ class Helper extends \OC\Share\Constants {
|
||||||
public static function calculateExpireDate($defaultExpireSettings, $creationTime, $userExpireDate = null) {
|
public static function calculateExpireDate($defaultExpireSettings, $creationTime, $userExpireDate = null) {
|
||||||
|
|
||||||
$expires = false;
|
$expires = false;
|
||||||
|
$defaultExpires = null;
|
||||||
|
|
||||||
if (!empty($defaultExpireSettings['defaultExpireDateSet'])) {
|
if (!empty($defaultExpireSettings['defaultExpireDateSet'])) {
|
||||||
$expires = $creationTime + $defaultExpireSettings['expireAfterDays'] * 86400;
|
$defaultExpires = $creationTime + $defaultExpireSettings['expireAfterDays'] * 86400;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (isset($userExpireDate)) {
|
if (isset($userExpireDate)) {
|
||||||
// if the admin decided to enforce the default expire date then we only take
|
// 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
|
// the user defined expire date of it is before the default expire date
|
||||||
if ($expires && !empty($defaultExpireSettings['enforceExpireDate'])) {
|
if ($defaultExpires && !empty($defaultExpireSettings['enforceExpireDate'])) {
|
||||||
$expires = min($userExpireDate, $expires);
|
$expires = min($userExpireDate, $defaultExpires);
|
||||||
} else {
|
} else {
|
||||||
$expires = $userExpireDate;
|
$expires = $userExpireDate;
|
||||||
}
|
}
|
||||||
|
} else if ($defaultExpires && !empty($defaultExpireSettings['enforceExpireDate'])) {
|
||||||
|
$expires = $defaultExpires;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $expires;
|
return $expires;
|
||||||
|
|
|
@ -27,8 +27,8 @@ class Test_Share_Helper extends \Test\TestCase {
|
||||||
array(array('defaultExpireDateSet' => false), 2000000000, 2000010000, 2000010000),
|
array(array('defaultExpireDateSet' => false), 2000000000, 2000010000, 2000010000),
|
||||||
// no default expire date and no user defined expire date, return false
|
// no default expire date and no user defined expire date, return false
|
||||||
array(array('defaultExpireDateSet' => false), 2000000000, null, false),
|
array(array('defaultExpireDateSet' => false), 2000000000, null, false),
|
||||||
// unenforced expire data and no user defined expire date, take default expire date
|
// unenforced expire data and no user defined expire date, return false (because the default is not enforced)
|
||||||
array(array('defaultExpireDateSet' => true, 'expireAfterDays' => 1, 'enforceExpireDate' => false), 2000000000, null, 2000086400),
|
array(array('defaultExpireDateSet' => true, 'expireAfterDays' => 1, 'enforceExpireDate' => false), 2000000000, null, false),
|
||||||
// enforced expire date and no user defined expire date, take default expire date
|
// enforced expire date and no user defined expire date, take default expire date
|
||||||
array(array('defaultExpireDateSet' => true, 'expireAfterDays' => 1, 'enforceExpireDate' => true), 2000000000, null, 2000086400),
|
array(array('defaultExpireDateSet' => true, 'expireAfterDays' => 1, 'enforceExpireDate' => true), 2000000000, null, 2000086400),
|
||||||
// unenforced expire date and user defined date > default expire date, take users expire date
|
// unenforced expire date and user defined date > default expire date, take users expire date
|
||||||
|
@ -49,6 +49,4 @@ class Test_Share_Helper extends \Test\TestCase {
|
||||||
$result = \OC\Share\Helper::calculateExpireDate($defaultExpireSettings, $creationTime, $userExpireDate);
|
$result = \OC\Share\Helper::calculateExpireDate($defaultExpireSettings, $creationTime, $userExpireDate);
|
||||||
$this->assertSame($expected, $result);
|
$this->assertSame($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue