X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiParamInfo.php;h=4ce0e9f108dab88ba848b4d37400ce6648e47dce;hb=fb79f30319b9ad2a7eb0f5f4d1668143ec8f963e;hp=67983e7a3aa080340cd9551f1dfd2fa5d3d7b1e2;hpb=cf3deb6637cf4aab2678949e5ccec8084eec9907;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiParamInfo.php b/includes/api/ApiParamInfo.php index 67983e7a3a..4ce0e9f108 100644 --- a/includes/api/ApiParamInfo.php +++ b/includes/api/ApiParamInfo.php @@ -401,6 +401,25 @@ class ApiParamInfo extends ApiBase { if ( isset( $settings[ApiBase::PARAM_SUBMODULE_PARAM_PREFIX] ) ) { $item['submoduleparamprefix'] = $settings[ApiBase::PARAM_SUBMODULE_PARAM_PREFIX]; } + + $deprecatedSubmodules = []; + foreach ( $item['submodules'] as $v => $submodulePath ) { + try { + $submod = $this->getModuleFromPath( $submodulePath ); + if ( $submod && $submod->isDeprecated() ) { + $deprecatedSubmodules[] = $v; + } + } catch ( ApiUsageException $ex ) { + // Ignore + } + } + if ( $deprecatedSubmodules ) { + $item['type'] = array_merge( + array_diff( $item['type'], $deprecatedSubmodules ), + $deprecatedSubmodules + ); + $item['deprecatedvalues'] = $deprecatedSubmodules; + } } elseif ( $settings[ApiBase::PARAM_TYPE] === 'tags' ) { $item['type'] = ChangeTags::listExplicitlyDefinedTags(); } else { @@ -448,6 +467,16 @@ class ApiParamInfo extends ApiBase { if ( !empty( $settings[ApiBase::PARAM_RANGE_ENFORCE] ) ) { $item['enforcerange'] = true; } + if ( !empty( $settings[ApiBase::PARAM_DEPRECATED_VALUES] ) ) { + $deprecatedValues = array_keys( $settings[ApiBase::PARAM_DEPRECATED_VALUES] ); + if ( is_array( $item['type'] ) ) { + $deprecatedValues = array_intersect( $deprecatedValues, $item['type'] ); + } + if ( $deprecatedValues ) { + $item['deprecatedvalues'] = array_values( $deprecatedValues ); + ApiResult::setIndexedTagName( $item['deprecatedvalues'], 'v' ); + } + } if ( !empty( $settings[ApiBase::PARAM_HELP_MSG_INFO] ) ) { $item['info'] = []; @@ -543,6 +572,6 @@ class ApiParamInfo extends ApiBase { } public function getHelpUrls() { - return 'https://www.mediawiki.org/wiki/API:Parameter_information'; + return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Parameter_information'; } }