Manual:Hooks/UploadComplete

UploadComplete
Available from version 1.6.4
Called when a file upload has completed.
Define function:
public static function onUploadComplete( $image ) { ... }
Attach hook: In extension.json:
{
	"Hooks": {
		"UploadComplete": "MediaWiki\\Extension\\MyExtension\\Hooks::onUploadComplete"
	}
}
Called from: File(s): upload/UploadBase.php
Interface: UploadCompleteHook.php

For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:UploadComplete extensions.

Details edit

  • $image: the file (object) saved UploadForm object (since 1.16.0? UploadBase)
  • Return value: True, if other hooks shall be evaluated. False if evaluation shall stop. If no return value is given, an Error occurs.

Example Methods edit

If you want to know what methods an upload form object has, see includes/special/SpecialUpload.php.

Some examples:

// older versions (?until 1.16?)
$image->mLocalFile; // LocalFile Object
$image->mLocalFile->fileExists; // 1 or 0
$image->mLocalFile->media_type; // examples: "AUDIO", "VIDEO", ...
$image->mLocalFile->mime; // example: audio/mp3
$image->mLocalFile->major_mime; // e.g. audio
$image->mLocalFile->minor_mime; // e.g. mp3
$image->mLocalFile->size; //in bytes, e.g. 2412586
$image->mLocalFile->user; // int userId 
$image->mLocalFile->user_text; // the username
$image->mLocalFile->description;
$image->mLocalFile->url; // gives the relative url for direct access of the uploaded media
$image->mLocalFile->getTitle(); // gives a title object for the current media

// new MW versions (since ??)
$image->getLocalFile(); // LocalFile Object
$image->getLocalFile()->fileExists; // 1 or 0
$image->getLocalFile()->media_type; // examples: "AUDIO", "VIDEO", ...
$image->getLocalFile()->mime; // example: audio/mp3
$image->getLocalFile()->major_mime; // e.g. audio
$image->getLocalFile()->minor_mime; // e.g. mp3
$image->getLocalFile()->size; //in bytes, e.g. 2412586
$image->getLocalFile()->user; // int userId
$image->getLocalFile()->user_text; // the username
$image->getLocalFile()->description;
$image->getLocalFile()->url; // gives the relative url for direct access of the uploaded media
$image->getLocalFile()->getTitle(); // gives a title object for the current media


/**
  * Do existence checks on a file and produce a warning
  * This check is static and can be done pre-upload via AJAX
  * Returns an HTML fragment consisting of one or more LI elements if there is a warning
  * Returns an empty string if there is no warning
  */
static function getExistsWarning( $file );

 /**
  * Split a file into a base name and all dot-delimited 'extensions'
  * on the end. Some web server configurations will fall back to
  * earlier pseudo-'extensions' to determine type and execute
  * scripts, so the blacklist needs to check them all.
  *
  * @return array
  */
function splitExtensions( $filename );