}
if ( is_array( $params['querymodules'] ) ) {
- $this->logFeatureUsage( 'action=paraminfo&querymodules' );
$queryModules = $params['querymodules'];
foreach ( $queryModules as $m ) {
$modules[] = 'query+' . $m;
}
if ( is_array( $params['formatmodules'] ) ) {
- $this->logFeatureUsage( 'action=paraminfo&formatmodules' );
$formatModules = $params['formatmodules'];
foreach ( $formatModules as $m ) {
$modules[] = $m;
}
if ( $params['mainmodule'] ) {
- $this->logFeatureUsage( 'action=paraminfo&mainmodule' );
$res['mainmodule'] = $this->getModuleInfo( $this->getMain() );
}
if ( $params['pagesetmodule'] ) {
- $this->logFeatureUsage( 'action=paraminfo&pagesetmodule' );
$pageSet = new ApiPageSet( $this->getMain()->getModuleManager()->getModule( 'query' ) );
$res['pagesetmodule'] = $this->getModuleInfo( $pageSet );
unset( $res['pagesetmodule']['name'] );
* @return ApiResult
*/
private function getModuleInfo( $module ) {
- $result = $this->getResult();
$ret = array();
$path = $module->getModulePath();
$ret['sourcename'] = $ret['source'];
}
- $link = SpecialPage::getTitleFor( 'Version', 'License/' . $sourceInfo['name'] )->getFullUrl();
+ $link = SpecialPage::getTitleFor( 'Version', 'License/' . $sourceInfo['name'] )->getFullURL();
if ( isset( $sourceInfo['license-name'] ) ) {
$ret['licensetag'] = $sourceInfo['license-name'];
$ret['licenselink'] = (string)$link;
}
ApiResult::setIndexedTagName( $ret['parameters'], 'param' );
+ $dynamicParams = $module->dynamicParameterDocumentation();
+ if ( $dynamicParams !== null ) {
+ if ( $this->helpFormat === 'none' ) {
+ $ret['dynamicparameters'] = true;
+ } else {
+ $dynamicParams = ApiBase::makeMessage( $dynamicParams, $this->context, array(
+ $module->getModulePrefix(),
+ $module->getModuleName(),
+ $module->getModulePath()
+ ) );
+ $this->formatHelpMessages( $ret, 'dynamicparameters', array( $dynamicParams ) );
+ }
+ }
+
return $ret;
}