diff --git a/apps/user_ldap/lib/Jobs/UpdateGroups.php b/apps/user_ldap/lib/Jobs/UpdateGroups.php index 8cbac261e9..85615a4618 100644 --- a/apps/user_ldap/lib/Jobs/UpdateGroups.php +++ b/apps/user_ldap/lib/Jobs/UpdateGroups.php @@ -47,6 +47,7 @@ use OCP\EventDispatcher\IEventDispatcher; use OCP\Group\Events\UserAddedEvent; use OCP\Group\Events\UserRemovedEvent; use OCP\ILogger; +use OCP\IUser; class UpdateGroups extends \OC\BackgroundJob\TimedJob { private static $groupsFromDB; @@ -116,7 +117,9 @@ class UpdateGroups extends \OC\BackgroundJob\TimedJob { $groupObject = $groupManager->get($group); foreach (array_diff($knownUsers, $actualUsers) as $removedUser) { $userObject = $userManager->get($removedUser); - $dispatcher->dispatchTyped(new UserRemovedEvent($groupObject, $userObject)); + if ($userObject instanceof IUser) { + $dispatcher->dispatchTyped(new UserRemovedEvent($groupObject, $userObject)); + } \OCP\Util::writeLog('user_ldap', 'bgJ "updateGroups" – "'.$removedUser.'" removed from "'.$group.'".', ILogger::INFO); @@ -124,7 +127,9 @@ class UpdateGroups extends \OC\BackgroundJob\TimedJob { } foreach (array_diff($actualUsers, $knownUsers) as $addedUser) { $userObject = $userManager->get($addedUser); - $dispatcher->dispatchTyped(new UserAddedEvent($groupObject, $userObject)); + if ($userObject instanceof IUser) { + $dispatcher->dispatchTyped(new UserAddedEvent($groupObject, $userObject)); + } \OCP\Util::writeLog('user_ldap', 'bgJ "updateGroups" – "'.$addedUser.'" added to "'.$group.'".', ILogger::INFO);