@@ -193,7 +193,7 @@ public function get($uid) {
193
193
* @param bool $cacheUser If false the newly created user object will not be cached
194
194
* @return \OC\User\User
195
195
*/
196
- protected function getUserObject ($ uid , $ backend , $ cacheUser = true ) {
196
+ public function getUserObject ($ uid , $ backend , $ cacheUser = true ) {
197
197
if ($ backend instanceof IGetRealUIDBackend) {
198
198
$ uid = $ backend ->getRealUID ($ uid );
199
199
}
@@ -284,58 +284,53 @@ public function checkPasswordNoLogging($loginName, $password) {
284
284
}
285
285
286
286
/**
287
- * search by user id
287
+ * Search by user id
288
288
*
289
289
* @param string $pattern
290
290
* @param int $limit
291
291
* @param int $offset
292
- * @return \OC\User\User[]
292
+ * @return IUser[]
293
+ * @deprecated since 25.0.0, use searchDisplayName instead
293
294
*/
294
295
public function search ($ pattern , $ limit = null , $ offset = null ) {
295
296
$ users = [];
297
+ $ displayNameCache = \OCP \Server::get (DisplayNameCache::class);
296
298
foreach ($ this ->backends as $ backend ) {
297
299
$ backendUsers = $ backend ->getUsers ($ pattern , $ limit , $ offset );
298
300
if (is_array ($ backendUsers )) {
299
301
foreach ($ backendUsers as $ uid ) {
300
- $ users [$ uid ] = $ this -> getUserObject ($ uid , $ backend );
302
+ $ users [$ uid ] = new LazyUser ($ uid, $ displayNameCache , $ this , null , $ backend );
301
303
}
302
304
}
303
305
}
304
306
305
- uasort ($ users , function ($ a , $ b ) {
306
- /**
307
- * @var \OC\User\User $a
308
- * @var \OC\User\User $b
309
- */
307
+ uasort ($ users , function (IUser $ a , IUser $ b ) {
310
308
return strcasecmp ($ a ->getUID (), $ b ->getUID ());
311
309
});
312
310
return $ users ;
313
311
}
314
312
315
313
/**
316
- * search by displayName
314
+ * Search by displayName
317
315
*
318
316
* @param string $pattern
319
317
* @param int $limit
320
318
* @param int $offset
321
- * @return \OC\User\User []
319
+ * @return IUser []
322
320
*/
323
321
public function searchDisplayName ($ pattern , $ limit = null , $ offset = null ) {
324
322
$ users = [];
323
+ $ displayNameCache = \OCP \Server::get (DisplayNameCache::class);
325
324
foreach ($ this ->backends as $ backend ) {
326
325
$ backendUsers = $ backend ->getDisplayNames ($ pattern , $ limit , $ offset );
327
326
if (is_array ($ backendUsers )) {
328
327
foreach ($ backendUsers as $ uid => $ displayName ) {
329
- $ users [] = $ this -> getUserObject ($ uid , $ backend );
328
+ $ users [] = new LazyUser ($ uid, $ displayNameCache , $ this , $ displayName , $ backend );
330
329
}
331
330
}
332
331
}
333
332
334
- usort ($ users , function ($ a , $ b ) {
335
- /**
336
- * @var \OC\User\User $a
337
- * @var \OC\User\User $b
338
- */
333
+ usort ($ users , function (IUser $ a , IUser $ b ) {
339
334
return strcasecmp ($ a ->getDisplayName (), $ b ->getDisplayName ());
340
335
});
341
336
return $ users ;
0 commit comments