X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2FCategoryViewer.php;h=b95f274406d88ec483d8a8c009ece8c5c36106fc;hp=8dd3f5c5162ccce06bc43bbebde91b03a652d373;hb=7874fc4bec845ad92960b07e969c65f3c3fe74f2;hpb=59280c4c929dc9c073e48879d3d44d5e55499c1c diff --git a/includes/CategoryViewer.php b/includes/CategoryViewer.php index 8dd3f5c516..b95f274406 100644 --- a/includes/CategoryViewer.php +++ b/includes/CategoryViewer.php @@ -19,6 +19,7 @@ * * @file */ +use MediaWiki\MediaWikiServices; class CategoryViewer extends ContextSource { /** @var int */ @@ -286,7 +287,7 @@ class CategoryViewer extends ContextSource { } function doCategoryQuery() { - $dbr = wfGetDB( DB_SLAVE, 'category' ); + $dbr = wfGetDB( DB_REPLICA, 'category' ); $this->nextPage = [ 'page' => null, @@ -317,10 +318,21 @@ class CategoryViewer extends ContextSource { $res = $dbr->select( [ 'page', 'categorylinks', 'category' ], - [ 'page_id', 'page_title', 'page_namespace', 'page_len', - 'page_is_redirect', 'cl_sortkey', 'cat_id', 'cat_title', - 'cat_subcats', 'cat_pages', 'cat_files', - 'cl_sortkey_prefix', 'cl_collation' ], + array_merge( + LinkCache::getSelectFields(), + [ + 'page_namespace', + 'page_title', + 'cl_sortkey', + 'cat_id', + 'cat_title', + 'cat_subcats', + 'cat_pages', + 'cat_files', + 'cl_sortkey_prefix', + 'cl_collation' + ] + ), array_merge( [ 'cl_to' => $this->title->getDBkey() ], $extraConds ), __METHOD__, [ @@ -338,10 +350,13 @@ class CategoryViewer extends ContextSource { ); Hooks::run( 'CategoryViewer::doCategoryQuery', [ $type, $res ] ); + $linkCache = MediaWikiServices::getInstance()->getLinkCache(); $count = 0; foreach ( $res as $row ) { $title = Title::newFromRow( $row ); + $linkCache->addGoodLinkObjFromRow( $title, $row ); + if ( $row->cl_collation === '' ) { // Hack to make sure that while updating from 1.16 schema // and db is inconsistent, that the sky doesn't fall.