MediaWiki  master
SpecialListGrants.php
Go to the documentation of this file.
1 <?php
31  function __construct() {
32  parent::__construct( 'Listgrants' );
33  }
34 
39  public function execute( $par ) {
40  $this->setHeaders();
41  $this->outputHeader();
42 
43  $out = $this->getOutput();
44  $out->addModuleStyles( 'mediawiki.special' );
45 
46  $out->addHTML(
47  \Html::openElement( 'table',
48  [ 'class' => 'wikitable mw-listgrouprights-table' ] ) .
49  '<tr>' .
50  \Html::element( 'th', null, $this->msg( 'listgrants-grant' )->text() ) .
51  \Html::element( 'th', null, $this->msg( 'listgrants-rights' )->text() ) .
52  '</tr>'
53  );
54 
55  foreach ( $this->getConfig()->get( 'GrantPermissions' ) as $grant => $rights ) {
56  $descs = [];
57  $rights = array_filter( $rights ); // remove ones with 'false'
58  foreach ( $rights as $permission => $granted ) {
59  $descs[] = $this->msg(
60  'listgrouprights-right-display',
61  \User::getRightDescription( $permission ),
62  '<span class="mw-listgrants-right-name">' . $permission . '</span>'
63  )->parse();
64  }
65  if ( $descs === [] ) {
66  $grantCellHtml = '';
67  } else {
68  sort( $descs );
69  $grantCellHtml = '<ul><li>' . implode( "</li>\n<li>", $descs ) . '</li></ul>';
70  }
71 
72  $id = Sanitizer::escapeIdForAttribute( $grant );
73  $out->addHTML( \Html::rawElement( 'tr', [ 'id' => $id ],
74  "<td>" .
75  $this->msg(
76  "listgrants-grant-display",
77  \User::getGrantName( $grant ),
78  "<span class='mw-listgrants-grant-name'>" . $id . "</span>"
79  )->parse() .
80  "</td>" .
81  "<td>" . $grantCellHtml . "</td>"
82  ) );
83  }
84 
85  $out->addHTML( \Html::closeElement( 'table' ) );
86  }
87 
88  protected function getGroupName() {
89  return 'users';
90  }
91 }
SpecialPage\msg
msg( $key,... $params)
Wrapper around wfMessage that sets the current context.
Definition: SpecialPage.php:792
SpecialListGrants
This special page lists all defined rights grants and the associated rights.
Definition: SpecialListGrants.php:30
SpecialPage\getOutput
getOutput()
Get the OutputPage being used for this instance.
Definition: SpecialPage.php:719
SpecialListGrants\__construct
__construct()
Definition: SpecialListGrants.php:31
SpecialPage\getConfig
getConfig()
Shortcut to get main config object.
Definition: SpecialPage.php:758
SpecialListGrants\getGroupName
getGroupName()
Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-gro...
Definition: SpecialListGrants.php:88
SpecialListGrants\execute
execute( $par)
Show the special page.
Definition: SpecialListGrants.php:39
SpecialPage\setHeaders
setHeaders()
Sets headers - this should be called from the execute() method of all derived classes!
Definition: SpecialPage.php:537
SpecialPage
Parent class for all special pages.
Definition: SpecialPage.php:37
User\getRightDescription
static getRightDescription( $right)
Get the description of a given right.
Definition: User.php:5098
User\getGrantName
static getGrantName( $grant)
Get the name of a given grant.
Definition: User.php:5111
SpecialPage\outputHeader
outputHeader( $summaryMessageKey='')
Outputs a summary message on top of special pages Per default the message key is the canonical name o...
Definition: SpecialPage.php:639