* ->plain();
* @endcode
*
- * @note You cannot parse the text except in the content or interface
- * @note languages
+ * @note You can parse the text only in the content or interface languages
*
* @section message_compare_old Comparison with old wfMsg* functions:
*
public function setContext( IContextSource $context ) {
$this->inLanguage( $context->getLanguage() );
$this->title( $context->getTitle() );
+ $this->interface = true;
return $this;
}
return $this;
}
+ /**
+ * Allows manipulating the interface message flag directly.
+ * Can be used to restore the flag after setting a language.
+ * @param $value bool
+ * @return Message: $this
+ * @since 1.20
+ */
+ public function setInterfaceMessageFlag( $value ) {
+ $this->interface = (bool) $value;
+ return $this;
+ }
+
/**
* Enable or disable database use.
* @param $value Boolean
protected function fetchMessage() {
if ( !isset( $this->message ) ) {
$cache = MessageCache::singleton();
- if ( is_array($this->key) ) {
+ if ( is_array( $this->key ) ) {
+ if ( !count( $this->key ) ) {
+ throw new MWException( "Given empty message key array." );
+ }
foreach ( $this->key as $key ) {
$message = $cache->get( $key, $this->useDatabase, $this->language );
if ( $message !== false && $message !== '' ) {