MediaWiki  master
ManualLogEntry Class Reference

Class for creating new log entries and inserting them into the database. More...

Inheritance diagram for ManualLogEntry:
Collaboration diagram for ManualLogEntry:

Public Member Functions

 __construct ( $type, $subtype)
 
 addTags ( $tags)
 Add change tags for the log entry. More...
 
 getAssociatedRevId ()
 
 getComment ()
 
 getDeleted ()
 
 getIsPatrollable ()
 Whether this log entry is patrollable. More...
 
 getParameters ()
 
 getPerformerIdentity ()
 
 getRecentChange ( $newId=0)
 Get a RecentChanges object for the log entry. More...
 
 getSubtype ()
 
 getTags ()
 
 getTarget ()
 
 getTimestamp ()
 
 getType ()
 
 insert (IDatabase $dbw=null)
 Insert the entry into the logging table. More...
 
 isLegacy ()
 
 publish ( $newId, $to='rcandudp')
 Publish the log entry. More...
 
 setAssociatedRevId ( $revId)
 Set an associated revision id. More...
 
 setComment (string $comment)
 Set a comment associated with the action being logged. More...
 
 setDeleted ( $deleted)
 Set the 'deleted' flag. More...
 
 setForceBotFlag (bool $forceBotFlag)
 Set the bot flag in the recent changes to this value. More...
 
 setIsPatrollable ( $patrollable)
 Set whether this log entry should be made patrollable This shouldn't depend on config, only on whether there is full support in the software for patrolling this log entry. More...
 
 setLegacy ( $legacy)
 Set the 'legacy' flag. More...
 
 setParameters ( $parameters)
 Set extra log parameters. More...
 
 setPerformer (UserIdentity $performer)
 Set the user that performed the action being logged. More...
 
 setRelations (array $relations)
 Declare arbitrary tag/value relations to this log entry. More...
 
 setTags ( $tags)
 Set change tags for the log entry. More...
 
 setTarget ( $target)
 Set the title of the object changed. More...
 
 setTimestamp ( $timestamp)
 Set the timestamp of when the logged action took place. More...
 
- Public Member Functions inherited from LogEntryBase
 getFullType ()
 The full logtype in format maintype/subtype. More...
 
 isDeleted ( $field)
 

Protected Attributes

string $comment = ''
 Comment for the log entry. More...
 
int $deleted
 Deletion state of the log entry. More...
 
bool null $forceBotFlag = null
 The bot flag in the recent changes will be set to this value. More...
 
int $id
 ID of the log entry. More...
 
bool $isPatrollable = false
 Can this log entry be patrolled? More...
 
bool $legacy = false
 Whether this is a legacy log entry. More...
 
array $parameters = []
 Parameters for log entry. More...
 
UserIdentity $performer
 Performer of the action for the log entry. More...
 
array $relations = []
 
int $revId = 0
 A rev id associated to the log entry. More...
 
string $subtype
 Sub type of log entry. More...
 
string[] $tags = []
 Change tags add to the log entry. More...
 
Title $target
 Target title for the log entry. More...
 
string $timestamp
 Timestamp of creation of the log entry. More...
 
string $type
 Type of log entry. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from LogEntryBase
static extractParams ( $blob)
 Extract a parameter array from a blob. More...
 
static makeParamBlob ( $params)
 Create a blob from a parameter array. More...
 

Detailed Description

Class for creating new log entries and inserting them into the database.

Stability: newable
Note
marked as newable in 1.35 for lack of a better alternative, but should be changed to use the builder pattern or the command pattern.
Since
1.19
See also
https://www.mediawiki.org/wiki/Manual:Logging_to_Special:Log

Definition at line 47 of file ManualLogEntry.php.

Constructor & Destructor Documentation

◆ __construct()

ManualLogEntry::__construct (   $type,
  $subtype 
)
Stability: stable
to call
Since
1.19
Parameters
string$typeLog type. Should match $wgLogTypes.
string$subtypeLog subtype (action). Should match $wgLogActions or (together with $type) $wgLogActionsHandlers.
Note

Definition at line 101 of file ManualLogEntry.php.

References $subtype, and $type.

Member Function Documentation

◆ addTags()

ManualLogEntry::addTags (   $tags)

Add change tags for the log entry.

Since
1.33
Parameters
string | string[] | null$tagsTags to apply

Implements MediaWiki\ChangeTags\Taggable.

Definition at line 237 of file ManualLogEntry.php.

References $tags.

Referenced by setTags().

◆ getAssociatedRevId()

ManualLogEntry::getAssociatedRevId ( )
Since
1.27
Returns
int

Definition at line 518 of file ManualLogEntry.php.

◆ getComment()

ManualLogEntry::getComment ( )
Returns
string

Implements LogEntry.

Definition at line 510 of file ManualLogEntry.php.

◆ getDeleted()

ManualLogEntry::getDeleted ( )
Returns
int

Implements LogEntry.

Definition at line 551 of file ManualLogEntry.php.

◆ getIsPatrollable()

