* @param string $name Name to assign to the database connection
* @param int $db One of the DB_* constants
* @param array $groups Query groups
- * @return DatabaseBase
+ * @return Database
*/
public function getNamedDB( $name, $db, $groups ) {
if ( !array_key_exists( $name, $this->mNamedDB ) ) {
// Write the continuation data into the result
$this->setContinuationManager( null );
if ( $this->mParams['rawcontinue'] ) {
+ $data = $continuationManager->getRawNonContinuation();
+ if ( $data ) {
+ $this->getResult()->addValue( null, 'query-noncontinue', $data,
+ ApiResult::ADD_ON_TOP | ApiResult::NO_SIZE_CHECK );
+ }
$data = $continuationManager->getRawContinuation();
if ( $data ) {
$this->getResult()->addValue( null, 'query-continue', $data,
ApiBase::dieDebug( __METHOD__, 'Error instantiating module' );
}
if ( !$wasPosted && $instance->mustBePosted() ) {
- $this->dieUsageMsgOrDebug( [ 'mustbeposted', $moduleName ] );
+ $this->dieWithErrorOrDebug( [ 'apierror-mustbeposted', $moduleName ] );
}
// Ignore duplicates. TODO 2.0: die()?
if ( !array_key_exists( $moduleName, $modules ) ) {
$vals = [];
ApiQueryBase::addTitleInfo( $vals, $title );
$vals['missing'] = true;
+ if ( $title->isKnown() ) {
+ $vals['known'] = true;
+ }
$pages[$fakeId] = $vals;
}
// Report any invalid titles
foreach ( $pageSet->getMissingPageIDs() as $pageid ) {
$pages[$pageid] = [
'pageid' => $pageid,
- 'missing' => true
+ 'missing' => true,
];
}
// Report special pages
$vals = [];
ApiQueryBase::addTitleInfo( $vals, $title );
$vals['special'] = true;
- if ( $title->isSpecialPage() &&
- !SpecialPageFactory::exists( $title->getDBkey() )
- ) {
- $vals['missing'] = true;
- } elseif ( $title->getNamespace() == NS_MEDIA &&
- !wfFindFile( $title )
- ) {
+ if ( !$title->isKnown() ) {
$vals['missing'] = true;
}
$pages[$fakeId] = $vals;
}
if ( !$fit ) {
- $this->dieUsage(
- 'The value of $wgAPIMaxResultSize on this wiki is ' .
- 'too small to hold basic result information',
- 'badconfig'
- );
+ $this->dieWithError( 'apierror-badconfig-resulttoosmall', 'badconfig' );
}
if ( $this->mParams['export'] ) {