SECURITY: Better controls for logout interface buttons
[lhc/web/wiklou.git] / includes / skins / BaseTemplate.php
index bee4aff..9436c3b 100644 (file)
@@ -32,12 +32,11 @@ abstract class BaseTemplate extends QuickTemplate {
         * Get a Message object with its context set
         *
         * @param string $name Message name
-        * @param mixed $params,... Message params
-        * @suppress PhanCommentParamWithoutRealParam HHVM bug T228695#5450847
+        * @param mixed ...$params Message params
         * @return Message
         */
-       public function getMsg( $name /* ... */ ) {
-               return $this->getSkin()->msg( ...func_get_args() );
+       public function getMsg( $name, ...$params ) {
+               return $this->getSkin()->msg( $name, ...$params );
        }
 
        function msg( $str ) {
@@ -48,7 +47,7 @@ abstract class BaseTemplate extends QuickTemplate {
         * @deprecated since 1.33 Use ->msg() or ->getMsg() instead.
         */
        function msgWiki( $str ) {
-               // TODO: Add wfDeprecated( __METHOD__, '1.33' ) after 1.33 got released
+               wfDeprecated( __METHOD__, '1.33' ); // Hard-deprecated in 1.34
                echo $this->getMsg( $str )->parseAsBlock();
        }
 
@@ -140,7 +139,15 @@ abstract class BaseTemplate extends QuickTemplate {
                        if ( isset( $plink['active'] ) ) {
                                $ptool['active'] = $plink['active'];
                        }
-                       foreach ( [ 'href', 'class', 'text', 'dir', 'data', 'exists' ] as $k ) {
+                       foreach ( [
+                               'href',
+                               'class',
+                               'text',
+                               'dir',
+                               'data',
+                               'exists',
+                               'data-mw'
+                       ] as $k ) {
                                if ( isset( $plink[$k] ) ) {
                                        $ptool['links'][0][$k] = $plink[$k];
                                }
@@ -516,7 +523,6 @@ abstract class BaseTemplate extends QuickTemplate {
                if ( isset( $item['itemtitle'] ) ) {
                        $attrs['title'] = $item['itemtitle'];
                }
-               // @phan-suppress-next-line PhanTypeInvalidDimOffset
                return Html::rawElement( $options['tag'] ?? 'li', $attrs, $html );
        }
 
@@ -757,6 +763,7 @@ abstract class BaseTemplate extends QuickTemplate {
         */
        public function getTrail() {
                return WrappedString::join( "\n", [
+                       // @phan-suppress-next-line PhanTypeMismatchArgument
                        MWDebug::getDebugHTML( $this->getSkin()->getContext() ),
                        $this->get( 'bottomscripts' ),
                        $this->get( 'reporttime' )