Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 29 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 1 |
MentorChangeLogFormatter | |
0.00% |
0 / 29 |
|
0.00% |
0 / 3 |
110 | |
0.00% |
0 / 1 |
extractParameters | |
0.00% |
0 / 14 |
|
0.00% |
0 / 1 |
30 | |||
getMessageParameters | |
0.00% |
0 / 3 |
|
0.00% |
0 / 1 |
2 | |||
getPreloadTitles | |
0.00% |
0 / 12 |
|
0.00% |
0 / 1 |
20 |
1 | <?php |
2 | |
3 | namespace GrowthExperiments\Mentorship; |
4 | |
5 | use LogFormatter; |
6 | use MediaWiki\Title\Title; |
7 | |
8 | class MentorChangeLogFormatter extends LogFormatter { |
9 | |
10 | /** |
11 | * @inheritDoc |
12 | */ |
13 | protected function extractParameters() { |
14 | $params = parent::extractParameters(); |
15 | switch ( $this->entry->getSubtype() ) { |
16 | case 'claimmentee': |
17 | // logentry-growthexperiments-claimmentee |
18 | // @phan-suppress-next-line SecurityCheck-XSS |
19 | $params[4] = $this->formatParameterValue( 'user-link', $params[3] ); |
20 | // no break here |
21 | case 'claimmentee-no-previous-mentor': |
22 | // logentry-growthexperiments-claimmentee-no-previous-mentor |
23 | $params[5] = $this->formatParameterValue( 'user', $this->entry->getTarget()->getText() ); |
24 | break; |
25 | case 'setmentor': |
26 | // logentry-growthexperiments-setmentor |
27 | // @phan-suppress-next-line SecurityCheck-XSS |
28 | $params[7] = $this->formatParameterValue( 'user-link', $params[3] ); |
29 | // no break here |
30 | case 'setmentor-no-previous-mentor': |
31 | // logentry-growthexperiments-setmentor-no-previous-mentor |
32 | $params[5] = $this->formatParameterValue( 'user', $this->entry->getTarget()->getText() ); |
33 | // @phan-suppress-next-line SecurityCheck-XSS |
34 | $params[6] = $this->formatParameterValue( 'user-link', $params[4] ); |
35 | break; |
36 | } |
37 | return $params; |
38 | } |
39 | |
40 | /** |
41 | * @inheritDoc |
42 | */ |
43 | protected function getMessageParameters() { |
44 | $params = parent::getMessageParameters(); |
45 | // remove "User:" prefix |
46 | $params[2] = $this->formatParameterValue( 'user-link', $this->entry->getTarget()->getText() ); |
47 | return $params; |
48 | } |
49 | |
50 | /** |
51 | * @inheritDoc |
52 | */ |
53 | public function getPreloadTitles() { |
54 | // Add the mentee's and mentors' user pages to LinkBatch |
55 | $params = parent::getMessageParameters(); |
56 | $links = []; |
57 | switch ( $this->entry->getSubtype() ) { |
58 | case 'claimmentee': |
59 | $links[] = Title::makeTitle( NS_USER, $params[3] ); |
60 | break; |
61 | case 'setmentor': |
62 | $links[] = Title::makeTitle( NS_USER, $params[3] ); |
63 | // no break here |
64 | case 'setmentor-no-previous-mentor': |
65 | $links[] = Title::makeTitle( NS_USER, $params[4] ); |
66 | break; |
67 | } |
68 | return $links; |
69 | } |
70 | |
71 | } |