Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 24 |
|
0.00% |
0 / 4 |
CRAP | |
0.00% |
0 / 1 |
PageTriageAddDeletionTagPresentationModel | |
0.00% |
0 / 24 |
|
0.00% |
0 / 4 |
42 | |
0.00% |
0 / 1 |
getIconType | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getSecondaryLinks | |
0.00% |
0 / 5 |
|
0.00% |
0 / 1 |
6 | |||
getHeaderMessage | |
0.00% |
0 / 4 |
|
0.00% |
0 / 1 |
2 | |||
getDiscussionLink | |
0.00% |
0 / 14 |
|
0.00% |
0 / 1 |
6 |
1 | <?php |
2 | |
3 | namespace MediaWiki\Extension\PageTriage\Notifications; |
4 | |
5 | use MediaWiki\Title\Title; |
6 | |
7 | class PageTriageAddDeletionTagPresentationModel extends PageTriagePresentationModel { |
8 | /** |
9 | * @inheritDoc |
10 | */ |
11 | public function getIconType() { |
12 | return 'trash'; |
13 | } |
14 | |
15 | /** |
16 | * @inheritDoc |
17 | */ |
18 | public function getSecondaryLinks() { |
19 | $links = [ $this->getAgentLink() ]; |
20 | $discussionLink = $this->getDiscussionLink(); |
21 | if ( $discussionLink ) { |
22 | $links[] = $discussionLink; |
23 | } |
24 | return $links; |
25 | } |
26 | |
27 | /** |
28 | * @inheritDoc |
29 | */ |
30 | public function getHeaderMessage() { |
31 | $msg = parent::getHeaderMessage(); |
32 | |
33 | // parent adds agent & gender, this adds title as 3rd param, tag list as |
34 | // 4th & amount of tags as 5th (for PLURAL) |
35 | $msg->params( $this->getTruncatedTitleText( $this->event->getTitle(), true ) ); |
36 | $msg->params( $this->getTagsForOutput() ); |
37 | |
38 | return $msg; |
39 | } |
40 | |
41 | /** |
42 | * @return array|false |
43 | */ |
44 | private function getDiscussionLink() { |
45 | if ( !in_array( 'afd', $this->getTags() ) ) { |
46 | return false; |
47 | } |
48 | |
49 | $pageName = $this->event->getTitle()->getText(); |
50 | $discussionPage = Title::newFromText( "Wikipedia:Articles for deletion/$pageName" ); |
51 | $user = $this->getViewingUserForGender(); |
52 | $labelMsg = $this->msg( 'pagetriage-discuss-link' )->params( $user ); |
53 | $descMsg = $this->msg( 'pagetriage-discuss-link-title' )->params( $user ); |
54 | return [ |
55 | 'label' => $labelMsg->text(), |
56 | 'url' => $discussionPage->getFullURL(), |
57 | 'icon' => 'speechBubbles', |
58 | 'description' => $descMsg->text(), |
59 | 'prioritized' => true, |
60 | ]; |
61 | } |
62 | } |