X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/includes/user/UserNamePrefixSearch.php diff --git a/includes/user/UserNamePrefixSearch.php b/includes/user/UserNamePrefixSearch.php new file mode 100644 index 00000000..b7d50582 --- /dev/null +++ b/includes/user/UserNamePrefixSearch.php @@ -0,0 +1,70 @@ +getName() : ''; + $tables = [ 'user' ]; + $cond = [ 'user_name ' . $dbr->buildLike( $prefix, $dbr->anyString() ) ]; + $joinConds = []; + + // Filter out hidden user names + if ( $audience === 'public' || !$audience->isAllowed( 'hideuser' ) ) { + $tables[] = 'ipblocks'; + $cond['ipb_deleted'] = [ 0, null ]; + $joinConds['ipblocks'] = [ 'LEFT JOIN', 'user_id=ipb_user' ]; + } + + $res = $dbr->selectFieldValues( + $tables, + 'user_name', + $cond, + __METHOD__, + [ + 'LIMIT' => $limit, + 'ORDER BY' => 'user_name', + 'OFFSET' => $offset + ], + $joinConds + ); + + return $res === false ? [] : $res; + } +}