Manual:Hooks/UploadComplete

From mediawiki.org
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 );