Add a nice convenience link to the testing interface to the filter editing interface.

This commit is contained in:
Andrew Garrett 2009-01-30 19:19:03 +00:00
parent 904e6d5c0f
commit 769d0a6ea2
4 changed files with 11 additions and 4 deletions

View file

@ -183,7 +183,8 @@ Please ask a user with permission to add restricted actions to make the change f
'abusefilter-edit-check' => 'Check syntax',
'abusefilter-edit-badfilter' => 'The filter you specified does not exist',
'abusefilter-edit-revert' => 'Revert actions taken by this filter',
'abusefilter-edit-tools' => 'Tools',
'abusefilter-edit-tools' => 'Tools:',
'abusefilter-edit-test-link' => 'Test this filter against recent edits',
// Filter editing helpers
'abusefilter-edit-builder-select' => 'Select an option to add it at the cursor',

View file

@ -50,7 +50,7 @@ class SpecialAbuseFilter extends SpecialPage {
$view = 'AbuseFilterViewRevert';
}
if ( $subpage == 'test' ) {
if ( count($params) && $params[0] == 'test' ) {
$view = 'AbuseFilterViewTestBatch';
}

View file

@ -217,7 +217,7 @@ class AbuseFilterViewEdit extends AbuseFilterView {
$fields['abusefilter-edit-rules'] = AbuseFilter::buildEditBox($row->af_pattern);
$fields['abusefilter-edit-notes'] = Xml::textarea( 'wpFilterNotes', ( isset( $row->af_comments ) ? $row->af_comments."\n" : "\n" ) );
// Build checkboxen
$checkboxes = array( 'hidden', 'enabled', 'deleted' );
$flags = '';
@ -241,7 +241,8 @@ class AbuseFilterViewEdit extends AbuseFilterView {
if ( $filter != 'new' && $wgUser->isAllowed( 'abusefilter-revert' ) ) {
$tools = '';
$tools .= $sk->link( $this->getTitle( 'revert/'.$filter ), wfMsg( 'abusefilter-edit-revert' ) );
$tools .= Xml::tags( 'p', null, $sk->link( $this->getTitle( 'revert/'.$filter ), wfMsg( 'abusefilter-edit-revert' ) ) );
$tools .= Xml::tags( 'p', null, $sk->link( $this->getTitle( "test/$filter" ), wfMsgExt( 'abusefilter-edit-test-link', 'parseinline' ) ) );
$fields['abusefilter-edit-tools'] = $tools;
}

View file

@ -101,5 +101,10 @@ class AbuseFilterViewTestBatch extends AbuseFilterView {
$this->mTestUser = $wgRequest->getText( 'wpTestUser' );
$this->mTestPeriodEnd = $wgRequest->getText( 'wpTestPeriodEnd' );
$this->mTestPeriodStart = $wgRequest->getText( 'wpTestPeriodStart' );
if ( !$this->mFilter && count($this->mParams) > 1 && is_numeric( $filter = $this->mParams[1] ) ) {
$dbr = wfGetDB( DB_SLAVE );
$this->mFilter = $dbr->selectField( 'abuse_filter', 'af_pattern', array( 'af_id' => $filter ), __METHOD__ );
}
}
}