|
|
|
@ -1318,7 +1318,7 @@ class Manager implements IManager {
|
|
|
|
|
$added = 0;
|
|
|
|
|
foreach ($shares as $share) {
|
|
|
|
|
try {
|
|
|
|
|
$this->checkExpireDate($share);
|
|
|
|
|
$this->checkShare($share);
|
|
|
|
|
} catch (ShareNotFound $e) {
|
|
|
|
|
//Ignore since this basically means the share is deleted
|
|
|
|
|
continue;
|
|
|
|
@ -1377,7 +1377,7 @@ class Manager implements IManager {
|
|
|
|
|
// remove all shares which are already expired
|
|
|
|
|
foreach ($shares as $key => $share) {
|
|
|
|
|
try {
|
|
|
|
|
$this->checkExpireDate($share);
|
|
|
|
|
$this->checkShare($share);
|
|
|
|
|
} catch (ShareNotFound $e) {
|
|
|
|
|
unset($shares[$key]);
|
|
|
|
|
}
|
|
|
|
@ -1423,7 +1423,7 @@ class Manager implements IManager {
|
|
|
|
|
|
|
|
|
|
$share = $provider->getShareById($id, $recipient);
|
|
|
|
|
|
|
|
|
|
$this->checkExpireDate($share);
|
|
|
|
|
$this->checkShare($share);
|
|
|
|
|
|
|
|
|
|
return $share;
|
|
|
|
|
}
|
|
|
|
@ -1507,7 +1507,7 @@ class Manager implements IManager {
|
|
|
|
|
throw new ShareNotFound($this->l->t('The requested share does not exist anymore'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$this->checkExpireDate($share);
|
|
|
|
|
$this->checkShare($share);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Reduce the permissions for link or email shares if public upload is not enabled
|
|
|
|
@ -1520,11 +1520,25 @@ class Manager implements IManager {
|
|
|
|
|
return $share;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected function checkExpireDate($share) {
|
|
|
|
|
/**
|
|
|
|
|
* Check expire date and disabled owner
|
|
|
|
|
*
|
|
|
|
|
* @throws ShareNotFound
|
|
|
|
|
*/
|
|
|
|
|
protected function checkShare(IShare $share): void {
|
|
|
|
|
if ($share->isExpired()) {
|
|
|
|
|
$this->deleteShare($share);
|
|
|
|
|
throw new ShareNotFound($this->l->t('The requested share does not exist anymore'));
|
|
|
|
|
}
|
|
|
|
|
if ($this->config->getAppValue('files_sharing', 'hide_disabled_user_shares', 'no') === 'yes') {
|
|
|
|
|
$uids = array_unique([$share->getShareOwner(),$share->getSharedBy()]);
|
|
|
|
|
foreach ($uids as $uid) {
|
|
|
|
|
$user = $this->userManager->get($uid);
|
|
|
|
|
if (($user !== null) && !$user->isEnabled()) {
|
|
|
|
|
throw new ShareNotFound($this->l->t('The requested share comes from a disabled user'));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|