mediawiki-extensions-AbuseF.../hooks.txt
Daimona Eaytoy 4c06dd52c8 Replace $wgAbuseFilterRestrictions with more specific variables
So that sysadmins can further customize the extension. It was also wrong
to use the same variable for many different things.

Note that there's no associated patch in wmf-config because we use the
defaults. However, before merging this patch, please recheck that
AbuseFilterRestrictions and AbuseFilterDisallowGlobalLocalBlocks aren't
used there (https://codesearch.wmflabs.org/operations/?q=AbuseFilterDisallowGlobalLocalBlocks%7CAbuseFilterRestrictions&i=nope&files=&repos=)

Bug: T175221
Change-Id: I7581b3ee6d9d11a6cf1599b8ff874e8c3d54adf4
2020-10-22 13:38:59 +00:00

77 lines
4 KiB
Plaintext

This document describes how event hooks work in the AbuseFilter extension.
For a more comprehensive guide to hooks, navigate to your root MediaWiki
directory and read docs/Hooks.md.
== Events and parameters ==
This is a list of known events and parameters; please add to it if you're going
to add events to the AbuseFilter extension.
'AbuseFilter-builder': Allows overwriting of the builder values, i.e. names and descriptions of
the AbuseFilter language like variables.
&$realValues: Builder values
'AbuseFilter-deprecatedVariables': Allows adding deprecated variables. If a filter uses an old variable, the parser
will automatically translate it to the new one.
&$deprecatedVariables: array of deprecated variables, syntax: [ 'old_name' => 'new_name' ]
'AbuseFilter-computeVariable': Like AbuseFilter-interceptVariable but called if the requested method wasn't found.
Return true to indicate that the method is known to the hook and was computed successful.
$method: Method to generate the variable
$vars: AbuseFilterVariableHolder
$parameters: Parameters with data to compute the value
&$result: Result of the computation
'AbuseFilter-contentToString': Called when converting a Content object to a string to which
filters can be applied. If the hook function returns true, Content::getTextForSearchIndex()
will be used for non-text content.
$content: The Content object
&$text: Set this to the desired text.
'AbuseFilter-filterAction': DEPRECATED! Use AbuseFilterAlterVariables instead.
Allows overwriting of abusefilter variables in AbuseFilter::filterAction just before they're
checked against filters. Note that you may specify custom variables in a saner way using other hooks:
AbuseFilter-generateTitleVars, AbuseFilter-generateUserVars and AbuseFilter-generateGenericVars.
$vars: AbuseFilterVariableHolder with variables
$title: Title object
'AbuseFilterAlterVariables': Allows overwriting of abusefilter variables just before they're
checked against filters. Note that you may specify custom variables in a saner way using other hooks:
AbuseFilter-generateTitleVars, AbuseFilter-generateUserVars and AbuseFilter-generateGenericVars.
$vars: AbuseFilterVariableHolder with variables
$title: Title object target of the action
$user: User object performer of the action
'AbuseFilter-generateTitleVars': Allows altering the variables generated for a title
$vars: AbuseFilterVariableHolder
$title: Title object
$prefix: Variable name prefix
$rc: RecentChange|null If the variables should be generated for an RC entry, this is the entry. Null if it's for the current action being filtered.
'AbuseFilter-generateUserVars': Allows altering the variables generated for a specific user
$vars: AbuseFilterVariableHolder
$user: User object
$rc: RecentChange|null If the variables should be generated for an RC entry, this is the entry. Null if it's for the current action being filtered.
'AbuseFilter-generateGenericVars': Allows altering generic variables, i.e. independent from page and user
$vars: AbuseFilterVariableHolder
$rc: RecentChange|null If the variables should be generated for an RC entry, this is the entry. Null if it's for the current action being filtered.
'AbuseFilter-interceptVariable': Called before a variable is set in AFComputedVariable::compute to be able to set
it before the core code runs. Return false to make the function return right after.
$method: Method to generate the variable
$vars: AbuseFilterVariableHolder
$parameters: Parameters with data to compute the value
&$result: Result of the computation
'AbuseFilterShouldFilterAction': Called before filtering an action. If the current action should not be filtered,
return false and add a useful reason to $skipReasons.
$vars: AbuseFilterVariableHolder
$title: Title object target of the action
$user: User object performer of the action
&$skipReasons: Array of reasons why the action should be skipped
'AbuseFilterGetDangerousActions': Allows specifying custom consequences which can harm the user and prevent
the edit from being saved.
&$actions: Array (string[]) of dangerous actions