Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 37
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
LqtLogFormatter
0.00% covered (danger)
0.00%
0 / 37
0.00% covered (danger)
0.00%
0 / 1
132
0.00% covered (danger)
0.00%
0 / 1
 getActionMessage
0.00% covered (danger)
0.00%
0 / 37
0.00% covered (danger)
0.00%
0 / 1
132
1<?php
2
3use MediaWiki\Message\Message;
4use MediaWiki\SpecialPage\SpecialPage;
5use MediaWiki\Title\Title;
6
7// Contains formatter functions for all log entry types.
8class LqtLogFormatter extends LogFormatter {
9    protected function getActionMessage() {
10        $action = $this->entry->getSubtype();
11        $title = $this->entry->getTarget();
12        $parameters = $this->entry->getParameters();
13
14        $msg = "lqt-log-action-$action";
15
16        switch ( $action ) {
17            case 'merge':
18                if ( $parameters[0] ) {
19                    $msg = 'lqt-log-action-merge-across';
20                } else {
21                    $msg = 'lqt-log-action-merge-down';
22                }
23                break;
24            case 'move':
25                $smt = new SpecialMoveThread;
26                $rightsCheck = $smt->checkUserRights(
27                    $parameters[1] instanceof Title ? $parameters[1] : Title::newFromText( $parameters[1] ),
28                    $parameters[0] instanceof Title ? $parameters[0] : Title::newFromText( $parameters[0] )
29                );
30
31                if ( $rightsCheck === true ) {
32                    $parameters[] = Message::rawParam( $this->getLinkRenderer()->makeLink(
33                        SpecialPage::getTitleFor( 'MoveThread', $title ),
34                        wfMessage( 'revertmove' )->text(),
35                        [],
36                        [ 'dest' => $parameters[0] ]
37                    ) );
38                } else {
39                    $parameters[] = '';
40                }
41                break;
42            default:
43                // Give grep a chance to find the usages:
44                // lqt-log-action-move, lqt-log-action-split, lqt-log-action-subjectedit,
45                // lqt-log-action-resort, lqt-log-action-signatureedit
46                $msg = "lqt-log-action-$action";
47                break;
48        }
49
50        array_unshift( $parameters, $title->getPrefixedText() );
51        $html = wfMessage( $msg, $parameters );
52
53        if ( $this->plaintext ) {
54            $html = StringUtils::delimiterReplace( '<', '>', '', $html->inContentLanguage()->parse() );
55        } else {
56            $html = $html->parse();
57        }
58
59        if ( !$this->irctext ) {
60            $performer = $this->getPerformerElement();
61            $sep = $this->msg( 'word-separator' );
62            $sep = $this->plaintext ? $sep->text() : $sep->escaped();
63            $html = $performer . $sep . $html;
64        }
65
66        return $html;
67    }
68}