MediaWiki  1.23.12
LogFormatter Class Reference

Implements the default log formatting. More...

Inheritance diagram for LogFormatter:
Collaboration diagram for LogFormatter:

Public Member Functions

 getActionLinks ()
 Returns extra links that comes after the action text, like "revert", etc. More...
 
 getActionText ()
 Gets the log action, including username. More...
 
 getComment ()
 Gets the user provided comment. More...
 
 getIRCActionComment ()
 Even uglier hack to maintain backwards compatibilty with IRC bots (bug 34508). More...
 
 getIRCActionText ()
 Even uglier hack to maintain backwards compatibilty with IRC bots (bug 34508). More...
 
 getMessageParametersForTesting ()
 
 getPerformerElement ()
 Provides the name of the user who performed the log action. More...
 
 getPlainActionText ()
 Ugly hack to produce plaintext version of the message. More...
 
 getPreloadTitles ()
 
 setAudience ( $audience)
 Set the visibility restrictions for displaying content. More...
 
 setContext (IContextSource $context)
 Replace the default context. More...
 
 setShowUserToolLinks ( $value)
 If set to true, will produce user tool links after the user name. More...
 

Static Public Member Functions

static newFromEntry (LogEntry $entry)
 Constructs a new formatter suitable for given entry. More...
 
static newFromRow ( $row)
 Handy shortcut for constructing a formatter directly from database row. More...
 

Public Attributes

const FOR_PUBLIC = 1
 
const FOR_THIS_USER = 2
 

Protected Member Functions

 __construct (LogEntry $entry)
 
 canView ( $field)
 Check if a log item can be displayed. More...
 
 extractParameters ()
 Extracts the optional extra parameters for use in action messages. More...
 
 formatParameterValue ( $type, $value)
 Formats parameters values dependent to their type. More...
 
 getActionMessage ()
 Returns a sentence describing the log action. More...
 
 getMessageKey ()
 Returns a key to be used for formatting the action sentence. More...
 
 getMessageParameters ()
 Formats parameters intented for action message from array of all parameters. More...
 
 getRestrictedElement ( $message)
 Helper method for displaying restricted element. More...
 
 makePageLink (Title $title=null, $parameters=array())
 Helper to make a link to the page, taking the plaintext value in consideration. More...
 
 makeUserLink (User $user)
 
 msg ( $key)
 Shortcut for wfMessage which honors local context. More...
 
 styleRestricedElement ( $content)
 Helper method for styling restricted element. More...
 

Protected Attributes

Integer $audience = self::FOR_PUBLIC
 Constant for handling log_deleted *. More...
 
LogEntryBase $entry
 
string $irctext = false
 
bool $linkFlood = false
 Whether to output user tool links *. More...
 
string $plaintext = false
 Set to true if we are constructing a message text that is going to be included in page history or send to IRC feed. More...
 

Detailed Description

Implements the default log formatting.

Can be overridden by subclassing and setting $wgLogActionsHandlers['type/subtype'] = 'class'; or $wgLogActionsHandlers['type/*'] = 'class';

Since
1.19

Definition at line 33 of file LogFormatter.php.

Constructor & Destructor Documentation

◆ __construct()

LogFormatter::__construct ( LogEntry  $entry)
protected

Definition at line 93 of file LogFormatter.php.

References $entry, and RequestContext\getMain().

Member Function Documentation

◆ canView()

LogFormatter::canView (   $field)
protected

Check if a log item can be displayed.

Parameters
int$fieldLogPage::DELETED_* constant
Returns
bool

Definition at line 123 of file LogFormatter.php.

References LogEventsList\userCanBitfield().

Referenced by getActionText(), getComment(), getMessageParameters(), and getPerformerElement().

◆ extractParameters()

LogFormatter::extractParameters ( )
protected

Extracts the optional extra parameters for use in action messages.

The array indexes start from number 3.

Returns
array

Definition at line 395 of file LogFormatter.php.

References $entry, $params, $type, $value, array(), as, false, formatParameterValue(), LogEntry\getParameters(), LogEntryBase\isLegacy(), and list.

Referenced by MoveLogFormatter\getActionLinks(), DeleteLogFormatter\getActionLinks(), LegacyLogFormatter\getActionLinks(), getMessageParameters(), and MoveLogFormatter\getPreloadTitles().

◆ formatParameterValue()

LogFormatter::formatParameterValue (   $type,
  $value 
)
protected

Formats parameters values dependent to their type.

Parameters
string$typeThe type of the value. Valid are currently:
  • - (empty) or plain: The value is returned as-is
  • raw: The value will be added to the log message as raw parameter (e.g. no escaping) Use this only if there is no other working type like user-link or title-link
  • msg: The value is a message-key, the output is the message in user language
  • msg-content: The value is a message-key, the output is the message in content language
  • user: The value is a user name, e.g. for GENDER
  • user-link: The value is a user name, returns a link for the user
  • title: The value is a page title, returns name of page
  • title-link: The value is a page title, returns link to this page
  • number: Format value as number
