API: Ignore META_BC_SUBELEMENTS elements that aren't actually set
authorBrad Jorsch <bjorsch@wikimedia.org>
Tue, 5 May 2015 20:16:05 +0000 (16:16 -0400)
committerBrad Jorsch <bjorsch@wikimedia.org>
Tue, 5 May 2015 20:19:16 +0000 (16:19 -0400)
Shouldn't happen, but if it does let's not log a bunch of warnings.

Bug: T98185
Change-Id: I7e626ab2c829633a84f3db0358080011baf5d9f2

includes/api/ApiResult.php

index 044b6e0..7c573a8 100644 (file)
@@ -832,11 +832,13 @@ class ApiResult implements ApiSerializable {
                                isset( $metadata[self::META_BC_SUBELEMENTS] )
                        ) {
                                foreach ( $metadata[self::META_BC_SUBELEMENTS] as $k ) {
-                                       $data[$k] = array(
-                                               '*' => $data[$k],
-                                               self::META_CONTENT => '*',
-                                               self::META_TYPE => 'assoc',
-                                       );
+                                       if ( isset( $data[$k] ) ) {
+                                               $data[$k] = array(
+                                                       '*' => $data[$k],
+                                                       self::META_CONTENT => '*',
+                                                       self::META_TYPE => 'assoc',
+                                               );
+                                       }
                                }
                        }