]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - includes/actions/UnwatchAction.php
MediaWiki 1.30.2-scripts
[autoinstalls/mediawiki.git] / includes / actions / UnwatchAction.php
1 <?php
2 /**
3  * Performs the unwatch actions on a page
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
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
18  *
19  * @file
20  * @ingroup Actions
21  */
22
23 /**
24  * Page removal from a user's watchlist
25  *
26  * @ingroup Actions
27  */
28 class UnwatchAction extends WatchAction {
29
30         public function getName() {
31                 return 'unwatch';
32         }
33
34         public function onSubmit( $data ) {
35                 self::doUnwatch( $this->getTitle(), $this->getUser() );
36
37                 return true;
38         }
39
40         protected function getFormFields() {
41                 return [
42                         'intro' => [
43                                 'type' => 'info',
44                                 'vertical-label' => true,
45                                 'raw' => true,
46                                 'default' => $this->msg( 'confirm-unwatch-top' )->parse()
47                         ]
48                 ];
49         }
50
51         protected function alterForm( HTMLForm $form ) {
52                 parent::alterForm( $form );
53                 $form->setWrapperLegendMsg( 'removewatch' );
54                 $form->setSubmitTextMsg( 'confirm-unwatch-button' );
55         }
56
57         public function onSuccess() {
58                 $msgKey = $this->getTitle()->isTalkPage() ? 'removedwatchtext-talk' : 'removedwatchtext';
59                 $this->getOutput()->addWikiMsg( $msgKey, $this->getTitle()->getPrefixedText() );
60         }
61
62         public function doesWrites() {
63                 return true;
64         }
65 }