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 }
execute( $par)
Show the special page.
static element( $element, $attribs=[], $contents='')
Identical to rawElement(), but HTML-escapes $contents (like Xml::element()).
Definition: Html.php:231
static openElement( $element, $attribs=[])
Identical to rawElement(), but has no third parameter and omits the end tag (and the self-closing &#39;/&#39;...
Definition: Html.php:251
static rawElement( $element, $attribs=[], $contents='')
Returns an HTML element in a string.
Definition: Html.php:209
getOutput()
Get the OutputPage being used for this instance.
msg( $key,... $params)
Wrapper around wfMessage that sets the current context.
static getRightDescription( $right)
Get the description of a given right.
Definition: User.php:5019
static escapeIdForAttribute( $id, $mode=self::ID_PRIMARY)
Given a section name or other user-generated or otherwise unsafe string, escapes it to be a valid HTM...
Definition: Sanitizer.php:1295
static getGrantName( $grant)
Get the name of a given grant.
Definition: User.php:5032
static closeElement( $element)
Returns "</$element>".
Definition: Html.php:315
setHeaders()
Sets headers - this should be called from the execute() method of all derived classes! ...
This special page lists all defined rights grants and the associated rights.
getConfig()
Shortcut to get main config object.
outputHeader( $summaryMessageKey='')
Outputs a summary message on top of special pages Per default the message key is the canonical name o...