string$valueThe parameter value that should be formated
Returns
string|Message::numParam|Message::rawParam Formated value
Since
1.21

Definition at line 484 of file LogFormatter.php.

References $linkFlood, $title, $type, $user, $value, makePageLink(), makeUserLink(), msg(), User\newFromName(), Title\newFromText(), and setShowUserToolLinks().

Referenced by extractParameters().

◆ getActionLinks()

LogFormatter::getActionLinks ( )

Returns extra links that comes after the action text, like "revert", etc.

Returns
string

Reimplemented in LegacyLogFormatter, DeleteLogFormatter, and MoveLogFormatter.

Definition at line 386 of file LogFormatter.php.

◆ getActionMessage()

LogFormatter::getActionMessage ( )
protected

Returns a sentence describing the log action.

Usually a Message object is returned, but old style log types and entries might return pre-escaped HTML string.

Returns
Message|string Pre-escaped HTML

Reimplemented in LegacyLogFormatter.

Definition at line 360 of file LogFormatter.php.

References getMessageKey(), getMessageParameters(), and msg().

Referenced by getActionText().

◆ getActionText()

LogFormatter::getActionText ( )

Gets the log action, including username.

Returns
string HTML

Definition at line 337 of file LogFormatter.php.

References canView(), LogPage\DELETED_ACTION, getActionMessage(), getPerformerElement(), getRestrictedElement(), msg(), and styleRestricedElement().

Referenced by getPlainActionText().

◆ getComment()

LogFormatter::getComment ( )

Gets the user provided comment.

Returns
string HTML

Reimplemented in LegacyLogFormatter, and NewUsersLogFormatter.

Definition at line 574 of file LogFormatter.php.

References $comment, canView(), Linker\commentBlock(), LogPage\DELETED_COMMENT, getRestrictedElement(), and styleRestricedElement().

◆ getIRCActionComment()

LogFormatter::getIRCActionComment ( )

Even uglier hack to maintain backwards compatibilty with IRC bots (bug 34508).

See also
getActionText()
Returns
string text

Definition at line 163 of file LogFormatter.php.

References $comment, getIRCActionText(), and wfMessage().

◆ getIRCActionText()

LogFormatter::getIRCActionText ( )

Even uglier hack to maintain backwards compatibilty with IRC bots (bug 34508).

See also
getActionText()
Returns
string text

Definition at line 184 of file LogFormatter.php.

References $entry, LogEntry\getParameters(), getPlainActionText(), LogEntry\getSubtype(), LogEntry\getTarget(), LogEntry\getType(), text, and wfMessage().

Referenced by getIRCActionComment().

◆ getMessageKey()

LogFormatter::getMessageKey ( )
protected

Returns a key to be used for formatting the action sentence.

Default is logentry-TYPE-SUBTYPE for modern logs. Legacy log types will use custom keys, and subclasses can also alter the key depending on the entry itself.

Returns
string Message key

Reimplemented in RightsLogFormatter, MoveLogFormatter, DeleteLogFormatter, and PatrolLogFormatter.

Definition at line 374 of file LogFormatter.php.

References $type.

Referenced by getActionMessage().

◆ getMessageParameters()

LogFormatter::getMessageParameters ( )
protected

Formats parameters intented for action message from array of all parameters.

There are three hardcoded parameters (array is zero-indexed, this list not):

  • 1: user name with premade link
  • 2: usable for gender magic function
  • 3: target page with premade link
    Returns
    array

Reimplemented in RightsLogFormatter, MoveLogFormatter, DeleteLogFormatter, PatrolLogFormatter, and NewUsersLogFormatter.

Definition at line 439 of file LogFormatter.php.

References $entry, $params, canView(), LogPage\DELETED_USER, extractParameters(), LogEntry\getPerformer(), getPerformerElement(), LogEntry\getTarget(), and makePageLink().

Referenced by getActionMessage(), and getMessageParametersForTesting().

◆ getMessageParametersForTesting()

LogFormatter::getMessageParametersForTesting ( )
Returns
array Output of getMessageParameters() for testing

Definition at line 659 of file LogFormatter.php.

References getMessageParameters().

◆ getPerformerElement()

LogFormatter::getPerformerElement ( )

Provides the name of the user who performed the log action.

Used as part of log action message or standalone, depending which parts of the log entry has been hidden.

Returns
string

Definition at line 556 of file LogFormatter.php.

References canView(), LogPage\DELETED_USER, getRestrictedElement(), makeUserLink(), and styleRestricedElement().

Referenced by LegacyLogFormatter\getActionMessage(), getActionText(), and getMessageParameters().

◆ getPlainActionText()

LogFormatter::getPlainActionText ( )

Ugly hack to produce plaintext version of the message.

Usually you also want to set extraneous request context to avoid formatting for any particular user.

See also
getActionText()
Returns
string Plain text

Definition at line 149 of file LogFormatter.php.

References getActionText().

Referenced by getIRCActionText().

◆ getPreloadTitles()

LogFormatter::getPreloadTitles ( )
Returns
array of titles that should be preloaded with LinkBatch.

Reimplemented in NewUsersLogFormatter, and MoveLogFormatter.

Definition at line 652 of file LogFormatter.php.

References array().

◆ getRestrictedElement()

LogFormatter::getRestrictedElement (   $message)
protected

Helper method for displaying restricted element.

Parameters
string$message
Returns
string HTML or wiki text

Definition at line 594 of file LogFormatter.php.

References $attribs, array(), msg(), and Html\rawElement().

Referenced by getActionText(), getComment(), and getPerformerElement().

◆ makePageLink()

LogFormatter::makePageLink ( Title  $title = null,
  $parameters = array() 
)
protected

Helper to make a link to the page, taking the plaintext value in consideration.

Parameters
Title$titleThe page
array$parametersQuery parameters
Exceptions
MWException
Returns
string

Reimplemented in RightsLogFormatter.

Definition at line 537 of file LogFormatter.php.

References $link, $title, array(), and Linker\link().

Referenced by formatParameterValue(), MoveLogFormatter\getMessageParameters(), and getMessageParameters().

◆ makeUserLink()

LogFormatter::makeUserLink ( User  $user)
protected

◆ msg()

◆ newFromEntry()

◆ newFromRow()

static LogFormatter::newFromRow (   $row)
static

Handy shortcut for constructing a formatter directly from database row.

Parameters
$row
See also
DatabaseLogEntry::getSelectQueryData
Returns
LogFormatter

Definition at line 71 of file LogFormatter.php.

References newFromEntry(), and DatabaseLogEntry\newFromRow().

Referenced by FeedUtils\formatDiff(), RevDel_LogItem\getHTML(), LogPager\getStartBody(), and ChangesList\insertLogEntry().

◆ setAudience()

LogFormatter::setAudience (   $audience)

Set the visibility restrictions for displaying content.

If set to public, and an item is deleted, then it will be replaced with a placeholder even if the context user is allowed to view it.

Parameters
int$audienceself::FOR_THIS_USER or self::FOR_PUBLIC

Definition at line 112 of file LogFormatter.php.

References $audience, and FOR_THIS_USER.

◆ setContext()

LogFormatter::setContext ( IContextSource  $context)

Replace the default context.

Parameters
IContextSource$context

Definition at line 102 of file LogFormatter.php.

◆ setShowUserToolLinks()

LogFormatter::setShowUserToolLinks (   $value)

If set to true, will produce user tool links after the user name.

This should be replaced with generic CSS/JS solution.

Parameters
bool$value

Definition at line 138 of file LogFormatter.php.

References $value.

Referenced by formatParameterValue().

◆ styleRestricedElement()

LogFormatter::styleRestricedElement (   $content)
protected

Helper method for styling restricted element.

Parameters
string$content
Returns
string HTML or wiki text

Definition at line 610 of file LogFormatter.php.

References $attribs, array(), and Html\rawElement().

Referenced by getActionText(), getComment(), and getPerformerElement().

Member Data Documentation

◆ $audience

Integer LogFormatter::$audience = self::FOR_PUBLIC
protected

Constant for handling log_deleted *.

Definition at line 79 of file LogFormatter.php.

Referenced by setAudience().

◆ $entry

◆ $irctext

string LogFormatter::$irctext = false
protected

Definition at line 91 of file LogFormatter.php.

◆ $linkFlood

bool LogFormatter::$linkFlood = false
protected

Whether to output user tool links *.

Definition at line 81 of file LogFormatter.php.

Referenced by formatParameterValue().

◆ $plaintext

string LogFormatter::$plaintext = false
protected

Set to true if we are constructing a message text that is going to be included in page history or send to IRC feed.

Links are replaced with plaintext or with [[pagename]] kind of syntax, that is parsed by page histories and IRC feeds.

Definition at line 89 of file LogFormatter.php.

◆ FOR_PUBLIC

const LogFormatter::FOR_PUBLIC = 1

Definition at line 35 of file LogFormatter.php.

◆ FOR_THIS_USER

const LogFormatter::FOR_THIS_USER = 2

Definition at line 36 of file LogFormatter.php.

Referenced by RevDel_LogItem\getHTML(), and setAudience().


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