jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/376281 )
Change subject: Hygiene: Refactor SkinMinerva so it doesn't use MobilePage ...................................................................... Hygiene: Refactor SkinMinerva so it doesn't use MobilePage MobilePage is provided by MobileFrontend and replicates functionality in core. Let's invest more in those core interfaces. It's a bit of a maze, so I think there's probably a cleaner way of doing this... Change-Id: Iea0a3121841c4774eb117168b1cfc8c2e1e24a0c --- M includes/skins/SkinMinerva.php 1 file changed, 30 insertions(+), 8 deletions(-) Approvals: Pmiazga: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/skins/SkinMinerva.php b/includes/skins/SkinMinerva.php index ee57b5b..2028150 100644 --- a/includes/skins/SkinMinerva.php +++ b/includes/skins/SkinMinerva.php @@ -729,8 +729,6 @@ $isMainPage = $title->isMainPage(); // Get rev_timestamp of current revision (preloaded by MediaWiki core) $timestamp = $this->getOutput()->getRevisionTimestamp(); - $mp = new MobilePage( $this->getTitle(), false ); - $mp->setLatestTimestamp( $timestamp ); // Main pages tend to include transclusions (see bug 51924) if ( $isMainPage ) { $lastModified = $this->msg( 'mobile-frontend-history' )->plain(); @@ -748,17 +746,41 @@ $historyUrl = $title->getLocalURL( [ 'action' => 'history' ] ); } - $edit = $mp->getLatestEdit(); - $link = [ + $editor = $this->getRevisionEditor( Revision::newFromTitle( $title ) ); + return [ // Use $edit['timestamp'] (Unix format) instead of $timestamp (MW format) - 'data-timestamp' => $isMainPage ? '' : $edit['timestamp'], + 'data-timestamp' => $isMainPage ? '' : wfTimestamp( TS_UNIX, $timestamp ), 'href' => $historyUrl, 'text' => $lastModified, - 'data-user-name' => $edit['name'], - 'data-user-gender' => $edit['gender'], + 'data-user-name' => $editor ? $editor['name'] : '', + 'data-user-gender' => $editor ? $editor['gender'] : '' ]; - return $link; } + + /** + * Returns the editor of a current revision. + * There appears to be no shorthand method for this in core. + * @return array|false representing user with name and gender fields. False if the editor no longer + * exists in the database or is hidden from public view + */ + private function getRevisionEditor( Revision $rev ) { + $editorName = ''; + $editorGender = ''; + $revUserId = $rev->getUser(); + // Note the user will only be returned if that information is public + if ( $revUserId ) { + $revUser = User::newFromId( $revUserId ); + $editorName = $revUser->getName(); + $editorGender = $revUser->getOption( 'gender' ); + } else { + return false; + } + return [ + 'name' => $editorName, + 'gender' => $editorGender, + ]; + } + /** * Returns the HTML representing the tagline * @return string HTML for tagline -- To view, visit https://gerrit.wikimedia.org/r/376281 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Iea0a3121841c4774eb117168b1cfc8c2e1e24a0c Gerrit-PatchSet: 6 Gerrit-Project: mediawiki/skins/MinervaNeue Gerrit-Branch: master Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org> Gerrit-Reviewer: Jdlrobson <jrob...@wikimedia.org> Gerrit-Reviewer: Pmiazga <pmia...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits