Comments/includes/CommentsLogFormatter.php

41 行
1.2 KiB
PHP

<?php
/**
* Logging formatter for Comments' log entries.
*
* @file
* @date 28 July 2013
*/
class CommentsLogFormatter extends WikitextLogFormatter {
/**
* 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
* @return array
*/
protected function getMessageParameters() {
if ( isset( $this->parsedParameters ) ) {
return $this->parsedParameters;
}
$entry = $this->entry;
$params = $this->extractParameters();
$commentId = $params[3]; // = $4, because array numbering starts from 0
$params[0] = Message::rawParam( $this->getPerformerElement() );
$params[1] = $this->canView( LogPage::DELETED_USER ) ? $entry->getPerformer()->getName() : '';
$title = $entry->getTarget();
if ( $title instanceof Title ) { // healthy paranoia
$title->setFragment( '#comment-' . $commentId );
}
$params[2] = Message::rawParam( $this->makePageLink( $title ) );
// Bad things happens if the numbers are not in correct order
ksort( $params );
return $this->parsedParameters = $params;
}
}