ManualLogEntry::getIsPatrollable ( )

Whether this log entry is patrollable.

Since
1.27
Returns
bool

Definition at line 536 of file ManualLogEntry.php.

◆ getParameters()

ManualLogEntry::getParameters ( )
Returns
array

Implements LogEntry.

Definition at line 480 of file ManualLogEntry.php.

◆ getPerformerIdentity()

ManualLogEntry::getPerformerIdentity ( )
Returns
UserIdentity

Implements LogEntry.

Definition at line 487 of file ManualLogEntry.php.

◆ getRecentChange()

ManualLogEntry::getRecentChange (   $newId = 0)

Get a RecentChanges object for the log entry.

Parameters
int$newId
Returns
RecentChange
Since
1.23

Definition at line 370 of file ManualLogEntry.php.

References getTimestamp(), SpecialPage\getTitleFor(), LogEntryBase\makeParamBlob(), RequestContext\newExtraneousContext(), LogFormatter\newFromEntry(), and RecentChange\newLogEntry().

◆ getSubtype()

ManualLogEntry::getSubtype ( )
Returns
string

Implements LogEntry.

Definition at line 473 of file ManualLogEntry.php.

◆ getTags()

ManualLogEntry::getTags ( )
Since
1.27
Returns
string[]

Definition at line 526 of file ManualLogEntry.php.

◆ getTarget()

ManualLogEntry::getTarget ( )
Returns
Title

Implements LogEntry.

Definition at line 494 of file ManualLogEntry.php.

◆ getTimestamp()

ManualLogEntry::getTimestamp ( )
Returns
string|false TS_MW timestamp, a string with 14 digits

Implements LogEntry.

Definition at line 501 of file ManualLogEntry.php.

References wfTimestamp(), and wfTimestampNow().

◆ getType()

ManualLogEntry::getType ( )
Returns
string

Implements LogEntry.

Definition at line 466 of file ManualLogEntry.php.

References $type.

◆ insert()

ManualLogEntry::insert ( IDatabase  $dbw = null)

Insert the entry into the logging table.

Parameters
IDatabase | null$dbw
Returns
int ID of the log entry
Exceptions
MWException

Definition at line 299 of file ManualLogEntry.php.

References DB_PRIMARY, getTimestamp(), LogEntryBase\makeParamBlob(), wfGetDB(), and wfTimestampNow().

◆ isLegacy()

ManualLogEntry::isLegacy ( )
Since
1.25
Returns
bool

Reimplemented from LogEntryBase.

Definition at line 544 of file ManualLogEntry.php.

◆ publish()

ManualLogEntry::publish (   $newId,
  $to = 'rcandudp' 
)

Publish the log entry.

Parameters
int$newIdId of the log entry.
string$toOne of: rcandudp (default), rc, udp

Definition at line 411 of file ManualLogEntry.php.

References DeferredUpdates\addCallableUpdate(), ChangeTags\addTags(), DB_PRIMARY, MediaWiki\Logger\LoggerFactory\getInstance(), and wfGetDB().

◆ setAssociatedRevId()

ManualLogEntry::setAssociatedRevId (   $revId)

Set an associated revision id.

For example, the ID of the revision that was inserted to mark a page move or protection, file upload, etc.

Since
1.27
Parameters
int$revId

Definition at line 207 of file ManualLogEntry.php.

References $revId.

◆ setComment()

ManualLogEntry::setComment ( string  $comment)

Set a comment associated with the action being logged.

Since
1.19
Parameters
string$comment

Definition at line 194 of file ManualLogEntry.php.

References $comment.

◆ setDeleted()

ManualLogEntry::setDeleted (   $deleted)

Set the 'deleted' flag.

Since
1.19
Parameters
int$deletedOne of LogPage::DELETED_* bitfield constants

Definition at line 278 of file ManualLogEntry.php.

References $deleted.

◆ setForceBotFlag()

ManualLogEntry::setForceBotFlag ( bool  $forceBotFlag)

Set the bot flag in the recent changes to this value.

Since
1.40
Parameters
bool$forceBotFlag

Definition at line 288 of file ManualLogEntry.php.

◆ setIsPatrollable()

ManualLogEntry::setIsPatrollable (   $patrollable)

Set whether this log entry should be made patrollable This shouldn't depend on config, only on whether there is full support in the software for patrolling this log entry.

False by default

Since
1.27
Parameters
bool$patrollable

Definition at line 258 of file ManualLogEntry.php.

◆ setLegacy()

ManualLogEntry::setLegacy (   $legacy)

Set the 'legacy' flag.

Since
1.25
Parameters
bool$legacy

Definition at line 268 of file ManualLogEntry.php.

References $legacy.

◆ setParameters()

ManualLogEntry::setParameters (   $parameters)

Set extra log parameters.

You can pass params to the log action message by prefixing the keys with a number and optional type, using colons to separate the fields. The numbering should start with number 4 (matching the $4 message parameter), the first three parameters are hardcoded for every message ($1 is a link to the username and user talk page of the performing user, $2 is just the username (for determining gender), $3 is a link to the target page).

