Fix addUserToGroup hook of the share code
* sets up the filesystem of the user that is added to a group to properly accept shares * fixes #18499
This commit is contained in:
parent
9b4c9a0357
commit
bd456b5889
|
@ -55,6 +55,15 @@ class Hooks extends \OC\Share\Constants {
|
|||
* @param array $arguments
|
||||
*/
|
||||
public static function pre_addToGroup($arguments) {
|
||||
$currentUser = \OC::$server->getUserSession()->getUser();
|
||||
$currentUserID = is_null($currentUser) ? '' : $currentUser->getUID();
|
||||
|
||||
// setup filesystem for added user if it isn't the current user
|
||||
if($currentUserID !== $arguments['uid']) {
|
||||
\OC_Util::tearDownFS();
|
||||
\OC_Util::setupFS($arguments['uid']);
|
||||
}
|
||||
|
||||
/** @var \OC\DB\Connection $db */
|
||||
$db = \OC::$server->getDatabaseConnection();
|
||||
|
||||
|
@ -120,6 +129,14 @@ class Hooks extends \OC\Share\Constants {
|
|||
];
|
||||
}
|
||||
}
|
||||
|
||||
// re-setup old filesystem state
|
||||
if($currentUserID !== $arguments['uid']) {
|
||||
\OC_Util::tearDownFS();
|
||||
if($currentUserID !== '') {
|
||||
\OC_Util::setupFS($currentUserID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue