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

Reply via email to