MediaWiki REL1_28
FSRepo Class Reference

A repository for files accessible via the local filesystem. More...

Inheritance diagram for FSRepo:
Collaboration diagram for FSRepo:

Public Member Functions

 __construct (array $info)
 
- Public Member Functions inherited from FileRepo
 backendSupportsUnicodePaths ()
 
 canTransformVia404 ()
 Returns true if the repository can transform files via a 404 handler.
 
 checkRedirect (Title $title)
 Checks if there is a redirect named as $title.
 
 cleanDir ( $dir)
 Deletes a directory if empty.
 
 cleanupBatch (array $files, $flags=0)
 Deletes a batch of files.
 
 cleanupDeletedBatch (array $storageKeys)
 Delete files in the deleted directory if they are not referenced in the filearchive table.
 
 concatenate (array $srcPaths, $dstPath, $flags=0)
 Concatenate a list of temporary files into a target file location.
 
 delete ( $srcRel, $archiveRel)
 Move a file to the deletion archive.
 
 deleteBatch (array $sourceDestPairs)
 Move a group of files to the deletion archive.
 
 enumFiles ( $callback)
 Call a callback function for every public regular file in the repository.
 
 fileExists ( $file)
 Checks existence of a a file.
 
 fileExistsBatch (array $files)
 Checks existence of an array of files.
 
 findBySha1 ( $hash)
 Get an array or iterator of file objects for files that have a given SHA-1 content hash.
 
 findBySha1s (array $hashes)
 Get an array of arrays or iterators of file objects for files that have the given SHA-1 content hashes.
 
 findFile ( $title, $options=[])
 Find an instance of the named file created at the specified time Returns false if the file does not exist.
 
 findFileFromKey ( $sha1, $options=[])
 Find an instance of the file with this key, created at the specified time Returns false if the file does not exist.
 
 findFiles (array $items, $flags=0)
 Find many files at once.
 
 findFilesByPrefix ( $prefix, $limit)
 Return an array of files where the name starts with $prefix.
 
 freeTemp ( $virtualUrl)
 Remove a temporary file or mark it for garbage collection.
 
 getBackend ()
 Get the file backend instance.
 
 getDeletedHashPath ( $key)
 Get a relative path for a deletion archive key, e.g.
 
 getDescriptionRenderUrl ( $name, $lang=null)
 Get the URL of the content-only fragment of the description page.
 
 getDescriptionStylesheetUrl ()
 Get the URL of the stylesheet to apply to description pages.
 
 getDescriptionUrl ( $name)
 Get the URL of an image description page.
 
 getDisplayName ()
 Get the human-readable name of the repo.
 
 getErrorCleanupFunction ()
 Get a callback function to use for cleaning error message parameters.
 
 getFileProps ( $virtualUrl)
 Get properties of a file with a given virtual URL/storage path.
 
 getFileSha1 ( $virtualUrl)
 Get the sha1 (base 36) of a file with a given virtual URL/storage path.
 
 getFileSize ( $virtualUrl)
 Get the size of a file with a given virtual URL/storage path.
 
 getFileTimestamp ( $virtualUrl)
 Get the timestamp of a file with a given virtual URL/storage path.
 
 getHashLevels ()
 Get the number of hash directory levels.
 
 getHashPath ( $name)
 Get a relative path including trailing slash, e.g.
 
 getInfo ()
 Return information about the repository.
 
 getLocalCacheKey ()
 Get a key for this repo in the local cache domain.
 
 getLocalCopy ( $virtualUrl)
 Get a local FS copy of a file with a given virtual URL/storage path.
 
 getLocalReference ( $virtualUrl)
 Get a local FS file with a given virtual URL/storage path.
 
 getName ()
 Get the name of this repository, as specified by $info['name]' to the constructor.
 
 getNameFromTitle (Title $title)
 Get the name of a file from its title object.
 
 getReadOnlyReason ()
 Get an explanatory message if this repo is read-only.
 
 getRootDirectory ()
 Get the public zone root storage directory of the repository.
 
 getSharedCacheKey ()
 Get a key on the primary cache for this repository.
 
 getTempHashPath ( $suffix)
 Get a relative path including trailing slash, e.g.
 
 getTempRepo ()
 Get a temporary private FileRepo associated with this repo.
 
 getThumbScriptUrl ()
 Get the URL of thumb.php.
 
 getUploadStash (User $user=null)
 Get an UploadStash associated with this repo.
 
 getVirtualUrl ( $suffix=false)
 Get a URL referring to this repository, with the private mwrepo protocol.
 
 getZonePath ( $zone)
 Get the storage path corresponding to one of the zones.
 
 getZoneUrl ( $zone, $ext=null)
 Get the URL corresponding to one of the four basic zones.
 
 hasSha1Storage ()
 Returns whether or not storage is SHA-1 based.
 
 invalidateImageRedirect (Title $title)
 Invalidates image redirect cache related to that image Doesn't do anything for repositories that don't support image redirects.
 
 isLocal ()
 Returns true if this the local file repository.
 
 makeUrl ( $query='', $entry='index')
 Make an url to this repo.
 
 nameForThumb ( $name)
 Get the portion of the file that contains the origin file name.
 
 newFatal ( $message)
 Create a new fatal error.
 
 newFile ( $title, $time=false)
 Create a new File object from the local repository.
 
 newGood ( $value=null)
 Create a new good result.
 
 paranoidClean ( $param)
 Path disclosure protection function.
 
 passThrough ( $param)
 Path disclosure protection function.
 
 publish ( $src, $dstRel, $archiveRel, $flags=0, array $options=[])
 Copy or move a file either from a storage path, virtual URL, or file system path, into this repository at the specified destination location.
 
 publishBatch (array $ntuples, $flags=0)
 Publish a batch of files.
 
 quickCleanDir ( $dir)
 Deletes a directory if empty.
 
 quickImport ( $src, $dst, $options=null)
 Import a file from the local file system into the repo.
 
 quickImportBatch (array $triples)
 Import a batch of files from the local file system into the repo.
 
 quickPurge ( $path)
 Purge a file from the repo.
 
 quickPurgeBatch (array $paths)
 Purge a batch of files from the repo.
 
 resolveVirtualUrl ( $url)
 Get the backend storage path corresponding to a virtual URL.
 
 store ( $srcPath, $dstZone, $dstRel, $flags=0)
 Store a file to a given destination.
 
 storeBatch (array $triplets, $flags=0)
 Store a batch of files.
 
 storeTemp ( $originalName, $srcPath)
 Pick a random name in the temp zone and store a file to it.
 
 streamFile ( $virtualUrl, $headers=[])
 Attempt to stream a file with the given virtual URL/storage path.
 
 streamFileWithStatus ( $virtualUrl, $headers=[], $optHeaders=[])
 Attempt to stream a file with the given virtual URL/storage path.
 
 supportsSha1URLs ()
 Returns whether or not repo supports having originals SHA-1s in the thumb URLs.
 
 validateFilename ( $filename)
 Determine if a relative path is valid, i.e.
 

Additional Inherited Members

- Static Public Member Functions inherited from FileRepo
static isVirtualUrl ( $url)
 Determine if a string is an mwrepo:// URL.
 
- Public Attributes inherited from FileRepo
int $descriptionCacheExpiry
 
bool $fetchDescription
 Whether to fetch commons image description pages and display them on the local wiki.
 
const DELETE_SOURCE = 1
 
const NAME_AND_TIME_ONLY = 1
 
const OVERWRITE = 2
 
const OVERWRITE_SAME = 4
 
const SKIP_LOCKING = 8
 
- Protected Member Functions inherited from FileRepo
 assertWritableRepo ()
 Throw an exception if this repo is read-only by design.
 
 enumFilesInStorage ( $callback)
 Call a callback function for every public file in the repository.
 
 getZoneLocation ( $zone)
 The the storage container and base path of a zone.
 
 initDirectory ( $dir)
 Creates a directory with the appropriate zone permissions.
 
 initZones ( $doZones=[])
 Check if a single zone or list of zones is defined for usage.
 
 resolveToStoragePath ( $path)
 If a path is a virtual URL, resolve it to a storage path.
 
- Static Protected Member Functions inherited from FileRepo
static getHashPathForLevel ( $name, $levels)
 
- Protected Attributes inherited from FileRepo
int $abbrvThreshold
 File names over this size will use the short form of thumbnail names.
 
string $articleUrl
 Equivalent to $wgArticlePath, e.g.
 
FileBackend $backend
 
int $deletedHashLevels
 The number of directory levels for hash-based division of deleted files.
 
string $descBaseUrl
 URL of image description pages, e.g.
 
string $favicon
 The URL of the repo's favicon, if any.
 
array $fileFactory = [ 'UnregisteredLocalFile', 'newFromTitle' ]
 callable Override these in the base class
 
array $fileFactoryKey = false
 callable|bool Override these in the base class
 
int $hashLevels
 The number of directory levels for hash-based division of files.
 
bool $hasSha1Storage = false
 
bool $initialCapital
 Equivalent to $wgCapitalLinks (or $wgCapitalLinkOverrides[NS_FILE], determines whether filenames implicitly start with a capital letter.
 
bool $isPrivate
 Whether all zones should be private (e.g.
 
array $oldFileFactory = false
 callable|bool Override these in the base class
 
array $oldFileFactoryKey = false
 callable|bool Override these in the base class
 
string $pathDisclosureProtection = 'simple'
 May be 'paranoid' to remove all parameters from error messages, 'none' to leave the paths in unchanged, or 'simple' to replace paths with placeholders.
 
string $scriptDirUrl
 URL of the MediaWiki installation, equivalent to $wgScriptPath, e.g.
 
string $scriptExtension
 Script extension of the MediaWiki installation, equivalent to the old $wgScriptExtension, e.g.
 
bool $supportsSha1URLs = false
 
string $thumbScriptUrl
 URL of thumb.php.
 
string $thumbUrl
 The base thumbnail URL.
 
bool $transformVia404
 Whether to skip media file transformation on parse and rely on a 404 handler instead.
 
bool $url
 Public zone URL.
 
array $zones = []
 Map of zones to config.
 

Detailed Description

A repository for files accessible via the local filesystem.

Does not support database access or registration.

This is a mostly a legacy class. New uses should not be added.

Deprecated:
since 1.19

Definition at line 33 of file FSRepo.php.

Constructor & Destructor Documentation

◆ __construct()

FSRepo::__construct ( array  $info)
Parameters
array$info
Exceptions
MWException

Reimplemented from FileRepo.

Definition at line 38 of file FSRepo.php.

References FileRepo\$backend, LockManagerGroup\singleton(), wfTempDir(), and wfWikiID().


The documentation for this class was generated from the following file: