Merge "Move up devunt's name to Developers"
[lhc/web/wiklou.git] / includes / api / ApiClearHasMsg.php
1 <?php
2
3 /**
4 * Created on August 26, 2014
5 *
6 * Copyright © 2014 Petr Bena (benapetr@gmail.com)
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License along
19 * with this program; if not, write to the Free Software Foundation, Inc.,
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 * http://www.gnu.org/copyleft/gpl.html
22 *
23 * @file
24 */
25
26 /**
27 * API module that clears the hasmsg flag for current user
28 * @ingroup API
29 */
30 class ApiClearHasMsg extends ApiBase {
31 public function execute() {
32 $user = $this->getUser();
33 if ( $this->getRequest()->wasPosted() ) {
34 $user->setNewtalk( false );
35 } else {
36 DeferredUpdates::addCallableUpdate( function () use ( $user ) {
37 $user->setNewtalk( false );
38 } );
39 }
40 $this->getResult()->addValue( null, $this->getModuleName(), 'success' );
41 }
42
43 public function isWriteMode() {
44 return true;
45 }
46
47 public function mustBePosted() {
48 return false;
49 }
50
51 protected function getExamplesMessages() {
52 return [
53 'action=clearhasmsg'
54 => 'apihelp-clearhasmsg-example-1',
55 ];
56 }
57
58 public function getHelpUrls() {
59 return 'https://www.mediawiki.org/wiki/API:ClearHasMsg';
60 }
61 }