Typically, these parameters will be used in the logentry-<type>-<subtype> message, but custom formatters, declared via $wgLogActionsHandlers, can override that.

If you want to store stuff that should not be available in messages, don't prefix the array key with a number and don't use the colons. Parameters which should be searchable need to be set with setRelations() instead.

Example: $entry->setParameters( '4::color' => 'blue', '5:number:count' => 3000, 'animal' => 'dog' );

Since
1.19
Parameters
array$parametersAssociative array
See also
LogFormatter::formatParameterValue for valid parameter types and their meanings

Definition at line 136 of file ManualLogEntry.php.

References $parameters.

◆ setPerformer()

ManualLogEntry::setPerformer ( UserIdentity  $performer)

Set the user that performed the action being logged.

Since
1.19
Parameters
UserIdentity$performer

Definition at line 157 of file ManualLogEntry.php.

References $performer.

◆ setRelations()

ManualLogEntry::setRelations ( array  $relations)

Declare arbitrary tag/value relations to this log entry.

These can be used to filter log entries later on.

Parameters
array$relationsMap of (tag => (list of values|value))
Since
1.22

Definition at line 147 of file ManualLogEntry.php.

References $relations.

◆ setTags()

ManualLogEntry::setTags (   $tags)

Set change tags for the log entry.

Passing null means the same as empty array, for compatibility with WikiPage::doUpdateRestrictions().

Since
1.27
Parameters
string | string[] | null$tags
Deprecated:
since 1.33 Please use addTags() instead. Hard deprecated since 1.39.

Definition at line 222 of file ManualLogEntry.php.

References addTags(), wfDebug(), and wfDeprecated().

◆ setTarget()

ManualLogEntry::setTarget (   $target)

Set the title of the object changed.

Parameters
LinkTarget | PageReference$targetcalling with LinkTarget is deprecated since 1.37
Since
1.19

Definition at line 168 of file ManualLogEntry.php.

References $target.

◆ setTimestamp()

ManualLogEntry::setTimestamp (   $timestamp)

Set the timestamp of when the logged action took place.

Since
1.19
Parameters
string$timestampCan be in any format accepted by ConvertibleTimestamp

Definition at line 184 of file ManualLogEntry.php.

References $timestamp.

Member Data Documentation

◆ $comment

string ManualLogEntry::$comment = ''
protected

Comment for the log entry.

Definition at line 70 of file ManualLogEntry.php.

Referenced by setComment().

◆ $deleted

int ManualLogEntry::$deleted
protected

Deletion state of the log entry.

Definition at line 79 of file ManualLogEntry.php.

Referenced by setDeleted().

◆ $forceBotFlag

bool null ManualLogEntry::$forceBotFlag = null
protected

The bot flag in the recent changes will be set to this value.

Definition at line 91 of file ManualLogEntry.php.

◆ $id

int ManualLogEntry::$id
protected

ID of the log entry.

Definition at line 82 of file ManualLogEntry.php.

◆ $isPatrollable

bool ManualLogEntry::$isPatrollable = false
protected

Can this log entry be patrolled?

Definition at line 85 of file ManualLogEntry.php.

◆ $legacy

bool ManualLogEntry::$legacy = false
protected

Whether this is a legacy log entry.

Definition at line 88 of file ManualLogEntry.php.

Referenced by setLegacy().

◆ $parameters

array ManualLogEntry::$parameters = []
protected

Parameters for log entry.

Definition at line 55 of file ManualLogEntry.php.

Referenced by setParameters().

◆ $performer

UserIdentity ManualLogEntry::$performer
protected

Performer of the action for the log entry.

Definition at line 61 of file ManualLogEntry.php.

Referenced by setPerformer().

◆ $relations

array ManualLogEntry::$relations = []
protected

Definition at line 58 of file ManualLogEntry.php.

Referenced by setRelations().

◆ $revId

int ManualLogEntry::$revId = 0
protected

A rev id associated to the log entry.

Definition at line 73 of file ManualLogEntry.php.

Referenced by setAssociatedRevId().

◆ $subtype

string ManualLogEntry::$subtype
protected

Sub type of log entry.

Definition at line 52 of file ManualLogEntry.php.

Referenced by __construct().

◆ $tags

string [] ManualLogEntry::$tags = []
protected

Change tags add to the log entry.

Definition at line 76 of file ManualLogEntry.php.

Referenced by addTags().

◆ $target

Title ManualLogEntry::$target
protected

Target title for the log entry.

Definition at line 64 of file ManualLogEntry.php.

Referenced by setTarget().

◆ $timestamp

string ManualLogEntry::$timestamp
protected

Timestamp of creation of the log entry.

Definition at line 67 of file ManualLogEntry.php.

Referenced by setTimestamp().

◆ $type

string ManualLogEntry::$type
protected

Type of log entry.

Definition at line 49 of file ManualLogEntry.php.

Referenced by __construct().


The documentation for this class was generated from the following file: