]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blob - includes/specials/SpecialListusers.php
MediaWiki 1.30.2 renames
[autoinstallsdev/mediawiki.git] / includes / specials / SpecialListusers.php
1 <?php
2 /**
3  * Implements Special:Listusers
4  *
5  * Copyright © 2004 Brion Vibber, lcrocker, Tim Starling,
6  * Domas Mituzas, Antoine Musso, Jens Frank, Zhengzhu,
7  * 2006 Rob Church <robchur@gmail.com>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License along
20  * with this program; if not, write to the Free Software Foundation, Inc.,
21  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22  * http://www.gnu.org/copyleft/gpl.html
23  *
24  * @file
25  * @ingroup SpecialPage
26  */
27
28 /**
29  * @ingroup SpecialPage
30  */
31 class SpecialListUsers extends IncludableSpecialPage {
32
33         public function __construct() {
34                 parent::__construct( 'Listusers' );
35         }
36
37         /**
38          * Show the special page
39          *
40          * @param string $par (optional) A group to list users from
41          */
42         public function execute( $par ) {
43                 $this->setHeaders();
44                 $this->outputHeader();
45
46                 $up = new UsersPager( $this->getContext(), $par, $this->including() );
47
48                 # getBody() first to check, if empty
49                 $usersbody = $up->getBody();
50
51                 $s = '';
52                 if ( !$this->including() ) {
53                         $s = $up->getPageHeader();
54                 }
55
56                 if ( $usersbody ) {
57                         $s .= $up->getNavigationBar();
58                         $s .= Html::rawElement( 'ul', [], $usersbody );
59                         $s .= $up->getNavigationBar();
60                 } else {
61                         $s .= $this->msg( 'listusers-noresult' )->parseAsBlock();
62                 }
63
64                 $this->getOutput()->addHTML( $s );
65         }
66
67         /**
68          * Return an array of subpages that this special page will accept.
69          *
70          * @return string[] subpages
71          */
72         public function getSubpagesForPrefixSearch() {
73                 return User::getAllGroups();
74         }
75
76         protected function getGroupName() {
77                 return 'users';
78         }
79 }
80
81 /**
82  * Redirect page: Special:ListAdmins --> Special:ListUsers/sysop.
83  *
84  * @ingroup SpecialPage
85  */
86 class SpecialListAdmins extends SpecialRedirectToSpecial {
87         function __construct() {
88                 parent::__construct( 'Listadmins', 'Listusers', 'sysop' );
89         }
90 }
91
92 /**
93  * Redirect page: Special:ListBots --> Special:ListUsers/bot.
94  *
95  * @ingroup SpecialPage
96  */
97 class SpecialListBots extends SpecialRedirectToSpecial {
98         function __construct() {
99                 parent::__construct( 'Listbots', 'Listusers', 'bot' );
100         }
101 }