Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
36.36% covered (danger)
36.36%
4 / 11
50.00% covered (danger)
50.00%
3 / 6
CRAP
0.00% covered (danger)
0.00%
0 / 1
ApiClearHasMsg
40.00% covered (danger)
40.00%
4 / 10
50.00% covered (danger)
50.00%
3 / 6
13.78
0.00% covered (danger)
0.00%
0 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 execute
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 isWriteMode
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 mustBePosted
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getExamplesMessages
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
 getHelpUrls
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3/**
4 * Copyright © 2014 Petr Bena (benapetr@gmail.com)
5 *
6 * @license GPL-2.0-or-later
7 * @file
8 */
9
10namespace MediaWiki\Api;
11
12use MediaWiki\User\TalkPageNotificationManager;
13
14/**
15 * API module that clears the hasmsg flag for current user
16 * @ingroup API
17 */
18class ApiClearHasMsg extends ApiBase {
19
20    public function __construct(
21        ApiMain $main,
22        string $action,
23        private readonly TalkPageNotificationManager $talkPageNotificationManager,
24    ) {
25        parent::__construct( $main, $action );
26    }
27
28    public function execute() {
29        $this->talkPageNotificationManager->removeUserHasNewMessages( $this->getUser() );
30
31        $this->getResult()->addValue( null, $this->getModuleName(), 'success' );
32    }
33
34    /** @inheritDoc */
35    public function isWriteMode() {
36        return true;
37    }
38
39    /** @inheritDoc */
40    public function mustBePosted() {
41        return true;
42    }
43
44    /** @inheritDoc */
45    protected function getExamplesMessages() {
46        return [
47            'action=clearhasmsg'
48                => 'apihelp-clearhasmsg-example-1',
49        ];
50    }
51
52    /** @inheritDoc */
53    public function getHelpUrls() {
54        return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:ClearHasMsg';
55    }
56}
57
58/** @deprecated class alias since 1.43 */
59class_alias( ApiClearHasMsg::class, 'ApiClearHasMsg' );