Page MenuHomeWickedGov Phorge

AbuseFilterHookRunner.php
No OneTemporary

Size
5 KB
Referenced Files
None
Subscribers
None

AbuseFilterHookRunner.php

<?php
namespace MediaWiki\Extension\AbuseFilter\Hooks;
use MediaWiki\Content\Content;
use MediaWiki\Extension\AbuseFilter\AbuseFilterPermissionStatus;
use MediaWiki\Extension\AbuseFilter\VariableGenerator\RCVariableGenerator;
use MediaWiki\Extension\AbuseFilter\Variables\VariableHolder;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\Permissions\Authority;
use MediaWiki\RecentChanges\RecentChange;
use MediaWiki\Title\Title;
use MediaWiki\User\User;
use MediaWiki\User\UserIdentity;
/**
* Handle running AbuseFilter's hooks
* @author DannyS712
*/
class AbuseFilterHookRunner implements
AbuseFilterAlterVariablesHook,
AbuseFilterBuilderHook,
AbuseFilterCanViewProtectedVariablesHook,
AbuseFilterComputeVariableHook,
AbuseFilterContentToStringHook,
AbuseFilterCustomActionsHook,
AbuseFilterCustomProtectedVariablesHook,
AbuseFilterDeprecatedVariablesHook,
AbuseFilterGenerateGenericVarsHook,
AbuseFilterGenerateTitleVarsHook,
AbuseFilterGenerateUserVarsHook,
AbuseFilterGenerateAccountCreationVarsHook,
AbuseFilterGenerateVarsForRecentChangeHook,
AbuseFilterGetDangerousActionsHook,
AbuseFilterInterceptVariableHook,
AbuseFilterProtectedVarsAccessLoggerHook,
AbuseFilterShouldFilterActionHook
{
public const SERVICE_NAME = 'AbuseFilterHookRunner';
private HookContainer $hookContainer;
public function __construct( HookContainer $hookContainer ) {
$this->hookContainer = $hookContainer;
}
/**
* @inheritDoc
*/
public function onAbuseFilter_builder( array &$realValues ) {
return $this->hookContainer->run(
'AbuseFilter-builder',
[ &$realValues ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilter_deprecatedVariables( array &$deprecatedVariables ) {
return $this->hookContainer->run(
'AbuseFilter-deprecatedVariables',
[ &$deprecatedVariables ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilter_computeVariable(
string $method,
VariableHolder $vars,
array $parameters,
?string &$result
) {
return $this->hookContainer->run(
'AbuseFilter-computeVariable',
[ $method, $vars, $parameters, &$result ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilter_contentToString(
Content $content,
?string &$text
) {
return $this->hookContainer->run(
'AbuseFilter-contentToString',
[ $content, &$text ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilterAlterVariables(
VariableHolder &$vars,
Title $title,
User $user
) {
return $this->hookContainer->run(
'AbuseFilterAlterVariables',
[ &$vars, $title, $user ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilter_generateTitleVars(
VariableHolder $vars,
Title $title,
string $prefix,
?RecentChange $rc
) {
return $this->hookContainer->run(
'AbuseFilter-generateTitleVars',
[ $vars, $title, $prefix, $rc ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilter_generateUserVars(
VariableHolder $vars,
User $user,
?RecentChange $rc
) {
return $this->hookContainer->run(
'AbuseFilter-generateUserVars',
[ $vars, $user, $rc ]
);
}
/** @inheritDoc */
public function onAbuseFilterGenerateAccountCreationVars(
VariableHolder $vars,
UserIdentity $creator,
UserIdentity $createdUser,
bool $autocreate,
?RecentChange $rc
) {
return $this->hookContainer->run(
'AbuseFilterGenerateAccountCreationVars',
[ $vars, $creator, $createdUser, $autocreate, $rc ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilter_generateGenericVars(
VariableHolder $vars,
?RecentChange $rc
) {
return $this->hookContainer->run(
'AbuseFilter-generateGenericVars',
[ $vars, $rc ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilterGenerateVarsForRecentChange(
RCVariableGenerator $generator,
RecentChange $rc,
VariableHolder $vars,
User $contextUser
) {
return $this->hookContainer->run(
'AbuseFilterGenerateVarsForRecentChange',
[ $generator, $rc, $vars, $contextUser ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilter_interceptVariable(
string $method,
VariableHolder $vars,
array $parameters,
&$result
) {
return $this->hookContainer->run(
'AbuseFilter-interceptVariable',
[ $method, $vars, $parameters, &$result ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilterShouldFilterAction(
VariableHolder $vars,
Title $title,
User $user,
array &$skipReasons
) {
return $this->hookContainer->run(
'AbuseFilterShouldFilterAction',
[ $vars, $title, $user, &$skipReasons ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilterGetDangerousActions( array &$actions ): void {
$this->hookContainer->run(
'AbuseFilterGetDangerousActions',
[ &$actions ],
[ 'abortable' => false ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilterCustomActions( array &$actions ): void {
$this->hookContainer->run(
'AbuseFilterCustomActions',
[ &$actions ],
[ 'abortable' => false ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilterCustomProtectedVariables( array &$variables ): void {
$this->hookContainer->run(
'AbuseFilterCustomProtectedVariables',
[ &$variables ],
[ 'abortable' => false ]
);
}
/**
* @inheritDoc
*/
public function onAbuseFilterLogProtectedVariableValueAccess(
UserIdentity $performer,
string $target,
string $action,
bool $shouldDebounce,
int $timestamp,
array &$params
) {
return $this->hookContainer->run(
'AbuseFilterLogProtectedVariableValueAccess',
[ $performer, $target, $action, $shouldDebounce, $timestamp, &$params ],
[ 'abortable' => true ]
);
}
/** @inheritDoc */
public function onAbuseFilterCanViewProtectedVariables(
Authority $performer, array $variables, AbuseFilterPermissionStatus $status
): void {
$this->hookContainer->run(
'AbuseFilterCanViewProtectedVariables',
[ $performer, $variables, $status ],
[ 'abortable' => false ]
);
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, Oct 3, 14:10 (10 h, 27 m ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
5e/fc/17f8ef39c72de69720b3a07d2c22
Default Alt Text
AbuseFilterHookRunner.php (5 KB)

Event Timeline