From: Rotem Liss Date: Tue, 8 Aug 2006 16:33:10 +0000 (+0000) Subject: (bug 769) OutputPage::permissionRequired() should suggest groups with the needed... X-Git-Tag: 1.31.0-rc.0~56040 X-Git-Url: http://git.cyclocoop.org/%22.%24image2.%22?a=commitdiff_plain;h=d0be50c4bc3a1c41bd2f033ec512471beb8677c3;p=lhc%2Fweb%2Fwiklou.git (bug 769) OutputPage::permissionRequired() should suggest groups with the needed permission --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 52b3918bcd..047ae3b4a3 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -120,6 +120,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN 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 == diff --git a/includes/OutputPage.php b/includes/OutputPage.php index 77f0ca0d83..ccf1fd2c03 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -718,7 +718,7 @@ class OutputPage { * @param string $permission key required */ function permissionRequired( $permission ) { - global $wgUser; + global $wgGroupPermissions, $wgUser; $this->setPageTitle( wfMsg( 'badaccess' ) ); $this->setHTMLTitle( wfMsg( 'errorpagetitle' ) ); @@ -726,10 +726,28 @@ class OutputPage { $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 ); } /** diff --git a/languages/MessagesEn.php b/languages/MessagesEn.php index d074e9412e..a83f701f99 100644 --- a/languages/MessagesEn.php +++ b/languages/MessagesEn.php @@ -510,10 +510,9 @@ parent class in order maintain consistency across languages. '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]]', diff --git a/languages/MessagesHe.php b/languages/MessagesHe.php index ffbee9ad31..ada799e590 100644 --- a/languages/MessagesHe.php +++ b/languages/MessagesHe.php @@ -354,10 +354,9 @@ $messages = array( "jumptonavigation" => "ניווט", "jumptosearch" => "חיפוש", -"badaccess" => "תקלה בהרשאות", -"badaccesstext" => 'הפעולה שביקשתם לבצע מוגבלת למשתמשים עם הרשאת "$2". - -למידע נוסף, ראו $1.', +"badaccess" => "שגיאה בהרשאות", +"badaccess-group" => 'הפעולה שביקשתם לבצע מוגבלת למשתמשים בקבוצה "$1".', +"badaccess-nogroup" => "אינכם מורשים לבצע את הפעולה שביקשתם.", "versionrequired" => "נדרשת גרסה $1 של מדיה־ויקי", "versionrequiredtext" => 'גרסה $1 של מדיה־ויקי נדרשת לשימוש בדף זה.