From 6c2abce86730381baf32d43d92bea3c2e6060ae7 Mon Sep 17 00:00:00 2001 From: Sam Reed Date: Wed, 4 Aug 2010 20:47:58 +0000 Subject: [PATCH] Make search enforced by API in search by setting PARAM_REQUIRED Same for ApiQueryCategoryMembers and ApiWatch title params More followup to r70461 --- includes/api/ApiQueryCategoryMembers.php | 9 +++++---- includes/api/ApiQuerySearch.php | 10 ++++------ includes/api/ApiWatch.php | 6 +++++- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/includes/api/ApiQueryCategoryMembers.php b/includes/api/ApiQueryCategoryMembers.php index d0919d0278..1eb7a0486f 100644 --- a/includes/api/ApiQueryCategoryMembers.php +++ b/includes/api/ApiQueryCategoryMembers.php @@ -54,9 +54,6 @@ class ApiQueryCategoryMembers extends ApiQueryGeneratorBase { private function run( $resultPageSet = null ) { $params = $this->extractRequestParams(); - if ( !isset( $params['title'] ) || is_null( $params['title'] ) ) { - $this->dieUsage( 'The cmtitle parameter is required', 'notitle' ); - } $categoryTitle = Title::newFromText( $params['title'] ); if ( is_null( $categoryTitle ) || $categoryTitle->getNamespace() != NS_CATEGORY ) { @@ -208,7 +205,11 @@ class ApiQueryCategoryMembers extends ApiQueryGeneratorBase { public function getAllowedParams() { return array( - 'title' => null, + 'title' => array( + ApiBase::PARAM_TYPE => 'string', + ApiBase::PARAM_REQUIRED => true + ), + 'prop' => array( ApiBase::PARAM_DFLT => 'ids|title', ApiBase::PARAM_ISMULTI => true, diff --git a/includes/api/ApiQuerySearch.php b/includes/api/ApiQuerySearch.php index 2527307657..a5fc7b3333 100644 --- a/includes/api/ApiQuerySearch.php +++ b/includes/api/ApiQuerySearch.php @@ -58,10 +58,6 @@ class ApiQuerySearch extends ApiQueryGeneratorBase { $searchInfo = array_flip( $params['info'] ); $prop = array_flip( $params['prop'] ); - if ( strval( $query ) === '' ) { - $this->dieUsage( 'empty search string is not allowed', 'param-search' ); - } - // Create search engine instance and set options $search = SearchEngine::create(); $search->setLimitOffset( $limit + 1, $params['offset'] ); @@ -170,7 +166,10 @@ class ApiQuerySearch extends ApiQueryGeneratorBase { public function getAllowedParams() { return array( - 'search' => null, + 'search' => array( + ApiBase::PARAM_TYPE => 'string', + ApiBase::PARAM_REQUIRED => true + ), 'namespace' => array( ApiBase::PARAM_DFLT => 0, ApiBase::PARAM_TYPE => 'namespace', @@ -239,7 +238,6 @@ class ApiQuerySearch extends ApiQueryGeneratorBase { public function getPossibleErrors() { return array_merge( parent::getPossibleErrors(), array( - array( 'code' => 'param-search', 'info' => 'empty search string is not allowed' ), array( 'code' => 'search-text-disabled', 'info' => 'text search is disabled' ), array( 'code' => 'search-title-disabled', 'info' => 'title search is disabled' ), ) ); diff --git a/includes/api/ApiWatch.php b/includes/api/ApiWatch.php index f0532f995d..c63bef6ed8 100644 --- a/includes/api/ApiWatch.php +++ b/includes/api/ApiWatch.php @@ -76,7 +76,11 @@ class ApiWatch extends ApiBase { public function getAllowedParams() { return array( - 'title' => null, + 'title' => array( + ApiBase::PARAM_TYPE => 'string', + ApiBase::PARAM_REQUIRED => true + ), + 'unwatch' => false, ); } -- 2.20.1