Add new user right: abusefilter-log-private

Now we can allow some users to view log entries of private abuse
filters, without assigning them the right to see how these filters
work. This feature is asked by the community.

Change-Id: Ic93856804da69d2e6cd8342e36584ae16b3a7974
This commit is contained in:
Liangent 2012-06-17 16:20:10 +08:00
parent b8ef2830bb
commit 310ed92824
3 changed files with 6 additions and 1 deletions

View file

@ -62,6 +62,7 @@ Rule description: $1',
'right-abusefilter-modify-restricted' => 'Modify abuse filters with restricted actions',
'right-abusefilter-revert' => 'Revert all changes by a given abuse filter',
'right-abusefilter-view-private' => 'View abuse filters marked as private',
'right-abusefilter-log-private' => 'View log entries of abuse filters marked as private',
'right-abusefilter-hide-log' => 'Hide entries in the abuse log',
'right-abusefilter-hidden-log' => 'View hidden abuse log entries',
@ -530,6 +531,7 @@ $messages['qqq'] = array(
'right-abusefilter-modify-restricted' => '{{doc-right|abusefilter-modify-restricted}}',
'right-abusefilter-revert' => '{{doc-right|abusefilter-revert}}',
'right-abusefilter-view-private' => '{{doc-right|abusefilter-view-private}}',
'right-abusefilter-log-private' => '{{doc-right|abusefilter-log-private}}',
'right-abusefilter-hide-log' => '{{doc-right|abusefilter-hide-log}}',
'right-abusefilter-hidden-log' => '{{doc-right|abusefilter-hidden-log}}',
'action-abusefilter-modify' => '{{doc-action|abusefilter-modify}}',

View file

@ -88,6 +88,7 @@ $wgAvailableRights[] = 'abusefilter-private';
$wgAvailableRights[] = 'abusefilter-modify-restricted';
$wgAvailableRights[] = 'abusefilter-revert';
$wgAvailableRights[] = 'abusefilter-view-private';
$wgAvailableRights[] = 'abusefilter-log-private';
$wgAvailableRights[] = 'abusefilter-hidden-log';
$wgAvailableRights[] = 'abusefilter-hide-log';

View file

@ -357,7 +357,9 @@ class SpecialAbuseLog extends SpecialPage {
$filter_hidden = AbuseFilter::filterHidden( $filter_id );
}
if ( $filter_hidden ) {
return $wgUser->isAllowed( 'abusefilter-log-detail' ) && AbuseFilterView::canViewPrivate();
return $wgUser->isAllowed( 'abusefilter-log-detail' ) && (
AbuseFilterView::canViewPrivate() || $wgUser->isAllowed( 'abusefilter-log-private' )
);
}
}