Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
CirrusSearchApiQuerySiteInfoGeneralInfoHook
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 onAPIQuerySiteInfoGeneralInfo
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace CirrusSearch\Hooks;
4
5use MediaWiki\Api\Hook\APIQuerySiteInfoGeneralInfoHook;
6use Wikimedia\Rdbms\IConnectionProvider;
7
8class CirrusSearchApiQuerySiteInfoGeneralInfoHook implements APIQuerySiteInfoGeneralInfoHook {
9
10    private $dbProvider;
11
12    public function __construct( IConnectionProvider $dbProvider ) {
13        $this->dbProvider = $dbProvider;
14    }
15
16    public function onAPIQuerySiteInfoGeneralInfo( $module, &$result ) {
17        $dbr = $this->dbProvider->getReplicaDatabase( false, 'api' );
18        $result['max-page-id'] = (int)$dbr->newSelectQueryBuilder()
19            ->select( 'MAX(page_id)' )
20            ->from( 'page' )
21            ->caller( __METHOD__ )
22            ->fetchField();
23    }
24}