AbuseFilter has been using type hints on these methods for a while, so we can be pretty confident that the documented types reflect the real types. Change-Id: I7192be5843cbf26c22bae9dc4a838536469b90fd
37 lines
1.5 KiB
PHP
37 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace MediaWiki\Hook;
|
|
|
|
use MessageSpecifier;
|
|
use UploadBase;
|
|
use User;
|
|
|
|
/**
|
|
* This is a hook handler interface, see docs/Hooks.md.
|
|
* Use the hook name "UploadStashFile" to register handlers implementing this interface.
|
|
*
|
|
* @stable to implement
|
|
* @ingroup Hooks
|
|
*/
|
|
interface UploadStashFileHook {
|
|
/**
|
|
* This hook is called before a file is stashed (uploaded to stash).
|
|
* Note that code which has not been updated for MediaWiki 1.28 may not call this
|
|
* hook. If your extension absolutely, positively must prevent some files from
|
|
* being uploaded, use UploadVerifyFile or UploadVerifyUpload.
|
|
*
|
|
* @since 1.35
|
|
*
|
|
* @param UploadBase $upload Instance of UploadBase with all info about the upload
|
|
* @param User $user User uploading this file
|
|
* @param array|null $props File properties, as returned by MWFileProps::getPropsFromPath().
|
|
* Note this is not always guaranteed to be set, e.g. in test scenarios. Call
|
|
* MWFileProps::getPropsFromPath() yourself in case you need the information.
|
|
* @param array|MessageSpecifier|null &$error Output: If the file stashing should
|
|
* be prevented, set this to the reason in the form of [ messagename, param1, param2, ... ]
|
|
* or a MessageSpecifier instance. (You might want to use ApiMessage to provide machine
|
|
* -readable details for the API.)
|
|
* @return bool|void True or no return value to continue or false to abort
|
|
*/
|
|
public function onUploadStashFile( UploadBase $upload, User $user, ?array $props, &$error );
|
|
}
|