MediaWiki
1.23.5
|
Implements uploading from chunks. More...
Public Member Functions | |
__construct ( $user=null, $stash=false, $repo=false) | |
Setup local pointers to stash, repo and user (similar to UploadFromStash) More... | |
addChunk ( $chunkPath, $chunkSize, $offset) | |
Add a chunk to the temporary directory. More... | |
concatenateChunks () | |
Append the final chunk and ready file for parent::performUpload() More... | |
continueChunks ( $name, $key, $webRequestUpload) | |
Continue chunk uploading. More... | |
getVirtualChunkLocation ( $index) | |
Returns the virtual chunk location: More... | |
performUpload ( $comment, $pageText, $watch, $user) | |
Perform the upload, then remove the temp copy afterward. More... | |
stashFile (User $user=null) | |
Calls the parent stashFile and updates the uploadsession table to handle "chunks". More... | |
Public Member Functions inherited from UploadFromFile | |
getSourceType () | |
initialize ( $name, $webRequestUpload) | |
Initialize from a filename and a WebRequestUpload. More... | |
initializeFromRequest (&$request) | |
verifyUpload () | |
Public Member Functions inherited from UploadBase | |
__construct () | |
checkSvgScriptCallback ( $element, $attribs, $data=null) | |
checkWarnings () | |
Check for non fatal problems with the file. More... | |
cleanupTempFile () | |
If we've modified the upload file we need to manually remove it on exit to clean up. More... | |
convertVerifyErrorToStatus ( $error) | |
fetchFile () | |
Fetch the file. More... | |
getFileSize () | |
Return the file size. More... | |
getImageInfo ( $result) | |
Gets image info about the file just uploaded. More... | |
getLocalFile () | |
Return the local file and initializes if necessary. More... | |
getRealPath ( $srcPath) | |
getTempFileSha1Base36 () | |
Get the base 36 SHA1 of the file. More... | |
getTempPath () | |
getTitle () | |
Returns the title of the file to be uploaded. More... | |
getVerificationErrorCode ( $error) | |
initializePathInfo ( $name, $tempPath, $fileSize, $removeTempFile=false) | |
Initialize the path information. More... | |
isEmptyFile () | |
Return true if the file is empty. More... | |
stashFileGetKey () | |
Stash a file in a temporary directory, returning a key which can be used to find the file again. More... | |
stashSession () | |
alias for stashFileGetKey, for backwards compatibility More... | |
validateName () | |
Verify that the name is valid and, if necessary, that we can overwrite. More... | |
verifyPermissions ( $user) | |
Alias for verifyTitlePermissions. More... | |
verifyTitlePermissions ( $user) | |
Check whether the user can edit, upload and create the image. More... | |
zipEntryCallback ( $entry) | |
Callback for ZipDirectoryReader to detect Java class files. More... | |
Protected Attributes | |
$mChunkIndex | |
$mFileKey | |
$mOffset | |
$mVirtualTempPath | |
Protected Attributes inherited from UploadFromFile | |
WebRequestUpload | $mUpload = null |
Protected Attributes inherited from UploadBase | |
$mBlackListedExtensions | |
$mDesiredDestName | |
$mFilteredName | |
$mJavaDetected | |
$mLocalFile | |
$mTempPath | |
$mTitle = false | |
Private Member Functions | |
getChunkFileKey ( $index=null) | |
getChunkIndex () | |
Get the current Chunk index. More... | |
getChunkStatus () | |
Get the chunk db state and populate update relevant local values. More... | |
getOffset () | |
Gets the current offset in fromt the stashedupload table. More... | |
outputChunk ( $chunkPath) | |
Output the chunk to disk. More... | |
updateChunkStatus () | |
Update the chunk db table with the current status: More... | |
verifyChunk () | |
Verify that the chunk isn't really an evil html file. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from UploadFromFile | |
static | isValidRequest ( $request) |
Static Public Member Functions inherited from UploadBase | |
static | checkFileExtension ( $ext, $list) |
Perform case-insensitive match against a list of file extensions. More... | |
static | checkFileExtensionList ( $ext, $list) |
Perform case-insensitive match against a list of file extensions. More... | |
static | checkSvgPICallback ( $target, $data) |
Callback to filter SVG Processing Instructions. More... | |
static | checkXMLEncodingMissmatch ( $file) |
Check a whitelist of xml encodings that are known not to be interpreted differently by the server's xml parser (expat) and some common browsers. More... | |
static | createFromRequest (&$request, $type=null) |
Create a form of UploadBase depending on wpSourceType and initializes it. More... | |
static | detectScript ( $file, $mime, $extension) |
Heuristic for detecting files that could contain JavaScript instructions or things that may look like HTML to a browser and are thus potentially harmful. More... | |
static | detectVirus ( $file) |
Generic wrapper function for a virus scanner program. More... | |
static | getExistsWarning ( $file) |
Helper function that does various existence checks for a file. More... | |
static | getFilenamePrefixBlacklist () |
Get a list of blacklisted filename prefixes from [[MediaWiki:Filename-prefix-blacklist]]. More... | |
static | getMaxUploadSize ( $forType=null) |
static | getSessionStatus ( $statusKey) |
Get the current status of a chunked upload (used for polling). More... | |
static | isAllowed ( $user) |
Returns true if the user can use this upload module or else a string identifying the missing permission. More... | |
static | isEnabled () |
Returns true if uploads are enabled. More... | |
static | isThumbName ( $filename) |
Helper function that checks whether the filename looks like a thumbnail. More... | |
static | setSessionStatus ( $statusKey, $value) |
Set the current status of a chunked upload (used for polling). More... | |
static | splitExtensions ( $filename) |
Split a file into a base name and all dot-delimited 'extensions' on the end. More... | |
static | userCanReUpload (User $user, $img) |
Check if a user is the last uploader. More... | |
static | verifyExtension ( $mime, $extension) |
Checks if the mime type of the uploaded file matches the file extension. More... | |
Public Attributes inherited from UploadBase | |
$mDestName | |
$mFileProps | |
$mFileSize | |
$mFinalExtension | |
$mRemoveTempFile | |
$mSourceType | |
$mSVGNSError | |
$mTitleError = 0 | |
const | EMPTY_FILE = 3 |
const | FILE_TOO_LARGE = 12 |
const | FILENAME_TOO_LONG = 14 |
const | FILETYPE_BADTYPE = 9 |
const | FILETYPE_MISSING = 8 |
const | HOOK_ABORTED = 11 |
const | ILLEGAL_FILENAME = 5 |
const | MIN_LENGTH_PARTNAME = 4 |
const | OK = 0 |
const | OVERWRITE_EXISTING_FILE = 7 |
const | SESSION_STATUS_KEY = 'wsUploadStatusData' |
const | SUCCESS = 0 |
const | UPLOAD_VERIFICATION_ERROR = 11 |
const | VERIFICATION_ERROR = 10 |
const | WINDOWS_NONASCII_FILENAME = 13 |
Static Public Attributes inherited from UploadBase | |
static | $uploadHandlers = array( 'Stash', 'File', 'Url' ) |
Protected Member Functions inherited from UploadBase | |
detectScriptInSvg ( $filename) | |
verifyFile () | |
Verifies that it's ok to include the uploaded file. More... | |
verifyMimeType ( $mime) | |
Verify the mime type. More... | |
verifyPartialFile () | |
A verification routine suitable for partial files. More... | |
Static Protected Attributes inherited from UploadBase | |
static | $safeXmlEncodings = array( 'UTF-8', 'ISO-8859-1', 'ISO-8859-2', 'UTF-16', 'UTF-32' ) |
Implements uploading from chunks.
Definition at line 30 of file UploadFromChunks.php.
Setup local pointers to stash, repo and user (similar to UploadFromStash)
$user | User|null Default: null |
$stash | UploadStash|bool Default: false |
$repo | FileRepo|bool Default: false |
Definition at line 43 of file UploadFromChunks.php.
References $user, RepoGroup\singleton(), user, and wfDebug().
UploadFromChunks::addChunk | ( | $chunkPath, | |
$chunkSize, | |||
$offset | |||
) |
Add a chunk to the temporary directory.
string | $chunkPath | path to temporary chunk file |
int | $chunkSize | size of the current chunk |
int | $offset | offset of current chunk ( mutch match database chunk offset ) |
Definition at line 201 of file UploadFromChunks.php.
References $e, UploadBase\$mTempPath, UploadBase\getMaxUploadSize(), getOffset(), Status\newFatal(), outputChunk(), updateChunkStatus(), and verifyChunk().
UploadFromChunks::concatenateChunks | ( | ) |
Append the final chunk and ready file for parent::performUpload()
Definition at line 113 of file UploadFromChunks.php.
References $ext, $ret, array(), FileRepo\DELETE_SOURCE, FileBackend\extensionFromPath(), TempFSFile\factory(), getChunkIndex(), getOffset(), UploadBase\getVerificationErrorCode(), getVirtualChunkLocation(), UploadBase\OK, user, UploadFromFile\verifyUpload(), wfDebug(), and wfDebugLog().
UploadFromChunks::continueChunks | ( | $name, | |
$key, | |||
$webRequestUpload | |||
) |
Continue chunk uploading.
Definition at line 95 of file UploadFromChunks.php.
References $name, getChunkStatus(), UploadBase\getRealPath(), and UploadBase\initializePathInfo().
|
private |
Definition at line 339 of file UploadFromChunks.php.
References getChunkIndex().
Referenced by getVirtualChunkLocation(), and outputChunk().
|
private |
Get the current Chunk index.
Definition at line 288 of file UploadFromChunks.php.
References $mChunkIndex.
Referenced by concatenateChunks(), getChunkFileKey(), and updateChunkStatus().
|
private |
Get the chunk db state and populate update relevant local values.
Definition at line 262 of file UploadFromChunks.php.
References array().
Referenced by continueChunks().
|
private |
Gets the current offset in fromt the stashedupload table.
Definition at line 299 of file UploadFromChunks.php.
References $mOffset.
Referenced by addChunk(), concatenateChunks(), and updateChunkStatus().
UploadFromChunks::getVirtualChunkLocation | ( | $index | ) |
Returns the virtual chunk location:
$index |
Definition at line 184 of file UploadFromChunks.php.
References getChunkFileKey().
Referenced by concatenateChunks().
|
private |
Output the chunk to disk.
$chunkPath | string |
UploadChunkFileException |
Definition at line 313 of file UploadFromChunks.php.
References $error, array(), and getChunkFileKey().
Referenced by addChunk(), and stashFile().
UploadFromChunks::performUpload | ( | $comment, | |
$pageText, | |||
$watch, | |||
$user | |||
) |
Perform the upload, then remove the temp copy afterward.
$comment | string |
$pageText | string |
$watch | bool |
$user | User |
Reimplemented from UploadBase.
Definition at line 174 of file UploadFromChunks.php.
UploadFromChunks::stashFile | ( | User | $user = null | ) |
Calls the parent stashFile and updates the uploadsession table to handle "chunks".
Reimplemented from UploadBase.
Definition at line 72 of file UploadFromChunks.php.
References UploadBase\$mLocalFile, outputChunk(), updateChunkStatus(), and verifyChunk().
|
private |
Update the chunk db table with the current status:
Definition at line 238 of file UploadFromChunks.php.
References array(), getChunkIndex(), getOffset(), and wfDebug().
Referenced by addChunk(), and stashFile().
|
private |
Verify that the chunk isn't really an evil html file.
UploadChunkVerificationException |
Definition at line 351 of file UploadFromChunks.php.
References UploadBase\$mDesiredDestName, $mFileKey, $res, and UploadBase\verifyPartialFile().
Referenced by addChunk(), and stashFile().
|
protected |
Definition at line 32 of file UploadFromChunks.php.
Referenced by getChunkIndex().
|
protected |
Definition at line 33 of file UploadFromChunks.php.
Referenced by verifyChunk().
|
protected |
Definition at line 31 of file UploadFromChunks.php.
Referenced by getOffset().
|
protected |
Definition at line 34 of file UploadFromChunks.php.