Merge "Add configuration for running etsy/phan against core"
[lhc/web/wiklou.git] / includes / api / ApiQueryImageInfo.php
index ab94574..0bbfad3 100644 (file)
@@ -162,7 +162,7 @@ class ApiQueryImageInfo extends ApiQueryBase {
                                        $gotOne = true;
 
                                        $fit = $this->addPageSubItem( $pageId,
-                                               self::getInfo( $img, $prop, $result,
+                                               static::getInfo( $img, $prop, $result,
                                                        $finalThumbParams, $opts
                                                )
                                        );
@@ -197,7 +197,7 @@ class ApiQueryImageInfo extends ApiQueryBase {
                                        }
                                        $fit = self::getTransformCount() < self::TRANSFORM_LIMIT &&
                                                $this->addPageSubItem( $pageId,
-                                                       self::getInfo( $oldie, $prop, $result,
+                                                       static::getInfo( $oldie, $prop, $result,
                                                                $finalThumbParams, $opts
                                                        )
                                                );
@@ -280,8 +280,7 @@ class ApiQueryImageInfo extends ApiQueryBase {
 
                $h = $image->getHandler();
                if ( !$h ) {
-                       $this->setWarning( 'Could not create thumbnail because ' .
-                               $image->getName() . ' does not have an associated image handler' );
+                       $this->addWarning( [ 'apiwarn-nothumb-noimagehandler', wfEscapeWikiText( $image->getName() ) ] );
 
                        return $thumbParams;
                }
@@ -292,23 +291,24 @@ class ApiQueryImageInfo extends ApiQueryBase {
                        // we could still render the image using width and height parameters,
                        // and this type of thing could happen between different versions of
                        // handlers.
-                       $this->setWarning( "Could not parse {$p}urlparam for " . $image->getName()
-                               . '. Using only width and height' );
+                       $this->addWarning( [ 'apiwarn-badurlparam', $p, wfEscapeWikiText( $image->getName() ) ] );
                        $this->checkParameterNormalise( $image, $thumbParams );
                        return $thumbParams;
                }
 
                if ( isset( $paramList['width'] ) && isset( $thumbParams['width'] ) ) {
                        if ( intval( $paramList['width'] ) != intval( $thumbParams['width'] ) ) {
-                               $this->setWarning( "Ignoring width value set in {$p}urlparam ({$paramList['width']}) "
-                                       . "in favor of width value derived from {$p}urlwidth/{$p}urlheight "
-                                       . "({$thumbParams['width']})" );
+                               $this->addWarning(
+                                       [ 'apiwarn-urlparamwidth', $p, $paramList['width'], $thumbParams['width'] ]
+                               );
                        }
                }
 
                foreach ( $paramList as $name => $value ) {
                        if ( !$h->validateParam( $name, $value ) ) {
-                               $this->dieUsage( "Invalid value for {$p}urlparam ($name=$value)", 'urlparam' );
+                               $this->dieWithError(
+                                       [ 'apierror-invalidurlparam', $p, wfEscapeWikiText( $name ), wfEscapeWikiText( $value ) ]
+                               );
                        }
                }
 
@@ -325,8 +325,8 @@ class ApiQueryImageInfo extends ApiQueryBase {
         * allows us to catch certain error conditions early (such as missing
         * required parameter).
         *
-        * @param $image File
-        * @param $finalParams array List of parameters to transform image with
+        * @param File $image
+        * @param array $finalParams List of parameters to transform image with
         */
        protected function checkParameterNormalise( $image, $finalParams ) {
                $h = $image->getHandler();
@@ -337,8 +337,7 @@ class ApiQueryImageInfo extends ApiQueryBase {
                // in the actual normalised version, only if we can actually normalise them,
                // so we use the functions scope to throw away the normalisations.
                if ( !$h->normaliseParams( $image, $finalParams ) ) {
-                       $this->dieUsage( 'Could not normalise image parameters for ' .
-                               $image->getName(), 'urlparamnormal' );
+                       $this->dieWithError( [ 'apierror-urlparamnormal', wfEscapeWikiText( $image->getName() ) ] );
                }
        }
 
@@ -533,11 +532,11 @@ class ApiQueryImageInfo extends ApiQueryBase {
                        if ( $metadata && $version !== 'latest' ) {
                                $metadata = $file->convertMetadataVersion( $metadata, $version );
                        }
-                       $vals['metadata'] = $metadata ? self::processMetaData( $metadata, $result ) : null;
+                       $vals['metadata'] = $metadata ? static::processMetaData( $metadata, $result ) : null;
                }
                if ( $commonmeta ) {
                        $metaArray = $file->getCommonMetaArray();
-                       $vals['commonmetadata'] = $metaArray ? self::processMetaData( $metaArray, $result ) : [];
+                       $vals['commonmetadata'] = $metaArray ? static::processMetaData( $metaArray, $result ) : [];
                }
 
                if ( $extmetadata ) {
@@ -601,7 +600,7 @@ class ApiQueryImageInfo extends ApiQueryBase {
                                        ApiResult::META_BC_BOOLS => [ 'value' ],
                                ];
                                if ( is_array( $value ) ) {
-                                       $r['value'] = self::processMetaData( $value, $result );
+                                       $r['value'] = static::processMetaData( $value, $result );
                                } else {
                                        $r['value'] = $value;
                                }
@@ -641,8 +640,8 @@ class ApiQueryImageInfo extends ApiQueryBase {
                        'prop' => [
                                ApiBase::PARAM_ISMULTI => true,
                                ApiBase::PARAM_DFLT => 'timestamp|user',
-                               ApiBase::PARAM_TYPE => self::getPropertyNames(),
-                               ApiBase::PARAM_HELP_MSG_PER_VALUE => self::getPropertyMessages(),
+                               ApiBase::PARAM_TYPE => static::getPropertyNames(),
+                               ApiBase::PARAM_HELP_MSG_PER_VALUE => static::getPropertyMessages(),
                        ],
                        'limit' => [
                                ApiBase::PARAM_TYPE => 'limit',
@@ -703,7 +702,7 @@ class ApiQueryImageInfo extends ApiQueryBase {
         * @return array
         */
        public static function getPropertyNames( $filter = [] ) {
-               return array_keys( self::getPropertyMessages( $filter ) );
+               return array_keys( static::getPropertyMessages( $filter ) );
        }
 
        /**
@@ -787,7 +786,7 @@ class ApiQueryImageInfo extends ApiQueryBase {
        public static function getPropertyDescriptions( $filter = [], $modulePrefix = '' ) {
                return array_merge(
                        [ 'What image information to get:' ],
-                       array_values( array_diff_key( self::getProperties( $modulePrefix ), array_flip( $filter ) ) )
+                       array_values( array_diff_key( static::getProperties( $modulePrefix ), array_flip( $filter ) ) )
                );
        }