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 }
getMessage()
Returns the message object, with any parameters already substituted.
getWikitext()
Returns the message text.
const CONTENT_MODEL_WIKITEXT
Definition: Defines.php:215
Wrapper allowing us to handle a system message as a Content object.
isCountable( $hasLinks=null)
getNativeData()
Returns the message object, with any parameters already substituted.
Base implementation for content objects.
getTextForSummary( $maxlength=250)
__construct( $msg, $params=null)
getParserOutput(Title $title, $revId=null, ParserOptions $options=null, $generateHtml=true)
wfMessage( $key,... $params)
This is the function for getting translated interface messages.
getHtml()
Fully parse the text from wikitext to HTML.