Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F5972586
ActionSpecifier.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
ActionSpecifier.php
View Options
<?php
namespace
MediaWiki\Extension\AbuseFilter
;
use
InvalidArgumentException
;
use
MediaWiki\Linker\LinkTarget
;
use
MediaWiki\User\UserIdentity
;
/**
* Plain value object that univocally represents an action being filtered
* @todo Add constants for possible actions?
* @todo Add the timestamp
*/
class
ActionSpecifier
{
/** @var string */
private
$action
;
/** @var LinkTarget */
private
$title
;
/** @var UserIdentity */
private
$user
;
/** @var string */
private
$requestIP
;
/** @var string|null */
private
$accountName
;
/**
* @param string $action Action being filtered (e.g. 'edit' or 'createaccount')
* @param LinkTarget $title Where the current action is executed. This is the user page
* for account creations.
* @param UserIdentity $user
* @param string $requestIP
* @param string|null $accountName Required iff the action is an account creation
*/
public
function
__construct
(
string
$action
,
LinkTarget
$title
,
UserIdentity
$user
,
string
$requestIP
,
?
string
$accountName
)
{
if
(
$accountName
===
null
&&
strpos
(
$action
,
'createaccount'
)
!==
false
)
{
throw
new
InvalidArgumentException
(
'$accountName required for account creations'
);
}
$this
->
action
=
$action
;
$this
->
title
=
$title
;
$this
->
user
=
$user
;
$this
->
requestIP
=
$requestIP
;
$this
->
accountName
=
$accountName
;
}
/**
* @return string
*/
public
function
getAction
():
string
{
return
$this
->
action
;
}
/**
* @return LinkTarget
*/
public
function
getTitle
():
LinkTarget
{
return
$this
->
title
;
}
/**
* @return UserIdentity
*/
public
function
getUser
():
UserIdentity
{
return
$this
->
user
;
}
/**
* @return string
* @note It may be an empty string for less recent changes.
*/
public
function
getIP
():
string
{
return
$this
->
requestIP
;
}
/**
* @return string|null
*/
public
function
getAccountName
():
?
string
{
return
$this
->
accountName
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Oct 3, 16:00 (1 d, 15 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
3c/f5/55598e0098d49fa13aa80413ca5c
Default Alt Text
ActionSpecifier.php (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment