mMessage = wfMessage( $msg ); } else { $this->mMessage = clone $msg; } if ( $params ) { $this->mMessage = $this->mMessage->params( $params ); } } /** * Fully parse the text from wikitext to HTML. * * @return string Parsed HTML. */ public function getHtml() { return $this->mMessage->parse(); } /** * Returns the message text. {{-transformation is done. * * @return string Unescaped message text. */ public function getWikitext() { return $this->mMessage->text(); } /** * Returns the message object, with any parameters already substituted. * * @return Message The message object. */ public function getNativeData() { // NOTE: Message objects are mutable. Cloning here makes MessageContent immutable. return clone $this->mMessage; } /** * @return string * * @see Content::getTextForSearchIndex */ public function getTextForSearchIndex() { return $this->mMessage->plain(); } /** * @return string * * @see Content::getWikitextForTransclusion */ public function getWikitextForTransclusion() { return $this->getWikitext(); } /** * @param int $maxlength Maximum length of the summary text, defaults to 250. * * @return string The summary text. * * @see Content::getTextForSummary */ public function getTextForSummary( $maxlength = 250 ) { return substr( $this->mMessage->plain(), 0, $maxlength ); } /** * @return int * * @see Content::getSize */ public function getSize() { return strlen( $this->mMessage->plain() ); } /** * @return Content A copy of this object * * @see Content::copy */ public function copy() { // MessageContent is immutable (because getNativeData() returns a clone of the Message object) return $this; } /** * @param bool|null $hasLinks * * @return bool Always false. * * @see Content::isCountable */ public function isCountable( $hasLinks = null ) { return false; } /** * @param Title $title Unused. * @param int $revId Unused. * @param ParserOptions $options Unused. * @param bool $generateHtml Whether to generate HTML (default: true). * * @return ParserOutput * * @see Content::getParserOutput */ public function getParserOutput( Title $title, $revId = null, ParserOptions $options = null, $generateHtml = true ) { if ( $generateHtml ) { $html = $this->getHtml(); } else { $html = ''; } $po = new ParserOutput( $html ); // Message objects are in the user language. $po->recordOption( 'userlang' ); return $po; } }