* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * * @file * @ingroup SpecialPage */ /** * @ingroup SpecialPage */ class SpecialListUsers extends IncludableSpecialPage { public function __construct() { parent::__construct( 'Listusers' ); } /** * Show the special page * * @param string $par (optional) A group to list users from */ public function execute( $par ) { $this->setHeaders(); $this->outputHeader(); $up = new UsersPager( $this->getContext(), $par, $this->including() ); # getBody() first to check, if empty $usersbody = $up->getBody(); $s = ''; if ( !$this->including() ) { $s = $up->getPageHeader(); } if ( $usersbody ) { $s .= $up->getNavigationBar(); $s .= Html::rawElement( 'ul', [], $usersbody ); $s .= $up->getNavigationBar(); } else { $s .= $this->msg( 'listusers-noresult' )->parseAsBlock(); } $this->getOutput()->addHTML( $s ); } /** * Return an array of subpages that this special page will accept. * * @return string[] subpages */ public function getSubpagesForPrefixSearch() { return User::getAllGroups(); } protected function getGroupName() { return 'users'; } } /** * Redirect page: Special:ListAdmins --> Special:ListUsers/sysop. * * @ingroup SpecialPage */ class SpecialListAdmins extends SpecialRedirectToSpecial { function __construct() { parent::__construct( 'Listadmins', 'Listusers', 'sysop' ); } } /** * Redirect page: Special:ListBots --> Special:ListUsers/bot. * * @ingroup SpecialPage */ class SpecialListBots extends SpecialRedirectToSpecial { function __construct() { parent::__construct( 'Listbots', 'Listusers', 'bot' ); } }