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