Legoktm has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/154981

Change subject: Add parser cache support to MassMessageListContent
......................................................................

Add parser cache support to MassMessageListContent

Change-Id: I8bbfaa12a6b927b57aa875d7f80d37aa4d3e9211
---
M includes/content/MassMessageListContent.php
M includes/content/MassMessageListContentHandler.php
2 files changed, 21 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MassMessage 
refs/changes/81/154981/1

diff --git a/includes/content/MassMessageListContent.php 
b/includes/content/MassMessageListContent.php
index c207ac3..2e53028 100644
--- a/includes/content/MassMessageListContent.php
+++ b/includes/content/MassMessageListContent.php
@@ -158,17 +158,18 @@
                // Parse the description text.
                $output = $wgParser->parse( $this->getDescription(), $title, 
$options, true, true, $revId );
                $wgParser->addTrackingCategory( 'massmessage-list-category' );
+               $lang = $options->getUserLangObj();
 
                // Generate output HTML, if needed.
                if ( $generateHtml ) {
                        if ( $this->hasInvalidTargets() ) {
                                $warning = Html::element( 'p', array( 'class' 
=> 'error' ),
-                                       wfMessage( 
'massmessage-content-invalidtargets' )->text() );
+                                       wfMessage( 
'massmessage-content-invalidtargets' )->inLanguage( $lang )->text() );
                        } else {
                                $warning = '';
                        }
-                       $output->setText( $warning . $output->getText() . 
self::getAddForm()
-                               . $this->getTargetsHtml() );
+                       $output->setText( $warning . $output->getText() . 
self::getAddForm( $lang )
+                               . $this->getTargetsHtml( $lang ) );
                } else {
                        $output->setText( '' );
                }
@@ -188,19 +189,20 @@
        /**
         * Helper function for fillParserOutput; return HTML for displaying the 
list of pages.
         * Note that the function assumes that the contents are valid.
+        * @param Language $lang
         * @return string
         */
-       protected function getTargetsHtml() {
+       protected function getTargetsHtml( Language $lang ) {
                global $wgScript;
 
-               $html = Html::element( 'h2', array(), wfMessage( 
'massmessage-content-pages' )->text() );
+               $html = Html::element( 'h2', array(), wfMessage( 
'massmessage-content-pages' )->inLanguage( $lang )->text() );
 
                $sites = $this->getTargetsBySite();
 
                // If the list is empty
                if ( count( $sites ) === 0 ) {
                        $html .= Html::element( 'p', array(),
-                               wfMessage( 'massmessage-content-empty' 
)->text() );
+                               wfMessage( 'massmessage-content-empty' 
)->inLanguage( $lang )->text() );
                        return $html;
                }
 
@@ -221,10 +223,10 @@
                        if ( $printSites ) {
                                if ( $site === 'local' ) {
                                        $html .= Html::element( 'p', array(),
-                                               wfMessage( 
'massmessage-content-localpages' )->text() );
+                                               wfMessage( 
'massmessage-content-localpages' )->inLanguage( $lang )->text() );
                                } else {
                                        $html .= Html::element( 'p', array(),
-                                               wfMessage( 
'massmessage-content-pagesonsite', $site )->text() );
+                                               wfMessage( 
'massmessage-content-pagesonsite', $site )->inLanguage( $lang )->text() );
                                }
                        }
 
@@ -249,7 +251,7 @@
                                                'data-site' => $site,
                                                'href' => '#',
                                        ),
-                                       wfMessage( 'massmessage-content-remove' 
)->text()
+                                       wfMessage( 'massmessage-content-remove' 
)->inLanguage( $lang )->text()
                                );
 
                                $html .= Html::openElement( 'li' );
@@ -286,19 +288,20 @@
        /**
         * Helper function for fillParserOutput; return HTML for page-adding 
form and
         * (initially empty and hidden) list of added pages.
+        * @param Language $lang
         * @return string
         */
-        protected static function getAddForm() {
+        protected static function getAddForm( Language $lang ) {
                global $wgAllowGlobalMessaging, $wgCanonicalServer;
 
                $html = Html::openElement( 'div', array( 'id' => 
'mw-massmessage-addpages' ) );
                $html .= Html::element( 'h2', array(),
-                       wfMessage( 'massmessage-content-addheading' )->text() );
+                       wfMessage( 'massmessage-content-addheading' 
)->inLanguage( $lang )->text() );
 
                // Form
                $html .= Html::openElement( 'form', array( 'id' => 
'mw-massmessage-addform' ) );
                $html .= Html::element( 'label', array( 'for' => 
'mw-massmessage-addtitle' ),
-                       wfMessage( 'massmessage-content-addtitle' )->text() );
+                       wfMessage( 'massmessage-content-addtitle' 
)->inLanguage( $lang )->text() );
                $html .= Html::input( 'title', '', 'text', array( 'id' => 
'mw-massmessage-addtitle' ) );
                if ( $wgAllowGlobalMessaging && count( 
MassMessage::getDatabases() ) > 1 ) {
                        $html .= Html::element( 'label', array( 'for' => 
'mw-massmessage-addsite' ),
@@ -308,14 +311,14 @@
                                'placeholder' => MassMessage::getBaseUrl( 
$wgCanonicalServer )
                        ) );
                }
-               $html .= Html::input( 'submit', wfMessage( 
'massmessage-content-addsubmit' )->escaped(),
+               $html .= Html::input( 'submit', wfMessage( 
'massmessage-content-addsubmit' )->inLanguage( $lang )->escaped(),
                        'submit', array( 'id' => 'mw-massmessage-addsubmit' ) );
                $html .= Html::closeElement( 'form' );
 
                // List of added pages
                $html .= Html::openElement( 'div', array( 'id' => 
'mw-massmessage-addedlist' ) );
                $html .= Html::element( 'p', array(),
-                       wfMessage( 'massmessage-content-addedlistheading' 
)->text() );
+                       wfMessage( 'massmessage-content-addedlistheading' 
)->inLanguage( $lang )->text() );
                $html .= Html::element( 'ul', array(), '' );
                $html .= Html::closeElement( 'div' );
 
diff --git a/includes/content/MassMessageListContentHandler.php 
b/includes/content/MassMessageListContentHandler.php
index 1293c42..3d91a6a 100644
--- a/includes/content/MassMessageListContentHandler.php
+++ b/includes/content/MassMessageListContentHandler.php
@@ -159,4 +159,8 @@
 
                return $result;
        }
+
+       public function isParserCacheSupported() {
+               return true;
+       }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/154981
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8bbfaa12a6b927b57aa875d7f80d37aa4d3e9211
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MassMessage
Gerrit-Branch: contenthandler
Gerrit-Owner: Legoktm <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to