From f6d65e533c62f6deb21342d4901ece24497b433e Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Thu, 4 Jun 2015 07:31:04 +0200 Subject: Update to MediaWiki 1.25.1 --- includes/api/ApiQueryBase.php | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) (limited to 'includes/api/ApiQueryBase.php') diff --git a/includes/api/ApiQueryBase.php b/includes/api/ApiQueryBase.php index 65e10ab7..a15754ce 100644 --- a/includes/api/ApiQueryBase.php +++ b/includes/api/ApiQueryBase.php @@ -70,6 +70,10 @@ abstract class ApiQueryBase extends ApiBase { /** * Override this method to request extra fields from the pageSet * using $pageSet->requestField('fieldName') + * + * Note this only makes sense for 'prop' modules, as 'list' and 'meta' + * modules should not be using the pageset. + * * @param ApiPageSet $pageSet */ public function requestExtraData( $pageSet ) { @@ -90,6 +94,13 @@ abstract class ApiQueryBase extends ApiBase { return $this->mQueryModule; } + /** + * @see ApiBase::getParent() + */ + public function getParent() { + return $this->getQuery(); + } + /** * Get the Query database connection (read-only) * @return DatabaseBase @@ -361,12 +372,7 @@ abstract class ApiQueryBase extends ApiBase { isset( $extraQuery['join_conds'] ) ? (array)$extraQuery['join_conds'] : array() ); - // getDB has its own profileDBIn/Out calls - $db = $this->getDB(); - - $this->profileDBIn(); - $res = $db->select( $tables, $fields, $where, $method, $options, $join_conds ); - $this->profileDBOut(); + $res = $this->getDB()->select( $tables, $fields, $where, $method, $options, $join_conds ); return $res; } @@ -450,7 +456,7 @@ abstract class ApiQueryBase extends ApiBase { */ protected function addPageSubItems( $pageId, $data ) { $result = $this->getResult(); - $result->setIndexedTagName( $data, $this->getModulePrefix() ); + ApiResult::setIndexedTagName( $data, $this->getModulePrefix() ); return $result->addValue( array( 'query', 'pages', intval( $pageId ) ), $this->getModuleName(), @@ -475,7 +481,7 @@ abstract class ApiQueryBase extends ApiBase { if ( !$fit ) { return false; } - $result->setIndexedTagName_internal( array( 'query', 'pages', $pageId, + $result->addIndexedTagName( array( 'query', 'pages', $pageId, $this->getModuleName() ), $elemname ); return true; @@ -487,7 +493,7 @@ abstract class ApiQueryBase extends ApiBase { * @param string|array $paramValue Parameter value */ protected function setContinueEnumParameter( $paramName, $paramValue ) { - $this->getResult()->setContinueParam( $this, $paramName, $paramValue ); + $this->getContinuationManager()->addContinueParam( $this, $paramName, $paramValue ); } /** @@ -502,7 +508,8 @@ abstract class ApiQueryBase extends ApiBase { */ public function titlePartToKey( $titlePart, $namespace = NS_MAIN ) { $t = Title::makeTitleSafe( $namespace, $titlePart . 'x' ); - if ( !$t ) { + if ( !$t || $t->hasFragment() ) { + // Invalid title (e.g. bad chars) or contained a '#'. $this->dieUsageMsg( array( 'invalidtitle', $titlePart ) ); } if ( $namespace != $t->getNamespace() || $t->isExternal() ) { @@ -578,7 +585,6 @@ abstract class ApiQueryBase extends ApiBase { protected function checkRowCount() { wfDeprecated( __METHOD__, '1.24' ); $db = $this->getDB(); - $this->profileDBIn(); $rowcount = $db->estimateRowCount( $this->tables, $this->fields, @@ -586,7 +592,6 @@ abstract class ApiQueryBase extends ApiBase { __METHOD__, $this->options ); - $this->profileDBOut(); if ( $rowcount > $this->getConfig()->get( 'APIMaxDBRows' ) ) { return false; @@ -705,12 +710,23 @@ abstract class ApiQueryGeneratorBase extends ApiQueryBase { */ protected function setContinueEnumParameter( $paramName, $paramValue ) { if ( $this->mGeneratorPageSet !== null ) { - $this->getResult()->setGeneratorContinueParam( $this, $paramName, $paramValue ); + $this->getContinuationManager()->addGeneratorContinueParam( $this, $paramName, $paramValue ); } else { parent::setContinueEnumParameter( $paramName, $paramValue ); } } + /** + * @see ApiBase::getHelpFlags() + * + * Corresponding messages: api-help-flag-generator + */ + protected function getHelpFlags() { + $flags = parent::getHelpFlags(); + $flags[] = 'generator'; + return $flags; + } + /** * Execute this module as a generator * @param ApiPageSet $resultPageSet All output should be appended to this object -- cgit v1.2.3-54-g00ecf