MediaWiki  master
MessageContent.php
Go to the documentation of this file.
1 <?php
37 
41  protected $mMessage;
42 
47  public function __construct( $msg, $params = null ) {
48  # XXX: messages may be wikitext, html or plain text! and maybe even something else entirely.
49  parent::__construct( CONTENT_MODEL_WIKITEXT );
50 
51  if ( is_string( $msg ) ) {
52  $this->mMessage = wfMessage( $msg );
53  } else {
54  $this->mMessage = clone $msg;
55  }
56 
57  if ( $params ) {
58  $this->mMessage = $this->mMessage->params( $params );
59  }
60  }
61 
67  public function getHtml() {
68  return $this->mMessage->parse();
69  }
70 
76  public function getWikitext() {
77  return $this->mMessage->text();
78  }
79 
87  public function getNativeData() {
88  return $this->getMessage();
89  }
90 
98  public function getMessage() {
99  // NOTE: Message objects are mutable. Cloning here makes MessageContent immutable.
100  return clone $this->mMessage;
101  }
102 
108  public function getTextForSearchIndex() {
109  return $this->mMessage->plain();
110  }
111 
117  public function getWikitextForTransclusion() {
118  return $this->getWikitext();
119  }
120 
128  public function getTextForSummary( $maxlength = 250 ) {
129  return substr( $this->mMessage->plain(), 0, $maxlength );
130  }
131 
137  public function getSize() {
138  return strlen( $this->mMessage->plain() );
139  }
140 
146  public function copy() {
147  // MessageContent is immutable (because getNativeData() and getMessage()
148  // returns a clone of the Message object)
149  return $this;
150  }
151 
159  public function isCountable( $hasLinks = null ) {
160  return false;
161  }
162 
173  public function getParserOutput( Title $title, $revId = null,
174  ParserOptions $options = null, $generateHtml = true ) {
175  if ( $generateHtml ) {
176  $html = $this->getHtml();
177  } else {
178  $html = '';
179  }
180 
181  $po = new ParserOutput( $html );
182  // Message objects are in the user language.
183  $po->recordOption( 'userlang' );
184 
185  return $po;
186  }
187 
188 }
ParserOptions
Set options of the Parser.
Definition: ParserOptions.php:44
ParserOutput
Definition: ParserOutput.php:25
MessageContent\getTextForSearchIndex
getTextForSearchIndex()
Definition: MessageContent.php:108
MessageContent\$mMessage
Message $mMessage
Definition: MessageContent.php:41
MessageContent\getNativeData
getNativeData()
Returns the message object, with any parameters already substituted.
Definition: MessageContent.php:87
wfMessage
wfMessage( $key,... $params)
This is the function for getting translated interface messages.
Definition: GlobalFunctions.php:1219
CONTENT_MODEL_WIKITEXT
const CONTENT_MODEL_WIKITEXT
Definition: Defines.php:224
MessageContent\__construct
__construct( $msg, $params=null)
Definition: MessageContent.php:47
MessageContent\getParserOutput
getParserOutput(Title $title, $revId=null, ParserOptions $options=null, $generateHtml=true)
Definition: MessageContent.php:173
MessageContent\getSize
getSize()
Definition: MessageContent.php:137
MessageContent\getHtml
getHtml()
Fully parse the text from wikitext to HTML.
Definition: MessageContent.php:67
$title
$title
Definition: testCompression.php:38
MessageContent\getWikitextForTransclusion
getWikitextForTransclusion()
Definition: MessageContent.php:117
AbstractContent
Base implementation for content objects.
Definition: AbstractContent.php:39
MessageContent\getWikitext
getWikitext()
Returns the message text.
Definition: MessageContent.php:76
Title
Represents a title within MediaWiki.
Definition: Title.php:42
MessageContent
Wrapper allowing us to handle a system message as a Content object.
Definition: MessageContent.php:36
Message
The Message class deals with fetching and processing of interface message into a variety of formats.
Definition: Message.php:161
MessageContent\copy
copy()
Definition: MessageContent.php:146
MessageContent\getMessage
getMessage()
Returns the message object, with any parameters already substituted.
Definition: MessageContent.php:98
MessageContent\getTextForSummary
getTextForSummary( $maxlength=250)
Definition: MessageContent.php:128
MessageContent\isCountable
isCountable( $hasLinks=null)
Definition: MessageContent.php:159