mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter.git
synced 2024-09-23 10:18:22 +00:00
Convert /revert to use OOUI
This one was left out, probably because it's not well documented. Together with the simple conversion, I also added a cap to time selectors (otherwise users may create huge breaking queries) and wrapped in a class=success P the success message, like we do when saving filters. Bug: T132284 Change-Id: I2ba0a54e27608949cd28b9ac0447d1f2157b0ea2
This commit is contained in:
parent
e18cd9b92d
commit
90436c9e59
|
@ -377,8 +377,9 @@
|
|||
"abusefilter-revert-periodstart": "Period start:",
|
||||
"abusefilter-revert-periodend": "Period end:",
|
||||
"abusefilter-revert-search": "Select actions",
|
||||
"abusefilter-revert-filter": "Filter:",
|
||||
"abusefilter-revert-filter": "Filter ID:",
|
||||
"abusefilter-revert-preview-intro": "Below are the actions taken by the abuse filter that will be reverted by this action.\nPlease check them carefully, and click \"{{int:abusefilter-revert-confirm}}\" to confirm your selection.",
|
||||
"abusefilter-revert-confirm-legend": "Confirm the revert",
|
||||
"abusefilter-revert-confirm": "Confirm",
|
||||
"abusefilter-revert-success": "You have reverted all actions taken by the abuse filter due to [[Special:AbuseFilter/$1|filter $2]].",
|
||||
"abusefilter-revert-reason": "Automatic revert of all actions taken by the abuse filter due to filter $1.\nReason given: $2",
|
||||
|
|
|
@ -411,6 +411,7 @@
|
|||
"abusefilter-revert-search": "Used as label on [[Special:AbuseFilter/revert]]",
|
||||
"abusefilter-revert-filter": "{{Identical|Filter}}",
|
||||
"abusefilter-revert-preview-intro": "Refers to {{msg-mw|Abusefilter-revert-confirm}}.",
|
||||
"abusefilter-revert-confirm-legend": "Form fieldset for [[Special:AbuseFilter/revert]] asking the user to confirm the revert. Refers to {{msg-mw|Abusefilter-revert-confirm}}.",
|
||||
"abusefilter-revert-confirm": "This is also used in {{msg-mw|Abusefilter-revert-preview-intro}}. When changing this message, please also remember to change that one.\n{{Identical|Confirm}}",
|
||||
"abusefilter-revert-success": "Parameters:\n* $1 - a filter ID\n* $2 - localized filter ID",
|
||||
"abusefilter-revert-reason": "Parameters:\n* $1 is a filter ID\n* $2 is a reason",
|
||||
|
|
|
@ -5,6 +5,7 @@ class AbuseFilterViewRevert extends AbuseFilterView {
|
|||
$mReason;
|
||||
|
||||
function show() {
|
||||
$lang = $this->getLanguage();
|
||||
$filter = $this->mPage->mFilter;
|
||||
|
||||
$user = $this->getUser();
|
||||
|
@ -23,29 +24,47 @@ class AbuseFilterViewRevert extends AbuseFilterView {
|
|||
$out->addWikiMsg( 'abusefilter-revert-intro', Message::numParam( $filter ) );
|
||||
$out->setPageTitle( $this->msg( 'abusefilter-revert-title' )->numParams( $filter ) );
|
||||
|
||||
// First, the search form.
|
||||
$searchFields = [];
|
||||
$searchFields['abusefilter-revert-filter'] =
|
||||
Xml::element( 'strong', null, $filter );
|
||||
$searchFields['abusefilter-revert-periodstart'] =
|
||||
Xml::input( 'wpPeriodStart', 45, $this->origPeriodStart );
|
||||
$searchFields['abusefilter-revert-periodend'] =
|
||||
Xml::input( 'wpPeriodEnd', 45, $this->origPeriodEnd );
|
||||
$searchForm = Xml::buildForm( $searchFields, 'abusefilter-revert-search' );
|
||||
$searchForm .= "\n" . Html::hidden( 'submit', 1 );
|
||||
$searchForm =
|
||||
Xml::tags(
|
||||
'form',
|
||||
[
|
||||
'action' => $this->getTitle( "revert/$filter" )->getLocalURL(),
|
||||
'method' => 'post'
|
||||
],
|
||||
$searchForm
|
||||
// First, the search form. Limit dates to avoid huge queries
|
||||
$RCMaxAge = $this->getConfig()->get( 'RCMaxAge' );
|
||||
$min = wfTimestamp( TS_ISO_8601, time() - $RCMaxAge );
|
||||
$max = wfTimestampNow();
|
||||
$filterLink =
|
||||
$this->linkRenderer->makeLink(
|
||||
SpecialPage::getTitleFor( 'AbuseFilter', intval( $filter ) ),
|
||||
$lang->formatNum( intval( $filter ) )
|
||||
);
|
||||
$searchForm =
|
||||
Xml::fieldset( $this->msg( 'abusefilter-revert-search-legend' )->text(), $searchForm );
|
||||
$searchFields = [];
|
||||
$searchFields['filterid'] = [
|
||||
'type' => 'info',
|
||||
'default' => $filterLink,
|
||||
'raw' => true,
|
||||
'label-message' => 'abusefilter-revert-filter'
|
||||
];
|
||||
$searchFields['periodstart'] = [
|
||||
'type' => 'datetime',
|
||||
'name' => 'wpPeriodStart',
|
||||
'default' => $this->origPeriodStart,
|
||||
'label-message' => 'abusefilter-revert-periodstart',
|
||||
'min' => $min,
|
||||
'max' => $max
|
||||
];
|
||||
$searchFields['periodend'] = [
|
||||
'type' => 'datetime',
|
||||
'name' => 'wpPeriodEnd',
|
||||
'default' => $this->origPeriodEnd,
|
||||
'label-message' => 'abusefilter-revert-periodend',
|
||||
'min' => $min,
|
||||
'max' => $max
|
||||
];
|
||||
|
||||
$out->addHTML( $searchForm );
|
||||
HTMLForm::factory( 'ooui', $searchFields, $this->getContext() )
|
||||
->addHiddenField( 'submit', 1 )
|
||||
->setAction( $this->getTitle( "revert/$filter" )->getLocalURL() )
|
||||
->setWrapperLegendMsg( 'abusefilter-revert-search-legend' )
|
||||
->setSubmitTextMsg( 'abusefilter-revert-search' )
|
||||
->setMethod( 'post' )
|
||||
->prepareForm()
|
||||
->displayForm( false );
|
||||
|
||||
if ( $this->mSubmit ) {
|
||||
// Add a summary of everything that will be reversed.
|
||||
|
@ -53,7 +72,6 @@ class AbuseFilterViewRevert extends AbuseFilterView {
|
|||
|
||||
// Look up all of them.
|
||||
$results = $this->doLookup();
|
||||
$lang = $this->getLanguage();
|
||||
$list = [];
|
||||
|
||||
foreach ( $results as $result ) {
|
||||
|
@ -81,26 +99,41 @@ class AbuseFilterViewRevert extends AbuseFilterView {
|
|||
$out->addHTML( Xml::tags( 'ul', null, implode( "\n", $list ) ) );
|
||||
|
||||
// Add a button down the bottom.
|
||||
$confirmForm =
|
||||
Html::hidden( 'editToken', $user->getEditToken( "abusefilter-revert-$filter" ) ) .
|
||||
Html::hidden( 'title', $this->getTitle( "revert/$filter" )->getPrefixedDBkey() ) .
|
||||
Html::hidden( 'wpPeriodStart', $this->origPeriodStart ) .
|
||||
Html::hidden( 'wpPeriodEnd', $this->origPeriodEnd ) .
|
||||
Xml::inputLabel(
|
||||
$this->msg( 'abusefilter-revert-reasonfield' )->text(),
|
||||
'wpReason', 'wpReason', 45
|
||||
) .
|
||||
"\n" .
|
||||
Xml::submitButton( $this->msg( 'abusefilter-revert-confirm' )->text() );
|
||||
$confirmForm = Xml::tags(
|
||||
'form',
|
||||
[
|
||||
'action' => $this->getTitle( "revert/$filter" )->getLocalURL(),
|
||||
'method' => 'post'
|
||||
],
|
||||
$confirmForm
|
||||
);
|
||||
$out->addHTML( $confirmForm );
|
||||
$confirmForm = [];
|
||||
$confirmForm['edittoken'] = [
|
||||
'type' => 'hidden',
|
||||
'name' => 'editToken',
|
||||
'default' => $user->getEditToken( "abusefilter-revert-$filter" )
|
||||
];
|
||||
$confirmForm['title'] = [
|
||||
'type' => 'hidden',
|
||||
'name' => 'title',
|
||||
'default' => $this->getTitle( "revert/$filter" )->getPrefixedDBkey()
|
||||
];
|
||||
$confirmForm['wpPeriodStart'] = [
|
||||
'type' => 'hidden',
|
||||
'name' => 'wpPeriodStart',
|
||||
'default' => $this->origPeriodStart
|
||||
];
|
||||
$confirmForm['wpPeriodEnd'] = [
|
||||
'type' => 'hidden',
|
||||
'name' => 'wpPeriodEnd',
|
||||
'default' => $this->origPeriodEnd
|
||||
];
|
||||
$confirmForm['reason'] = [
|
||||
'type' => 'text',
|
||||
'label-message' => 'abusefilter-revert-reasonfield',
|
||||
'name' => 'wpReason',
|
||||
'id' => 'wpReason',
|
||||
];
|
||||
HTMLForm::factory( 'ooui', $confirmForm, $this->getContext() )
|
||||
->setAction( $this->getTitle( "revert/$filter" )->getLocalURL() )
|
||||
->setWrapperLegendMsg( 'abusefilter-revert-confirm-legend' )
|
||||
->setSubmitTextMsg( 'abusefilter-revert-confirm' )
|
||||
->setMethod( 'post' )
|
||||
->prepareForm()
|
||||
->displayForm( false );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -175,10 +208,13 @@ class AbuseFilterViewRevert extends AbuseFilterView {
|
|||
$this->revertAction( $action, $result );
|
||||
}
|
||||
}
|
||||
$this->getOutput()->addWikiMsg(
|
||||
'abusefilter-revert-success',
|
||||
$filter,
|
||||
$this->getLanguage()->formatNum( $filter )
|
||||
$this->getOutput()->wrapWikiMsg(
|
||||
'<p class="success">$1</p>',
|
||||
[
|
||||
'abusefilter-revert-success',
|
||||
$filter,
|
||||
$this->getLanguage()->formatNum( $filter )
|
||||
]
|
||||
);
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Reference in a new issue