UltrasonicNXT has uploaded a new change for review.
https://gerrit.wikimedia.org/r/113948
Change subject: Parse messages on send, not receive
......................................................................
Parse messages on send, not receive
Saves server resources, as messages only have to be parsed once
Also strips MW's automatic <p>
Fixes JS mistake, but you wouldn't have noticed it
Change-Id: I6239f1c69b167e06877e3551473e0b275db4f31f
---
M GetNew.api.php
M MediaWikiChat.js
M MediaWikiChat.php
M MediaWikiChatClass.php
M Send.api.php
M SendPM.api.php
6 files changed, 19 insertions(+), 11 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MediaWikiChat
refs/changes/48/113948/1
diff --git a/GetNew.api.php b/GetNew.api.php
index f8dc8d5..76d55a9 100644
--- a/GetNew.api.php
+++ b/GetNew.api.php
@@ -85,12 +85,10 @@
$toid = $row->chat_to_id;
if ( $fromid == $wgUser->getId() ) {
- $convwith =
User::newFromId($toid)->getName();
+ $convwith = User::newFromId(
$toid )->getName();
} else {
- $convwith =
User::newFromId($fromid)->getName();
+ $convwith = User::newFromId(
$fromid )->getName();
}
-
- $message = MediaWikiChat::parseMessage(
$message );
$result->addValue( array( $mName,
'pms', $timestamp ), '*', $message );
$result->addValue( array( $mName,
'pms', $timestamp ), 'from', $fromid );
diff --git a/MediaWikiChat.js b/MediaWikiChat.js
index ea3b76e..c06e12e 100644
--- a/MediaWikiChat.js
+++ b/MediaWikiChat.js
@@ -276,7 +276,7 @@
if ( mention ) {
html += ' data-read="true"';
}
- html += '">';
+ html += '>';
html += message;
html += '</span>';
html += MediaWikiChat.htmlTimestamp( timestamp );
diff --git a/MediaWikiChat.php b/MediaWikiChat.php
index 5fa1fa2..7a064f7 100644
--- a/MediaWikiChat.php
+++ b/MediaWikiChat.php
@@ -17,7 +17,7 @@
$wgExtensionCredits['specialpage'][] = array(
'path' => __FILE__,
'name' => 'MediaWikiChat',
- 'version' => '2.6.0',
+ 'version' => '2.6.1',
'author' => 'Adam Carter/UltrasonicNXT',
'url' => 'https://www.mediawiki.org/wiki/Extension:MediaWikiChat',
'descriptionmsg' => 'chat-desc',
diff --git a/MediaWikiChatClass.php b/MediaWikiChatClass.php
index 5bcfbb3..b0e6a0a 100644
--- a/MediaWikiChatClass.php
+++ b/MediaWikiChatClass.php
@@ -222,6 +222,7 @@
$opts->setExternalLinkTarget( '_blank' );
$opts->setAllowSpecialInclusion( false );
$opts->setAllowExternalImages( false );
+ $opts->setRemoveComments( true );
$parser = new Parser();
$parseOut = $parser->parse(
@@ -232,7 +233,15 @@
$message = $parseOut->getText();
$message = str_replace( 'MWCHAT', '', $message );
- $message = ltrim( $message );
+
+ $message = trim( $message );
+
+ $message = str_replace( '<p>', '', $message ); //
remove MW's automatical p,
+ $message = str_replace( '</p>', '', $message ); // it's
pointless
+
+ $message = trim( $message );
+
+ $message = html_entity_decode( $message ); // otherwise
the HTML is printed as text
} else {
$message = htmlentities($message);
}
diff --git a/Send.api.php b/Send.api.php
index c8ffa8b..e9afcfd 100644
--- a/Send.api.php
+++ b/Send.api.php
@@ -6,10 +6,10 @@
global $wgUser, $wgChatFloodMessages, $wgChatFloodSeconds;
$result = $this->getResult();
- $message = $this->getMain()->getVal( 'message' );
+ $originalMessage = $this->getMain()->getVal( 'message' );
if ( $wgUser->isAllowed( 'chat' ) ) {
- $message = trim( $message );
+ $message = MediaWikiChat::parseMessage(
$originalMessage );
if ( $message != '' ) {
$dbw = wfGetDB( DB_MASTER );
@@ -43,9 +43,8 @@
$logEntry->setPerformer( $wgUser ); // User
object, the user who did this action
$page = SpecialPage::getTitleFor( 'Chat' );
$logEntry->setTarget( $page ); // The page that
this log entry affects
- //$logEntry->setComment( $reason ); // User
provided comment, optional
$logEntry->setParameters( array(
- '4::message' => $message,
+ '4::message' => $originalMessage, // we
want the logs to show the source message, not the parsed one
) );
$logEntry->insert();
diff --git a/SendPM.api.php b/SendPM.api.php
index 3cf0b02..c947c05 100644
--- a/SendPM.api.php
+++ b/SendPM.api.php
@@ -10,6 +10,8 @@
$toId = intval( $this->getMain()->getVal( 'id' ) );
if ( $wgUser->isAllowed( 'chat' ) ) {
+ $message = MediaWikiChat::parseMessage( $message );
+
if ( $message != '' ) {
$dbw = wfGetDB( DB_MASTER );
--
To view, visit https://gerrit.wikimedia.org/r/113948
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6239f1c69b167e06877e3551473e0b275db4f31f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MediaWikiChat
Gerrit-Branch: master
Gerrit-Owner: UltrasonicNXT <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits