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:
Morris Jobke 2016-01-22 14:17:37 +01:00
parent 9b4c9a0357
commit bd456b5889
1 changed files with 17 additions and 0 deletions

View File

@ -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);
}
}
}
/**