handle NoUserException in sharing code

* setup LDAP users
* share from an LDAP user
* delete that LDAP user
* log in as share recipient
* before: unhandled NoUserException
* after: NoUserEception is logged and share is not shown anymore
This commit is contained in:
Morris Jobke 2015-10-22 17:04:36 +02:00
parent dc32bf4594
commit db25f41da8
1 changed files with 7 additions and 1 deletions

View File

@ -32,6 +32,7 @@
namespace OC\Files\Cache; namespace OC\Files\Cache;
use OC\User\NoUserException;
use OCP\Share_Backend_Collection; use OCP\Share_Backend_Collection;
/** /**
@ -64,7 +65,12 @@ class Shared_Cache extends Cache {
} }
$source = \OC_Share_Backend_File::getSource($target, $this->storage->getShare()); $source = \OC_Share_Backend_File::getSource($target, $this->storage->getShare());
if (isset($source['path']) && isset($source['fileOwner'])) { if (isset($source['path']) && isset($source['fileOwner'])) {
\OC\Files\Filesystem::initMountPoints($source['fileOwner']); try {
\OC\Files\Filesystem::initMountPoints($source['fileOwner']);
} catch(NoUserException $e) {
\OC::$server->getLogger()->logException($e, ['app' => 'files_sharing']);
return false;
}
$mounts = \OC\Files\Filesystem::getMountByNumericId($source['storage']); $mounts = \OC\Files\Filesystem::getMountByNumericId($source['storage']);
if (is_array($mounts) and !empty($mounts)) { if (is_array($mounts) and !empty($mounts)) {
$fullPath = $mounts[0]->getMountPoint() . $source['path']; $fullPath = $mounts[0]->getMountPoint() . $source['path'];