File: UploadVerifyUploadHook.php

package info (click to toggle)
mediawiki 1%3A1.43.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 417,464 kB
  • sloc: php: 1,062,949; javascript: 664,290; sql: 9,714; python: 5,458; xml: 3,489; sh: 1,131; makefile: 64
file content (40 lines) | stat: -rw-r--r-- 1,653 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php

namespace MediaWiki\Hook;

use MediaWiki\User\User;
use UploadBase;
use Wikimedia\Message\MessageSpecifier;

/**
 * This is a hook handler interface, see docs/Hooks.md.
 * Use the hook name "UploadVerifyUpload" to register handlers implementing this interface.
 *
 * @stable to implement
 * @ingroup Hooks
 */
interface UploadVerifyUploadHook {
	/**
	 * Use this hook to perform upload verification, based on both file properties like
	 * MIME type (same as UploadVerifyFile) and the information entered by the user
	 * (upload comment, file page contents etc.).
	 *
	 * @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 string $comment Upload log comment (also used as edit summary)
	 * @param string|false $pageText File description page text (only used for new uploads)
	 * @param array|MessageSpecifier|null &$error Output: If the file upload 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 onUploadVerifyUpload( UploadBase $upload, User $user, ?array $props, $comment,
		$pageText, &$error
	);
}