Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
EnablePresentationModel
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 4
30
0.00% covered (danger)
0.00%
0 / 1
 getIconType
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getPrimaryLink
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
 getSecondaryLinks
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
6
 getBodyMessage
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * Copyright (C) 2022 Kunal Mehta <legoktm@debian.org>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 * http://www.gnu.org/copyleft/gpl.html
19 */
20
21namespace MediaWiki\Extension\OATHAuth\Notifications;
22
23use MediaWiki\Extension\Notifications\Formatters\EchoEventPresentationModel;
24use MediaWiki\SpecialPage\SpecialPage;
25use MediaWiki\Title\Title;
26
27class EnablePresentationModel extends EchoEventPresentationModel {
28
29    /**
30     * @inheritDoc
31     */
32    public function getIconType() {
33        return 'site';
34    }
35
36    /**
37     * @inheritDoc
38     */
39    public function getPrimaryLink() {
40        return [
41            'url' => SpecialPage::getTitleFor( 'OATHManage' )->getLocalURL(),
42            'label' => $this->msg( 'oathauth-notifications-enable-primary' )->text()
43        ];
44    }
45
46    /**
47     * @inheritDoc
48     */
49    public function getSecondaryLinks() {
50        $link = $this->msg( 'oathauth-notifications-enable-helplink' )->inContentLanguage();
51        $title = Title::newFromText( $link->plain() );
52        if ( !$title ) {
53            // Invalid title, skip
54            return [];
55        }
56        return [ [
57            'url' => $title->getLocalURL(),
58            'label' => $this->msg( 'oathauth-notifications-enable-help' )->text(),
59            'icon' => 'help',
60        ] ];
61    }
62
63    /**
64     * @inheritDoc
65     */
66    public function getBodyMessage() {
67        return $this->getMessageWithAgent( 'notification-body-oathauth-enable' );
68    }
69}