MediaWiki REL1_37
ApiMessage.php
Go to the documentation of this file.
1<?php
27class ApiMessage extends Message implements IApiMessage {
29
43 public static function create( $msg, $code = null, array $data = null ) {
44 if ( is_array( $msg ) ) {
45 // From StatusValue
46 if ( isset( $msg['message'] ) ) {
47 if ( isset( $msg['params'] ) ) {
48 $msg = array_merge( [ $msg['message'] ], $msg['params'] );
49 } else {
50 $msg = [ $msg['message'] ];
51 }
52 }
53
54 // Weirdness that comes in sometimes, including the above
55 if ( $msg[0] instanceof MessageSpecifier ) {
56 $msg = $msg[0];
57 }
58 }
59
60 if ( $msg instanceof IApiMessage ) {
61 return $msg;
62 } elseif ( $msg instanceof RawMessage ) {
63 return new ApiRawMessage( $msg, $code, $data );
64 } else {
65 return new ApiMessage( $msg, $code, $data );
66 }
67 }
68
77 public function __construct( $msg, $code = null, array $data = null ) {
78 if ( $msg instanceof Message ) {
79 foreach ( get_class_vars( get_class( $this ) ) as $key => $value ) {
80 if ( isset( $msg->$key ) ) {
81 $this->$key = $msg->$key;
82 }
83 }
84 } elseif ( is_array( $msg ) ) {
85 $key = array_shift( $msg );
86 parent::__construct( $key, $msg );
87 } else {
88 parent::__construct( $msg );
89 }
90 $this->setApiCode( $code, $data );
91 }
92}
setApiCode( $code, array $data=null)
Extension of Message implementing IApiMessage @newable.
static create( $msg, $code=null, array $data=null)
Create an IApiMessage for the message.
__construct( $msg, $code=null, array $data=null)
Extension of RawMessage implementing IApiMessage @newable.
The Message class deals with fetching and processing of interface message into a variety of formats.
Definition Message.php:138
string $key
The message key.
Definition Message.php:180
Variant of the Message class.
trait ApiMessageTrait
Trait to implement the IApiMessage interface for Message subclasses.
Interface for messages with machine-readable data for use by the API.