Index: trunk/phase3/includes/OutputPage.php
===================================================================
--- trunk/phase3/includes/OutputPage.php (revision 46630)
+++ trunk/phase3/includes/OutputPage.php (revision 46631)
@@ -645,6 +645,18 @@
return $parserOutput->getText();
}
+ /** Parse wikitext, strip paragraphs, and return the HTML. */
+ public function parseInline( $text, $linestart = true, $interface = false ) {
+ $parsed = $this->parse( $text, $linestart, $interface );
+
+ $m = array();
+ if ( preg_match( '/^<p>(.*)\n?<\/p>\n?/sU', $parsed, $m ) ) {
+ $parsed = $m[1];
+ }
+
+ return $parsed;
+ }
+
/**
* @param Article $article
* @param User $user
Index: trunk/extensions/AbuseFilter/SpecialAbuseLog.php
===================================================================
--- trunk/extensions/AbuseFilter/SpecialAbuseLog.php (revision 46630)
+++ trunk/extensions/AbuseFilter/SpecialAbuseLog.php (revision 46631)
@@ -180,13 +180,16 @@
}
$actions_taken = implode( ', ', $displayActions );
}
+
+ global $wgOut;
+ $parsed_comments = $wgOut->parseInline( $row->af_public_comments );
if ($this->canSeeDetails()) {
$detailsLink = $sk->makeKnownLinkObj( $this->getTitle( ), wfMsg( 'abusefilter-log-detailslink' ), 'details='.$row->afl_id );
- $description = wfMsgExt( 'abusefilter-log-detailedentry', array( 'parseinline', 'replaceafter' ), array( $timestamp, $user, $row->afl_filter, $row->afl_action, $sk->makeKnownLinkObj( $title ), $actions_taken, $row->af_public_comments, $detailsLink ) );
+ $description = wfMsgExt( 'abusefilter-log-detailedentry', array( 'parseinline', 'replaceafter' ), array( $timestamp, $user, $row->afl_filter, $row->afl_action, $sk->makeKnownLinkObj( $title ), $actions_taken, $parsed_comments, $detailsLink ) );
} else {
- $description = wfMsgExt( 'abusefilter-log-entry', array( 'parseinline', 'replaceafter' ), array( $timestamp, $user, $row->afl_action, $sk->makeKnownLinkObj( $title ), $actions_taken, $row->af_public_comments ) );
+ $description = wfMsgExt( 'abusefilter-log-entry', array( 'parseinline', 'replaceafter' ), array( $timestamp, $user, $row->afl_action, $sk->makeKnownLinkObj( $title ), $actions_taken, $parsed_comments ) );
}
return $li ? Xml::tags( 'li', null, $description ) : $description;
Index: trunk/extensions/AbuseFilter/Views/AbuseFilterViewList.php
===================================================================
--- trunk/extensions/AbuseFilter/Views/AbuseFilterViewList.php (revision 46630)
+++ trunk/extensions/AbuseFilter/Views/AbuseFilterViewList.php (revision 46631)
@@ -168,7 +168,7 @@
case 'af_id':
return $sk->link( SpecialPage::getTitleFor( 'AbuseFilter', intval($value) ), intval($value) );
case 'af_public_comments':
- return $sk->link( SpecialPage::getTitleFor( 'AbuseFilter', intval($row->af_id) ), $wgOut->parse( $value ) );
+ return $sk->link( SpecialPage::getTitleFor( 'AbuseFilter', intval($row->af_id) ), $wgOut->parseInline( $value ) );
case 'af_actions':
$actions = explode(',', $value);
$displayActions = array();
Index: trunk/extensions/AbuseFilter/AbuseFilter.class.php
===================================================================
--- trunk/extensions/AbuseFilter/AbuseFilter.class.php (revision 46630)
+++ trunk/extensions/AbuseFilter/AbuseFilter.class.php (revision 46631)
@@ -253,6 +253,8 @@
foreach( $actionsByFilter as $filter => $actions ) {
// Special-case handling for warnings.
+ global $wgOut;
+ $parsed_public_comments = $wgOut->parseInline( self::$filters[$filter]->af_public_comments );
if ( !empty( $actions['throttle'] ) ) {
$parameters = $actions['throttle']['parameters'];
@@ -281,7 +283,7 @@
// Threaten them a little bit
$msg = ( !empty($parameters[0]) && strlen($parameters[0]) ) ? $parameters[0] : 'abusefilter-warning';
- $messages[] = wfMsgNoTrans( $msg, self::$filters[$filter]->af_public_comments ) . "<br />\n";
+ $messages[] = wfMsgExt( $msg, 'parseinline', array( $parsed_public_comments) ) . "<br />\n";
$actionsTaken[$filter][] = 'warn';
@@ -300,7 +302,7 @@
// Do the rest of the actions
foreach( $actions as $action => $info ) {
- $newMsg = self::takeConsequenceAction( $action, $info['parameters'], $title, $vars, self::$filters[$filter]->af_public_comments );
+ $newMsg = self::takeConsequenceAction( $action, $info['parameters'], $title, $vars, self::$filters[$filter]->af_public_comments);
if ($newMsg)
$messages[] = $newMsg;
@@ -365,10 +367,10 @@
switch ($action) {
case 'disallow':
if (strlen($parameters[0])) {
- $display .= wfMsgNoTrans( $parameters[0], $rule_desc ) . "\n";
+ $display .= wfMsgExt( $parameters[0], 'parseinline', array($rule_desc) ) . "\n";
} else {
// Generic message.
- $display .= wfMsgNoTrans( 'abusefilter-disallowed', $rule_desc ) ."<br />\n";
+ $display .= wfMsgExt( 'abusefilter-disallowed', 'parseinline', array($rule_desc) ) ."<br />\n";
}
break;
@@ -400,7 +402,7 @@
$log->addEntry( 'block', Title::makeTitle( NS_USER, $wgUser->getName() ),
wfMsgForContent( 'abusefilter-blockreason', $rule_desc ), $logParams, self::getFilterUser() );
- $display .= wfMsgNoTrans( 'abusefilter-blocked-display', $rule_desc ) ."<br />\n";
+ $display .= wfMsgExt( 'abusefilter-blocked-display', 'parseinline', array($rule_desc) ) ."<br />\n";
break;
case 'rangeblock':
global $wgUser;
@@ -436,7 +438,7 @@
$log->addEntry( 'block', Title::makeTitle( NS_USER, $range ),
wfMsgForContent( 'abusefilter-blockreason', $rule_desc ), $logParams, self::getFilterUser() );
- $display .= wfMsgNoTrans( 'abusefilter-blocked-display', $rule_desc ) ."<br />\n";
+ $display .= wfMsgExt( 'abusefilter-blocked-display', 'parseinline', $rule_desc ) ."<br />\n";
break;
case 'degroup':
global $wgUser;
@@ -448,7 +450,7 @@
$wgUser->removeGroup( $group );
}
- $display .= wfMsgNoTrans( 'abusefilter-degrouped', $rule_desc ) ."<br />\n";
+ $display .= wfMsgExt( 'abusefilter-degrouped', 'parseinline', array($rule_desc) ) ."<br />\n";
// Don't log it if there aren't any groups being removed!
if (!count($groups)) {
@@ -475,7 +477,7 @@
$blockPeriod = (int)mt_rand( 3*86400, 7*86400 ); // Block for 3-7 days.
$wgMemc->set( self::autoPromoteBlockKey( $wgUser ), true, $blockPeriod );
- $display .= wfMsgNoTrans( 'abusefilter-autopromote-blocked', $rule_desc ) ."<br />\n";
+ $display .= wfMsgExt( 'abusefilter-autopromote-blocked', 'parseinline', array($rule_desc) ) ."<br />\n";
}
break;
Index: trunk/extensions/AbuseFilter/AbuseFilter.hooks.php
===================================================================
--- trunk/extensions/AbuseFilter/AbuseFilter.hooks.php (revision 46630)
+++ trunk/extensions/AbuseFilter/AbuseFilter.hooks.php (revision 46631)
@@ -26,7 +26,10 @@
$filter_result = AbuseFilter::filterAction( $vars, $editor->mTitle, $oldLinks );
if( $filter_result !== true ){
- $error = $filter_result;
+ global $wgOut;
+ $wgOut->addHTML( $filter_result );
+ $editor->showEditForm();
+ return false;
}
return true;
}