Merge "Use correct progressive color on inputs"
[lhc/web/wiklou.git] / includes / api / ApiParamInfo.php
index 622e3a6..067b2f5 100644 (file)
@@ -198,6 +198,10 @@ class ApiParamInfo extends ApiBase {
                                $a['required'] = '';
                        }
 
+                       if ( $n === 'token' && $obj->needsToken() ) {
+                               $a['tokentype'] = $obj->needsToken();
+                       }
+
                        if ( isset( $p[ApiBase::PARAM_DFLT] ) ) {
                                $type = $p[ApiBase::PARAM_TYPE];
                                if ( $type === 'boolean' ) {
@@ -224,7 +228,13 @@ class ApiParamInfo extends ApiBase {
                        }
 
                        if ( isset( $p[ApiBase::PARAM_TYPE] ) ) {
-                               $a['type'] = $p[ApiBase::PARAM_TYPE];
+                               if ( $p[ApiBase::PARAM_TYPE] === 'submodule' ) {
+                                       $a['type'] = $obj->getModuleManager()->getNames( $n );
+                                       sort( $a['type'] );
+                                       $a['submodules'] = '';
+                               } else {
+                                       $a['type'] = $p[ApiBase::PARAM_TYPE];
+                               }
                                if ( is_array( $a['type'] ) ) {
                                        // To prevent sparse arrays from being serialized to JSON as objects
                                        $a['type'] = array_values( $a['type'] );
@@ -244,66 +254,6 @@ class ApiParamInfo extends ApiBase {
                }
                $result->setIndexedTagName( $retval['parameters'], 'param' );
 
-               $props = $obj->getFinalResultProperties();
-               $listResult = null;
-               if ( $props !== false ) {
-                       $retval['props'] = array();
-
-                       foreach ( $props as $prop => $properties ) {
-                               $propResult = array();
-                               if ( $prop == ApiBase::PROP_LIST ) {
-                                       $listResult = $properties;
-                                       continue;
-                               }
-                               if ( $prop != ApiBase::PROP_ROOT ) {
-                                       $propResult['name'] = $prop;
-                               }
-                               $propResult['properties'] = array();
-
-                               foreach ( $properties as $name => $p ) {
-                                       $propertyResult = array();
-
-                                       $propertyResult['name'] = $name;
-
-                                       if ( !is_array( $p ) ) {
-                                               $p = array( ApiBase::PROP_TYPE => $p );
-                                       }
-
-                                       $propertyResult['type'] = $p[ApiBase::PROP_TYPE];
-
-                                       if ( is_array( $propertyResult['type'] ) ) {
-                                               $propertyResult['type'] = array_values( $propertyResult['type'] );
-                                               $result->setIndexedTagName( $propertyResult['type'], 't' );
-                                       }
-
-                                       $nullable = null;
-                                       if ( isset( $p[ApiBase::PROP_NULLABLE] ) ) {
-                                               $nullable = $p[ApiBase::PROP_NULLABLE];
-                                       }
-
-                                       if ( $nullable === true ) {
-                                               $propertyResult['nullable'] = '';
-                                       }
-
-                                       $propResult['properties'][] = $propertyResult;
-                               }
-
-                               $result->setIndexedTagName( $propResult['properties'], 'property' );
-                               $retval['props'][] = $propResult;
-                       }
-
-                       // default is true for query modules, false for other modules, overridden by ApiBase::PROP_LIST
-                       if ( $listResult === true || ( $listResult !== false && $obj instanceof ApiQueryBase ) ) {
-                               $retval['listresult'] = '';
-                       }
-
-                       $result->setIndexedTagName( $retval['props'], 'prop' );
-               }
-
-               // Errors
-               $retval['errors'] = $this->parseErrors( $obj->getFinalPossibleErrors() );
-               $result->setIndexedTagName( $retval['errors'], 'error' );
-
                return $retval;
        }