X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/mediawiki.git/blobdiff_plain/d75ce11339b35963b5f8c3d53190819c1c025716..19e297c21b10b1b8a3acad5e73fc71dcb35db44a:/includes/api/ApiWatch.php diff --git a/includes/api/ApiWatch.php b/includes/api/ApiWatch.php index 391d91e2..81ded180 100644 --- a/includes/api/ApiWatch.php +++ b/includes/api/ApiWatch.php @@ -1,11 +1,10 @@ @gmail.com, + * Created on Jan 4, 2008 + * + * Copyright © 2008 Yuri Astrakhan @gmail.com, * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,13 +18,15 @@ * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html + * + * @file */ if ( !defined( 'MEDIAWIKI' ) ) { // Eclipse helper - will be ignored in production - require_once ( 'ApiBase.php' ); + require_once( 'ApiBase.php' ); } /** @@ -36,35 +37,37 @@ if ( !defined( 'MEDIAWIKI' ) ) { class ApiWatch extends ApiBase { public function __construct( $main, $action ) { - parent :: __construct( $main, $action ); + parent::__construct( $main, $action ); } public function execute() { global $wgUser; - if ( !$wgUser->isLoggedIn() ) + if ( !$wgUser->isLoggedIn() ) { $this->dieUsage( 'You must be logged-in to have a watchlist', 'notloggedin' ); + } $params = $this->extractRequestParams(); $title = Title::newFromText( $params['title'] ); - if ( !$title ) + if ( !$title ) { $this->dieUsageMsg( array( 'invalidtitle', $params['title'] ) ); + } $article = new Article( $title ); $res = array( 'title' => $title->getPrefixedText() ); - if ( $params['unwatch'] ) - { + if ( $params['unwatch'] ) { $res['unwatched'] = ''; + $res['message'] = wfMsgExt( 'removedwatchtext', array( 'parse' ), $title->getPrefixedText() ); $success = $article->doUnwatch(); - } - else - { + } else { $res['watched'] = ''; + $res['message'] = wfMsgExt( 'addedwatchtext', array( 'parse' ), $title->getPrefixedText() ); $success = $article->doWatch(); } - if ( !$success ) + if ( !$success ) { $this->dieUsageMsg( array( 'hookaborted' ) ); + } $this->getResult()->addValue( null, $this->getModuleName(), $res ); } @@ -73,25 +76,27 @@ class ApiWatch extends ApiBase { } public function getAllowedParams() { - return array ( - 'title' => null, + return array( + 'title' => array( + ApiBase::PARAM_TYPE => 'string', + ApiBase::PARAM_REQUIRED => true + ), + 'unwatch' => false, ); } public function getParamDescription() { - return array ( + return array( 'title' => 'The page to (un)watch', 'unwatch' => 'If set the page will be unwatched rather than watched', ); } public function getDescription() { - return array ( - 'Add or remove a page from/to the current user\'s watchlist' - ); + return 'Add or remove a page from/to the current user\'s watchlist'; } - + public function getPossibleErrors() { return array_merge( parent::getPossibleErrors(), array( array( 'code' => 'notloggedin', 'info' => 'You must be logged-in to have a watchlist' ), @@ -103,11 +108,11 @@ class ApiWatch extends ApiBase { protected function getExamples() { return array( 'api.php?action=watch&title=Main_Page', - 'api.php?action=watch&title=Main_Page&unwatch', + 'api.php?action=watch&title=Main_Page&unwatch=', ); } public function getVersion() { - return __CLASS__ . ': $Id: ApiWatch.php 69578 2010-07-20 02:46:20Z tstarling $'; + return __CLASS__ . ': $Id$'; } }