*/
use HtmlFormatter\HtmlFormatter;
+use MediaWiki\MediaWikiServices;
/**
* Class to output help for an API module
}
$out->setPageTitle( $context->msg( 'api-help-title' ) );
- $cache = ObjectCache::getMainWANInstance();
+ $cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
$cacheKey = null;
if ( count( $modules ) == 1 && $modules[0] instanceof ApiMain &&
$options['recursivesubmodules'] && $context->getLanguage() === $wgContLang
$cacheHelpTimeout = $context->getConfig()->get( 'APICacheHelpTimeout' );
if ( $cacheHelpTimeout > 0 ) {
// Get help text from cache if present
- $cacheKey = wfMemcKey( 'apihelp', $modules[0]->getModulePath(),
+ $cacheKey = $cache->makeKey( 'apihelp', $modules[0]->getModulePath(),
(int)!empty( $options['toc'] ),
str_replace( ' ', '_', SpecialVersion::getVersion( 'nodb' ) ) );
$cached = $cache->get( $cacheKey );
if ( is_array( $type ) ) {
$count = count( $type );
+ $deprecatedValues = isset( $settings[ApiBase::PARAM_DEPRECATED_VALUES] )
+ ? $settings[ApiBase::PARAM_DEPRECATED_VALUES]
+ : [];
$links = isset( $settings[ApiBase::PARAM_VALUE_LINKS] )
? $settings[ApiBase::PARAM_VALUE_LINKS]
: [];
- $values = array_map( function ( $v ) use ( $links ) {
- // We can't know whether this contains LTR or RTL text.
- $ret = $v === '' ? $v : Html::element( 'span', [ 'dir' => 'auto' ], $v );
+ $values = array_map( function ( $v ) use ( $links, $deprecatedValues ) {
+ $attr = [];
+ if ( $v !== '' ) {
+ // We can't know whether this contains LTR or RTL text.
+ $attr['dir'] = 'auto';
+ }
+ if ( isset( $deprecatedValues[$v] ) ) {
+ $attr['class'] = 'apihelp-deprecated-value';
+ }
+ $ret = $attr ? Html::element( 'span', $attr, $v ) : $v;
if ( isset( $links[$v] ) ) {
$ret = "[[{$links[$v]}|$ret]]";
}
public function getHelpUrls() {
return [
- 'https://www.mediawiki.org/wiki/API:Main_page',
- 'https://www.mediawiki.org/wiki/API:FAQ',
- 'https://www.mediawiki.org/wiki/API:Quick_start_guide',
+ 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page',
+ 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:FAQ',
+ 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Quick_start_guide',
];
}
}