Manual:$wgForeignFileRepos

Details
Properties required for all repos:
 * class
 * The class name for the repository. May come from the core or an extension. The core repository classes are LocalRepo, ForeignDBRepo, FSRepo and ForeignAPIRepo.


 * name
 * A unique name for the repository.

For all core repos:
 * url
 * Base public URL


 * hashLevels
 * The number of directory levels for hash-based division of files


 * thumbScriptUrl
 * The URL for thumb.php (optional, not recommended)


 * transformVia404
 * Whether to skip media file transformation on parse and rely on a 404 handler instead.


 * initialCapital
 * Equivalent to $wgCapitalLinks, determines whether file names implicitly start with a capital letter. The current implementation may give incorrect description page links when the local $wgCapitalLinks and initialCapital are mismatched.


 * pathDisclosureProtection
 * May be 'paranoid' to remove all parameters from error messages, 'none' to leave the paths in unchanged, or 'simple' to replace paths with place holders. Default for LocalRepo is 'simple'.


 * descBaseUrl
 * URL of image description pages, e.g. http://en.wikipedia.org/wiki/Image:


 * scriptDirUrl
 * URL of the MediaWiki installation, equivalent to $wgScriptPath, e.g. http://en.wikipedia.org/w


 * articleUrl
 * Equivalent to $wgArticlePath, e.g. http://en.wikipedia.org/wiki/$1


 * fetchDescription
 * Fetch the text of the remote file description page. Equivalent to $wgFetchCommonsDescriptions.


 * descriptionCacheExpiry
 * If set to 0, no caching will be used. Set to 1 or more (seconds) to define how long the local cache of description pages will last. Must set fetchDescription to true to use.

ForeignAPIRepo class:
 * apibase
 * The base URL for the remote repository's API (eg: http://commons.wikimedia.org/w/api.php). Only used for ForeignAPIRepo.


 * apiThumbCacheExpiry
 * How long to cache thumbs locally for. Not setting this or setting to 0 disables local thumb caching

ForeignDBRepo class:
 * dbType, dbServer, dbUser, dbPassword, dbName, dbFlags
 * equivalent to the corresponding member of $wgDBservers


 * tablePrefix
 * Table prefix, the foreign wiki's $wgDBprefix


 * hasSharedCache
 * True if the wiki's shared cache is accessible via the local $wgMemc

Default Value (code in Setup.php) :

Using files from Wikimedia Commons : ForeignAPIRepo
You can set your wiki to use media from Wikimedia Commons (or from any other MediaWiki-powered site, see below) directly (if you have MediaWiki 1.13 or later and PHP >= 5.2.0). However, please beware any legal implications. Also see InstantCommons for some considerations about this.


 * The remote wiki must also use MediaWiki 1.13 or later; otherwise its  returns   and file requests fail silently (i.e. the requested files are just treated as non-existent).

The below code enabled media files from Wikimedia Commons on your site:

To pull images from another Wikimedia project, set apibase to something like  http://en.wikipedia.org/w/api.php .

To embed the image in your installation, simply use  .

You may need to configure the $wgMainCacheType as well. Default it is set to CACHE_NONE, meaning it will load the image from the remote host each page load still.

The PHP interpreter needs JSON support for this to work.

Using files from a database that you can access : ForeignDBRepo
The ForeignDBRepo class is very useful for creating wiki families. In a wiki family, each wiki will have its own database or table prefix. Using this class, you can make a family member aware of the tables of another family member.

Using files from a local folder : FSRepo
You can set your wiki to use media from a single folder. This is just a demonstration feature at present, and will probably be too slow for busy wikis or slow servers due to the lack of caching.

The below code enabled media files from it: