];
if ( isset( $button['label-message'] ) ) {
- $label = $this->msg( $button['label-message'] )->parse();
+ $label = $this->getMessage( $button['label-message'] )->parse();
} elseif ( isset( $button['label'] ) ) {
$label = htmlspecialchars( $button['label'] );
} elseif ( isset( $button['label-raw'] ) ) {
$errorstr = '';
foreach ( $errors as $error ) {
- if ( is_array( $error ) ) {
- $msg = array_shift( $error );
- } else {
- $msg = $error;
- $error = [];
- }
-
$errorstr .= Html::rawElement(
'li',
[],
- $this->msg( $msg, $error )->parse()
+ $this->getMessage( $error )->parse()
);
}
return $this;
}
+
+ /**
+ * Turns a *-message parameter (which could be a MessageSpecifier, or a message name, or a
+ * name + parameters array) into a Message.
+ * @param mixed $value
+ * @return Message
+ */
+ protected function getMessage( $value ) {
+ return Message::newFromSpecifier( $value )->setContext( $this );
+ }
}