35 parent::__construct( $query, $moduleName,
'fri' );
39 $repoGroup = MediaWikiServices::getInstance()->getRepoGroup();
40 $repoGroup->initialiseRepos();
49 $props = array_flip( $params[
'prop'] );
54 $foreignTargets = $conf->get(
'ForeignUploadTargets' );
56 $repoGroup->forEachForeignRepo(
57 function (
FileRepo $repo ) use ( &$repos, $props, $foreignTargets ) {
59 $repoProps[
'canUpload'] = in_array( $repoProps[
'name'], $foreignTargets );
61 $repos[] = array_intersect_key( $repoProps, $props );
65 $localInfo = $repoGroup->getLocalRepo()->getInfo();
66 $localInfo[
'canUpload'] = $conf->get(
'EnableUploads' );
67 $repos[] = array_intersect_key( $localInfo, $props );
70 ApiResult::setIndexedTagName( $repos,
'repo' );
71 ApiResult::setArrayTypeRecursive( $repos,
'assoc' );
72 ApiResult::setArrayType( $repos,
'array' );
73 $result->addValue( [
'query' ],
'repos', $repos );
97 $repoGroup->forEachForeignRepo(
function (
FileRepo $repo ) use ( &$props ) {
98 $props = array_merge( $props, array_keys( $repo->
getInfo() ) );
101 $propValues = array_values( array_unique( array_merge(
103 array_keys( $repoGroup->getLocalRepo()->getInfo() )
106 $propValues[] =
'canUpload';
115 $props = array_intersect( [
'apiurl',
'name',
'displayname' ], $this->
getProps() );
117 $examples[
'action=query&meta=filerepoinfo&friprop=' . implode(
'|', $props )] =
118 'apihelp-query+filerepoinfo-example-simple';
125 return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Filerepoinfo';
const PARAM_HELP_MSG_PER_VALUE
((string|array|Message)[]) When PARAM_TYPE is an array, this is an array mapping those values to $msg...
getResult()
Get the result object.
extractRequestParams( $options=[])
Using getAllowedParams(), this function makes an array of the values provided by the user,...
This is a base class for all Query modules.
A query action to return meta information about the foreign file repos configured on the wiki.
execute()
Evaluates the parameters, performs the requested query, and sets up the result.
getAllowedParams()
Returns an array of allowed parameters (parameter name) => (default value) or (parameter name) => (ar...
getExamplesMessages()
Returns usage examples for this module.
getHelpUrls()
Return links to more detailed help pages about the module.
__construct(ApiQuery $query, $moduleName)
getCacheMode( $params)
Get the cache mode for the data generated by this module.
getInitialisedRepoGroup()
This is the main query class.
Base class for file repositories.
getInfo()
Return information about the repository.