|
|
@ -628,30 +628,14 @@ class Manager extends PublicEmitter implements IUserManager { |
|
|
|
return $result; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @param \Closure $callback |
|
|
|
* @psalm-param \Closure(\OCP\IUser):?bool $callback |
|
|
|
* @since 11.0.0 |
|
|
|
*/ |
|
|
|
public function callForSeenUsers(\Closure $callback) { |
|
|
|
$limit = 1000; |
|
|
|
$offset = 0; |
|
|
|
do { |
|
|
|
$userIds = $this->getSeenUserIds($limit, $offset); |
|
|
|
$offset += $limit; |
|
|
|
foreach ($userIds as $userId) { |
|
|
|
foreach ($this->backends as $backend) { |
|
|
|
if ($backend->userExists($userId)) { |
|
|
|
$user = $this->getUserObject($userId, $backend, false); |
|
|
|
$return = $callback($user); |
|
|
|
if ($return === false) { |
|
|
|
return; |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
$users = $this->getSeenUsers(); |
|
|
|
foreach ($users as $user) { |
|
|
|
$return = $callback($user); |
|
|
|
if ($return === false) { |
|
|
|
return; |
|
|
|
} |
|
|
|
} while (count($userIds) >= $limit); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|