Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
UserMergeLogFormatter
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 3
42
0.00% covered (danger)
0.00%
0 / 1
 getMessageKey
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 getParameter
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
6
 extractParameters
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3class UserMergeLogFormatter extends LogFormatter {
4
5    /** @var int[] */
6    private static $mapLegacy = [
7        'oldName' => 0,
8        'oldId' => 1,
9        'newName' => 2,
10        'newId' => 3,
11    ];
12
13    /**
14     * @return string
15     */
16    protected function getMessageKey() {
17        if ( $this->entry->getSubtype() === 'deleteuser' ) {
18            return 'logentry-usermerge-deleteuser';
19        } else {
20            return 'logentry-usermerge-mergeuser';
21        }
22    }
23
24    /**
25     * @param string $param
26     * @return mixed
27     */
28    private function getParameter( $param ) {
29        $parameters = $this->entry->getParameters();
30        if ( $this->entry->isLegacy() ) {
31            $param = self::$mapLegacy[$param];
32        }
33        return $parameters[$param];
34    }
35
36    /**
37     * @return array
38     */
39    protected function extractParameters() {
40        $params = [];
41        // 0-2 are set in LogFormatter::getMessageParameters()
42        $params[3] = $this->getParameter( 'oldName' );
43        $params[4] = $this->getParameter( 'oldId' );
44        if ( $this->entry->getSubtype() !== 'deleteuser' ) {
45            $params[5] = $this->formatParameterValue(
46                'user-link', $this->getParameter( 'newName' ) );
47            $params[6] = $this->getParameter( 'newId' );
48            $params[7] = $this->formatParameterValue(
49                'user', $this->getParameter( 'newName' ) );
50        }
51        return $params;
52    }
53
54}