- /**
- * Produce SQL for the query
- *
- * @param $dbr Database handle
- * @return string
- */
- private function makeSql( $dbr ) {
- list( $page, $pagelinks ) = $dbr->tableNamesN( 'page', 'pagelinks' );
- $nsset = $this->makeNsSet();
- return "SELECT COUNT(DISTINCT page_id) AS pagecount " .
- "FROM $page, $pagelinks " .
- "WHERE pl_from=page_id and page_namespace IN ( $nsset ) " .
- "AND page_is_redirect = 0 AND page_len > 0";
- }
-
- /**
- * Count the number of valid content pages in the wiki
- *
- * @return mixed Integer, or false if there's a problem
- */
- private function count() {
- $dbr = wfGetDB( DB_SLAVE );
- $res = $dbr->query( $this->makeSql( $dbr ), __METHOD__ );
- $row = $dbr->fetchObject( $res );
- return $row ? $row->pagecount : false;
+ $this->output( "found {$result}.\n" );
+ if ( $this->hasOption( 'update' ) ) {
+ $this->output( "Updating site statistics table... " );
+ $dbw = $this->getDB( DB_MASTER );
+ $dbw->update(
+ 'site_stats',
+ [ 'ss_good_articles' => $result ],
+ [ 'ss_row_id' => 1 ],
+ __METHOD__
+ );
+ $this->output( "done.\n" );
+ } else {
+ $this->output( "To update the site statistics table, run the script "
+ . "with the --update option.\n" );
+ }