@@ -193,7 +193,7 @@ public function get($uid) {
193193 * @param bool $cacheUser If false the newly created user object will not be cached
194194 * @return \OC\User\User
195195 */
196- protected function getUserObject ($ uid , $ backend , $ cacheUser = true ) {
196+ public function getUserObject ($ uid , $ backend , $ cacheUser = true ) {
197197 if ($ backend instanceof IGetRealUIDBackend) {
198198 $ uid = $ backend ->getRealUID ($ uid );
199199 }
@@ -284,58 +284,53 @@ public function checkPasswordNoLogging($loginName, $password) {
284284 }
285285
286286 /**
287- * search by user id
287+ * Search by user id
288288 *
289289 * @param string $pattern
290290 * @param int $limit
291291 * @param int $offset
292- * @return \OC\User\User[]
292+ * @return IUser[]
293+ * @deprecated since 25.0.0, use searchDisplayName instead
293294 */
294295 public function search ($ pattern , $ limit = null , $ offset = null ) {
295296 $ users = [];
297+ $ displayNameCache = \OCP \Server::get (DisplayNameCache::class);
296298 foreach ($ this ->backends as $ backend ) {
297299 $ backendUsers = $ backend ->getUsers ($ pattern , $ limit , $ offset );
298300 if (is_array ($ backendUsers )) {
299301 foreach ($ backendUsers as $ uid ) {
300- $ users [$ uid ] = $ this -> getUserObject ($ uid , $ backend );
302+ $ users [$ uid ] = new LazyUser ($ uid, $ displayNameCache , $ this , null , $ backend );
301303 }
302304 }
303305 }
304306
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 ) {
310308 return strcasecmp ($ a ->getUID (), $ b ->getUID ());
311309 });
312310 return $ users ;
313311 }
314312
315313 /**
316- * search by displayName
314+ * Search by displayName
317315 *
318316 * @param string $pattern
319317 * @param int $limit
320318 * @param int $offset
321- * @return \OC\User\User []
319+ * @return IUser []
322320 */
323321 public function searchDisplayName ($ pattern , $ limit = null , $ offset = null ) {
324322 $ users = [];
323+ $ displayNameCache = \OCP \Server::get (DisplayNameCache::class);
325324 foreach ($ this ->backends as $ backend ) {
326325 $ backendUsers = $ backend ->getDisplayNames ($ pattern , $ limit , $ offset );
327326 if (is_array ($ backendUsers )) {
328327 foreach ($ backendUsers as $ uid => $ displayName ) {
329- $ users [] = $ this -> getUserObject ($ uid , $ backend );
328+ $ users [] = new LazyUser ($ uid, $ displayNameCache , $ this , $ displayName , $ backend );
330329 }
331330 }
332331 }
333332
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 ) {
339334 return strcasecmp ($ a ->getDisplayName (), $ b ->getDisplayName ());
340335 });
341336 return $ users ;
0 commit comments