From: Umherirrender Date: Sat, 22 Sep 2018 13:40:05 +0000 (+0200) Subject: Pass title to Revision constructor in ContribsPager X-Git-Tag: 1.34.0-rc.0~3308^2 X-Git-Url: https://git.heureux-cyclage.org/?a=commitdiff_plain;h=b16e6343a0b3e650a3b9cc4cfd9ab0a75def98a3;p=lhc%2Fweb%2Fwiklou.git Pass title to Revision constructor in ContribsPager The information for a title already in the select result. Give it to Revision class to avoid extra Title::newFromId in Revision::ensureTitle for each row Change-Id: Ib8dd78f918bd0f3fe131f2a8ed9e659f87edd4a1 --- diff --git a/includes/specials/pagers/ContribsPager.php b/includes/specials/pagers/ContribsPager.php index 5cfc437906..510bf92770 100644 --- a/includes/specials/pagers/ContribsPager.php +++ b/includes/specials/pagers/ContribsPager.php @@ -415,9 +415,10 @@ class ContribsPager extends RangeChronologicalPager { * id then null is returned. * * @param object $row + * @param Title|null $title * @return Revision|null */ - public function tryToCreateValidRevision( $row ) { + public function tryToCreateValidRevision( $row, $title = null ) { /* * There may be more than just revision rows. To make sure that we'll only be processing * revisions here, let's _try_ to build a revision out of our row (without displaying @@ -427,7 +428,7 @@ class ContribsPager extends RangeChronologicalPager { */ Wikimedia\suppressWarnings(); try { - $rev = new Revision( $row ); + $rev = new Revision( $row, 0, $title ); $validRevision = (bool)$rev->getId(); } catch ( Exception $e ) { $validRevision = false; @@ -455,11 +456,16 @@ class ContribsPager extends RangeChronologicalPager { $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer(); - $rev = $this->tryToCreateValidRevision( $row ); + $page = null; + // Create a title for the revision if possible + // Rows from the hook may not include title information + if ( isset( $row->page_namespace ) && isset( $row->page_title ) ) { + $page = Title::newFromRow( $row ); + } + $rev = $this->tryToCreateValidRevision( $row, $page ); if ( $rev ) { $attribs['data-mw-revid'] = $rev->getId(); - $page = Title::newFromRow( $row ); $link = $linkRenderer->makeLink( $page, $page->getPrefixedText(),