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

Reply via email to