MediaWiki REL1_39
|
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) | |
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 57 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 90 of file UploadStash.php.
References $repo.
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 340 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 512 of file UploadStash.php.
References $dbr, and 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 478 of file UploadStash.php.
References $path.
Referenced by stashFile().
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 112 of file UploadStash.php.
References $path, DB_PRIMARY, fetchFileMetadata(), initFile(), unserialize(), wfDebug(), and wfMessage().
UploadStash::getFileProps | ( | $key | ) |
Getter for fileProps.
string | $key | Key under which file information is stored |
Definition at line 188 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 176 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 551 of file UploadStash.php.
References $file, and wfMessage().
Referenced by getFile(), and stashFile().
UploadStash::listFiles | ( | ) |
List all files in the stash.
UploadStashNotLoggedInException |
Definition at line 440 of file UploadStash.php.
References $dbr, $keys, $res, and 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 370 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 409 of file UploadStash.php.
References getFile(), and wfDebug().
Referenced by removeFile().
UploadStash::stashFile | ( | $path, | |
$sourceType = 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) |
Definition at line 206 of file UploadStash.php.
References $fileProps, $path, getExtensionForPath(), getFile(), initFile(), serialize(), wfDebug(), and wfMessage().
|
protected |
cache of the file metadata that's stored in the database
Definition at line 74 of file UploadStash.php.
|
protected |
|
protected |
array of initialized repo objects
Definition at line 71 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 68 of file UploadStash.php.
Referenced by __construct().
const UploadStash::KEY_FORMAT_REGEX = '/^[\w\-\.]+\.\w*$/' |
Definition at line 59 of file UploadStash.php.
Referenced by UploadFromStash\isValidKey().