Available from version 1.12.0
Add a permissions error when permissions errors are checked for.
Define function:
public static function ongetUserPermissionsErrors( $title, $user, $action, &$result ) { ... }
Attach hook: In extension.json:
	"Hooks": {
		"getUserPermissionsErrors": "MediaWiki\\Extension\\MyExtension\\Hooks::ongetUserPermissionsErrors"
Called from: File(s): Permissions/PermissionManager.php
Interface: getUserPermissionsErrorsHook.php

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

Details edit

  • $title - Title object being checked against
  • $user - Current user object
  • $action - Action being checked
  • &$result - User permissions error to add. $result can be set as a single error message key (string), or an array of error message keys when multiple messages are needed (although it seems to take an array as one message key with parameters?).

Differences from getUserPermissionsErrorsExpensive edit

Both hooks are typically run when checking for proper permissions in Title.php . When it is desirable to skip potentially expensive cascading permission checks, only getUserPermissionsErrors is run. This behavior is suitable for nonessential UI controls in common cases, but not for functional access control. This behavior may provide false positives, but should never provide a false negative.

See also edit