API: Avoid warnings for parameters that don't exist in format=rawfm
authorBrad Jorsch <bjorsch@wikimedia.org>
Mon, 20 Apr 2015 14:12:39 +0000 (10:12 -0400)
committerBrad Jorsch <bjorsch@wikimedia.org>
Mon, 20 Apr 2015 14:16:03 +0000 (10:16 -0400)
As format=rawfm is intended for debugging, a recent change removed
definition of unnecessary parameters inherited from format=json. But the
inherited code was still assuming they were defined, causing PHP
warnings.

Bug: T96479
Change-Id: Id13ae541f13b6930c535d156dc5aac0a257d31e8

includes/api/ApiFormatJson.php

index 41d7051..3304c40 100644 (file)
@@ -40,7 +40,7 @@ class ApiFormatJson extends ApiFormatBase {
        public function getMimeType() {
                $params = $this->extractRequestParams();
                // callback:
-               if ( $params['callback'] ) {
+               if ( isset( $params['callback'] ) ) {
                        return 'text/javascript';
                }
 
@@ -106,9 +106,8 @@ class ApiFormatJson extends ApiFormatBase {
                        );
                }
 
-               $callback = $params['callback'];
-               if ( $callback !== null ) {
-                       $callback = preg_replace( "/[^][.\\'\\\"_A-Za-z0-9]/", '', $callback );
+               if ( isset( $params['callback'] ) ) {
+                       $callback = preg_replace( "/[^][.\\'\\\"_A-Za-z0-9]/", '', $params['callback'] );
                        # Prepend a comment to try to avoid attacks against content
                        # sniffers, such as bug 68187.
                        $this->printText( "/**/$callback($json)" );