[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/exception/ -> PermissionsError.php (source)

   1  <?php
   2  /**
   3   * This program is free software; you can redistribute it and/or modify
   4   * it under the terms of the GNU General Public License as published by
   5   * the Free Software Foundation; either version 2 of the License, or
   6   * (at your option) any later version.
   7   *
   8   * This program is distributed in the hope that it will be useful,
   9   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11   * GNU General Public License for more details.
  12   *
  13   * You should have received a copy of the GNU General Public License along
  14   * with this program; if not, write to the Free Software Foundation, Inc.,
  15   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  16   * http://www.gnu.org/copyleft/gpl.html
  17   *
  18   * @file
  19   */
  20  
  21  /**
  22   * Show an error when a user tries to do something they do not have the necessary
  23   * permissions for.
  24   *
  25   * @since 1.18
  26   * @ingroup Exception
  27   */
  28  class PermissionsError extends ErrorPageError {
  29      public $permission, $errors;
  30  
  31  	public function __construct( $permission, $errors = array() ) {
  32          global $wgLang;
  33  
  34          $this->permission = $permission;
  35  
  36          if ( !count( $errors ) ) {
  37              $groups = array_map(
  38                  array( 'User', 'makeGroupLinkWiki' ),
  39                  User::getGroupsWithPermission( $this->permission )
  40              );
  41  
  42              if ( $groups ) {
  43                  $errors[] = array( 'badaccess-groups', $wgLang->commaList( $groups ), count( $groups ) );
  44              } else {
  45                  $errors[] = array( 'badaccess-group0' );
  46              }
  47          }
  48  
  49          $this->errors = $errors;
  50      }
  51  
  52  	public function report() {
  53          global $wgOut;
  54  
  55          $wgOut->showPermissionsErrorPage( $this->errors, $this->permission );
  56          $wgOut->output();
  57      }
  58  }


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1