MediaWiki master
|
UploadStash is intended to accomplish a few things: More...
Public Member Functions | |
__construct (FileRepo $repo, ?UserIdentity $user=null) | |
Represents a temporary filestore, with metadata in the database. | |
clear () | |
Remove all files from the stash. | |
getFile ( $key, $noAuth=false) | |
Get a file and its metadata from the stash. | |
getFileProps ( $key) | |
Getter for fileProps. | |
getMetadata ( $key) | |
Getter for file metadata. | |
listFiles () | |
List all files in the stash. | |
removeFile ( $key) | |
Remove a particular file from the stash. | |
removeFileNoAuth ( $key) | |
Remove a file (see removeFile), but doesn't check ownership first. | |
stashFile ( $path, $sourceType=null, $fileProps=null) | |
Stash a file in a temp directory and record that we did this in the database, along with other metadata. | |
Static Public Member Functions | |
static | getExtensionForPath ( $path) |
Find or guess extension – ensuring that our extension matches our MIME type. | |
Public Attributes | |
LocalRepo | $repo |
repository that this uses to store temp files public because we sometimes need to get a LocalFile within the same repo. | |
const | KEY_FORMAT_REGEX = '/^[\w\-\.]+\.\w*$/' |
Protected Member Functions | |
fetchFileMetadata ( $key, $readFromDB=DB_REPLICA) | |
Helper function: do the actual database query to fetch file metadata. | |
initFile ( $key) | |
Helper function: Initialize the UploadStashFile for a given file. | |
Protected Attributes | |
array | $fileMetadata = [] |
cache of the file metadata that's stored in the database | |
array | $fileProps = [] |
fileprops cache | |
array | $files = [] |
array of initialized repo objects | |
UploadStash is intended to accomplish a few things:
UploadStash right now is mostly intended to show you one user's slice of the entire stash. The user parameter is only optional because there are few cases where we clean out the stash from an automated script. In the future we might refactor this.
UploadStash represents the entire stash of temporary files. UploadStashFile is a filestore for the actual physical disk files. UploadFromStash extends UploadBase, and represents a single stashed file as it is moved from the stash to the regular file repository
Definition at line 58 of file UploadStash.php.
UploadStash::__construct | ( | FileRepo | $repo, |
?UserIdentity | $user = null ) |
Represents a temporary filestore, with metadata in the database.
Designed to be compatible with the session stashing code in UploadBase (should replace it eventually).
FileRepo | $repo | |
UserIdentity | null | $user |
Definition at line 91 of file UploadStash.php.
UploadStash::clear | ( | ) |
Remove all files from the stash.
Does not clean up files in the repo, just the record of them.
UploadStashNotLoggedInException |
Definition at line 339 of file UploadStash.php.
References wfDebug(), and wfMessage().
|
protected |
Helper function: do the actual database query to fetch file metadata.
string | $key | |
int | $readFromDB | Constant (default: DB_REPLICA) |
Definition at line 506 of file UploadStash.php.
References DB_PRIMARY.
Referenced by getFile().
|
static |
Find or guess extension – ensuring that our extension matches our MIME type.
Since these files are constructed from php tempnames they may not start off with an extension. XXX this is somewhat redundant with the checks that ApiUpload.php does with incoming uploads versus the desired filename. Maybe we can get that passed to us...
string | $path |
Definition at line 472 of file UploadStash.php.
References $path.
UploadStash::getFile | ( | $key, | |
$noAuth = false ) |
Get a file and its metadata from the stash.
The noAuth param is a bit janky but is required for automated scripts which clean out the stash.
string | $key | Key under which file information is stored |
bool | $noAuth | (optional) Don't check authentication. Used by maintenance scripts. |
UploadStashFileNotFoundException | |
UploadStashNotLoggedInException | |
UploadStashWrongOwnerException | |
UploadStashBadPathException |
Definition at line 113 of file UploadStash.php.
References $path, DB_PRIMARY, fetchFileMetadata(), initFile(), wfDebug(), and wfMessage().
UploadStash::getFileProps | ( | $key | ) |
Getter for fileProps.
string | $key | Key under which file information is stored |
Definition at line 189 of file UploadStash.php.
References getFile().
UploadStash::getMetadata | ( | $key | ) |
Getter for file metadata.
string | $key | Key under which file information is stored |
Definition at line 177 of file UploadStash.php.
References getFile().
|
protected |
Helper function: Initialize the UploadStashFile for a given file.
string | $key | Key under which to store the object |
UploadStashZeroLengthFileException |
Definition at line 544 of file UploadStash.php.
References wfMessage().
Referenced by getFile(), and stashFile().
UploadStash::listFiles | ( | ) |
List all files in the stash.
UploadStashNotLoggedInException |
Definition at line 436 of file UploadStash.php.
References wfMessage().
UploadStash::removeFile | ( | $key | ) |
Remove a particular file from the stash.
Also removes it from the repo.
string | $key |
UploadStashNoSuchKeyException|UploadStashNotLoggedInException | |
UploadStashWrongOwnerException |
Definition at line 368 of file UploadStash.php.
References removeFileNoAuth(), and wfMessage().
UploadStash::removeFileNoAuth | ( | $key | ) |
Remove a file (see removeFile), but doesn't check ownership first.
string | $key |
Definition at line 406 of file UploadStash.php.
References getFile(), and wfDebug().
Referenced by removeFile().
UploadStash::stashFile | ( | $path, | |
$sourceType = null, | |||
$fileProps = null ) |
Stash a file in a temp directory and record that we did this in the database, along with other metadata.
string | $path | Path to file you want stashed |
string | null | $sourceType | The type of upload that generated this file (currently, I believe, 'file' or null) |
array | null | $fileProps | File props or null to regenerate |
Definition at line 208 of file UploadStash.php.
References $path, getFile(), initFile(), wfDebug(), and wfMessage().
|
protected |
cache of the file metadata that's stored in the database
Definition at line 75 of file UploadStash.php.
|
protected |
fileprops cache
Definition at line 78 of file UploadStash.php.
|
protected |
array of initialized repo objects
Definition at line 72 of file UploadStash.php.
LocalRepo UploadStash::$repo |
repository that this uses to store temp files public because we sometimes need to get a LocalFile within the same repo.
Definition at line 69 of file UploadStash.php.
const UploadStash::KEY_FORMAT_REGEX = '/^[\w\-\.]+\.\w*$/' |
Definition at line 60 of file UploadStash.php.