OutputPage::developerRequired - use OutputPage::permissionRequired instead.
* Removed the deprecated functions User::isSysop, User::isBureaucrat and User::isDeveloper -
use User::isAllowed instead.
+* (bug 769) OutputPage::permissionRequired() should suggest groups with the needed permission
== Languages updated ==
* @param string $permission key required
*/
function permissionRequired( $permission ) {
- global $wgUser;
+ global $wgGroupPermissions, $wgUser;
$this->setPageTitle( wfMsg( 'badaccess' ) );
$this->setHTMLTitle( wfMsg( 'errorpagetitle' ) );
$this->setArticleRelated( false );
$this->mBodytext = '';
- $sk = $wgUser->getSkin();
- $ap = $sk->makeKnownLink( wfMsgForContent( 'administrators' ) );
- $this->addHTML( wfMsgHtml( 'badaccesstext', $ap, $permission ) );
- $this->returnToMain();
+ $group = '';
+ foreach ( $wgGroupPermissions as $key => $value ) {
+ if ( isset( $value[$permission] ) && $value[$permission] == true ) {
+ $group = $key;
+ break;
+ }
+ }
+ if ( $group == '' ) {
+ $message = wfMsg( 'badaccess-nogroup' );
+ } else {
+ $groupName = User::getGroupName( $group );
+ $groupPage = User::getGroupPage( $group );
+ if ( $groupPage ) {
+ $sk = $wgUser->getSkin();
+ $groupLink = $sk->makeLinkObj( $groupPage, $groupName );
+ } else {
+ $groupLink = $groupName;
+ }
+ $message = wfMsg( 'badaccess-group', $groupLink );
+ }
+ $this->addHTML( $message );
+ $this->returnToMain( false );
}
/**
'jumptonavigation' => 'navigation',
'jumptosearch' => 'search',
-'badaccess' => 'Permission error',
-'badaccesstext' => 'The action you have requested is limited
-to users with the "$2" permission assigned.
-See $1.',
+'badaccess' => 'Permission error',
+'badaccess-group' => 'The action you have requested is limited to users in the group "$1".',
+'badaccess-nogroup' => 'You are not allowed to execute the action you have requested.',
'versionrequired' => 'Version $1 of MediaWiki required',
'versionrequiredtext' => 'Version $1 of MediaWiki is required to use this page. See [[Special:Version]]',
"jumptonavigation" => "ניווט",
"jumptosearch" => "חיפוש",
-"badaccess" => "תקלה בהרשאות",
-"badaccesstext" => 'הפעולה שביקשתם לבצע מוגבלת למשתמשים עם הרשאת "$2".
-
-למידע נוסף, ראו $1.',
+"badaccess" => "שגיאה בהרשאות",
+"badaccess-group" => 'הפעולה שביקשתם לבצע מוגבלת למשתמשים בקבוצה "$1".',
+"badaccess-nogroup" => "אינכם מורשים לבצע את הפעולה שביקשתם.",
"versionrequired" => "נדרשת גרסה $1 של מדיה־ויקי",
"versionrequiredtext" => 'גרסה $1 של מדיה־ויקי נדרשת לשימוש בדף זה.