Translate extension for MediaWiki
 
Loading...
Searching...
No Matches
TranslateLogFormatter.php
Go to the documentation of this file.
1<?php
12
16class TranslateLogFormatter extends LogFormatter {
17 public function getMessageParameters() {
18 $params = parent::getMessageParameters();
19
20 $type = $this->entry->getFullType();
21
22 if ( $type === 'translationreview/message' ) {
23 $targetPage = $this->makePageLink(
24 $this->entry->getTarget(),
25 [ 'oldid' => $params[3] ]
26 );
27
28 $params[2] = Message::rawParam( $targetPage );
29 } elseif ( $type === 'translationreview/group' ) {
30 /*
31 * - 3: language code
32 * - 4: label of the message group
33 * - 5: old state
34 * - 6: new state
35 */
36
37 $uiLanguage = $this->context->getLanguage();
38 $language = $params[3];
39
40 $targetPage = $this->makePageLinkWithText(
41 $this->entry->getTarget(),
42 $params[4],
43 [ 'language' => $language ]
44 );
45
46 // @phan-suppress-next-line SecurityCheck-XSS Unlikely. Positive only if language code & mg label are bad
47 $params[2] = Message::rawParam( $targetPage );
48 $params[3] = Utilities::getLanguageName( $language, $uiLanguage->getCode() );
49 $params[5] = $this->formatStateMessage( $params[5] );
50 $params[6] = $this->formatStateMessage( $params[6] );
51 } elseif ( $type === 'translatorsandbox/rejected' ) {
52 // No point linking to the user page which cannot have existed
53 $params[2] = $this->entry->getTarget()->getText();
54 } elseif ( $type === 'translatorsandbox/promoted' ) {
55 // Gender for the target
56 $params[3] = User::newFromId( $params[3] )->getName();
57 }
58
59 return $params;
60 }
61
62 protected function formatStateMessage( $value ) {
63 $message = $this->msg( "translate-workflow-state-$value" );
64
65 return $message->isBlank() ? $value : $message->text();
66 }
67
75 protected function makePageLinkWithText(
76 ?Title $title, $text, array $parameters = []
77 ) {
78 if ( !$this->plaintext ) {
79 $link = $this->getLinkRenderer()->makeLink( $title, $text, [], $parameters );
80 } else {
81 $target = '***';
82 if ( $title instanceof Title ) {
83 $target = $title->getPrefixedText();
84 }
85 $link = "[[$target|$text]]";
86 }
87
88 return $link;
89 }
90}
Essentially random collection of helper functions, similar to GlobalFunctions.php.
Definition Utilities.php:31
Class for formatting Translate logs.
makePageLinkWithText(?Title $title, $text, array $parameters=[])