Make search enforced by API in search by setting PARAM_REQUIRED
authorSam Reed <reedy@users.mediawiki.org>
Wed, 4 Aug 2010 20:47:58 +0000 (20:47 +0000)
committerSam Reed <reedy@users.mediawiki.org>
Wed, 4 Aug 2010 20:47:58 +0000 (20:47 +0000)
Same for ApiQueryCategoryMembers and ApiWatch title params

More followup to r70461

includes/api/ApiQueryCategoryMembers.php
includes/api/ApiQuerySearch.php
includes/api/ApiWatch.php

index d0919d0..1eb7a04 100644 (file)
@@ -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,
index 2527307..a5fc7b3 100644 (file)
@@ -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' ),
                ) );
index f0532f9..c63bef6 100644 (file)
@@ -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,
                );
        }