33 parent::__construct( $query, $moduleName,
'fri' );
37 $repoGroup = RepoGroup::singleton();
38 $repoGroup->initialiseRepos();
47 $props = array_flip( $params[
'prop'] );
52 $foreignTargets = $conf->get(
'ForeignUploadTargets' );
54 $repoGroup->forEachForeignRepo(
function ( $repo ) use ( &$repos, $props, $foreignTargets ) {
55 $repoProps = $repo->getInfo();
56 $repoProps[
'canUpload'] = in_array( $repoProps[
'name'], $foreignTargets );
58 $repos[] = array_intersect_key( $repoProps, $props );
61 $localInfo = $repoGroup->getLocalRepo()->getInfo();
62 $localInfo[
'canUpload'] = $conf->get(
'EnableUploads' );
63 $repos[] = array_intersect_key( $localInfo, $props );
66 ApiResult::setIndexedTagName( $repos,
'repo' );
67 ApiResult::setArrayTypeRecursive( $repos,
'assoc' );
68 ApiResult::setArrayType( $repos,
'array' );
69 $result->addValue( [
'query' ],
'repos', $repos );
93 $repoGroup->forEachForeignRepo(
function ( $repo ) use ( &$props ) {
94 $props = array_merge( $props, array_keys( $repo->getInfo() ) );
97 $propValues = array_values( array_unique( array_merge(
99 array_keys( $repoGroup->getLocalRepo()->getInfo() )
102 $propValues[] =
'canUpload';
111 $props = array_intersect( [
'apiurl',
'name',
'displayname' ], $this->
getProps() );
113 $examples[
'action=query&meta=filerepoinfo&friprop=' . implode(
'|', $props )] =
114 'apihelp-query+filerepoinfo-example-simple';
121 return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Filerepoinfo';
const PARAM_TYPE
(string|string[]) Either an array of allowed value strings, or a string type as described below.
const PARAM_DFLT
(null|boolean|integer|string) Default value of the parameter.
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,...
const PARAM_ISMULTI
(boolean) Accept multiple pipe-separated values for this parameter (e.g.
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.