X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiParamInfo.php;h=b8a32ae4305782a394b19a84ce93dae9bb4fee8f;hb=78d1b8ebba6e992c59c7f7c02fd621bc6f12547c;hp=480575ca2654e7d443a17d759296fc201e759674;hpb=e7720b8f8e09287384ddee271641d1b1721318bb;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiParamInfo.php b/includes/api/ApiParamInfo.php index 480575ca26..b8a32ae430 100644 --- a/includes/api/ApiParamInfo.php +++ b/includes/api/ApiParamInfo.php @@ -1,9 +1,5 @@ .@gmail.com" * * This program is free software; you can redistribute it and/or modify @@ -309,16 +305,25 @@ class ApiParamInfo extends ApiBase { } $ret['parameters'] = []; + $ret['templatedparameters'] = []; $params = $module->getFinalParams( ApiBase::GET_VALUES_FOR_HELP ); $paramDesc = $module->getFinalParamDescription(); + $index = 0; foreach ( $params as $name => $settings ) { if ( !is_array( $settings ) ) { $settings = [ ApiBase::PARAM_DFLT => $settings ]; } $item = [ - 'name' => $name + 'index' => ++$index, + 'name' => $name, ]; + + if ( !empty( $settings[ApiBase::PARAM_TEMPLATE_VARS] ) ) { + $item['templatevars'] = $settings[ApiBase::PARAM_TEMPLATE_VARS]; + ApiResult::setIndexedTagName( $item['templatevars'], 'var' ); + } + if ( isset( $paramDesc[$name] ) ) { $this->formatHelpMessages( $item, 'description', $paramDesc[$name], true ); } @@ -371,11 +376,15 @@ class ApiParamInfo extends ApiBase { $item['multi'] = !empty( $settings[ApiBase::PARAM_ISMULTI] ); if ( $item['multi'] ) { - $item['limit'] = $this->getMain()->canApiHighLimits() ? - ApiBase::LIMIT_SML2 : - ApiBase::LIMIT_SML1; - $item['lowlimit'] = ApiBase::LIMIT_SML1; - $item['highlimit'] = ApiBase::LIMIT_SML2; + $item['lowlimit'] = !empty( $settings[ApiBase::PARAM_ISMULTI_LIMIT1] ) + ? $settings[ApiBase::PARAM_ISMULTI_LIMIT1] + : ApiBase::LIMIT_SML1; + $item['highlimit'] = !empty( $settings[ApiBase::PARAM_ISMULTI_LIMIT2] ) + ? $settings[ApiBase::PARAM_ISMULTI_LIMIT2] + : ApiBase::LIMIT_SML2; + $item['limit'] = $this->getMain()->canApiHighLimits() + ? $item['highlimit'] + : $item['lowlimit']; } if ( !empty( $settings[ApiBase::PARAM_ALLOW_DUPLICATES] ) ) { @@ -467,6 +476,12 @@ class ApiParamInfo extends ApiBase { if ( !empty( $settings[ApiBase::PARAM_RANGE_ENFORCE] ) ) { $item['enforcerange'] = true; } + if ( isset( $settings[self::PARAM_MAX_BYTES] ) ) { + $item['maxbytes'] = $settings[self::PARAM_MAX_BYTES]; + } + if ( isset( $settings[self::PARAM_MAX_CHARS] ) ) { + $item['maxchars'] = $settings[self::PARAM_MAX_CHARS]; + } if ( !empty( $settings[ApiBase::PARAM_DEPRECATED_VALUES] ) ) { $deprecatedValues = array_keys( $settings[ApiBase::PARAM_DEPRECATED_VALUES] ); if ( is_array( $item['type'] ) ) { @@ -501,9 +516,11 @@ class ApiParamInfo extends ApiBase { ApiResult::setIndexedTagName( $item['info'], 'i' ); } - $ret['parameters'][] = $item; + $key = empty( $settings[ApiBase::PARAM_TEMPLATE_VARS] ) ? 'parameters' : 'templatedparameters'; + $ret[$key][] = $item; } ApiResult::setIndexedTagName( $ret['parameters'], 'param' ); + ApiResult::setIndexedTagName( $ret['templatedparameters'], 'param' ); $dynamicParams = $module->dynamicParameterDocumentation(); if ( $dynamicParams !== null ) {