Merge "Add mw-changeslist-(log|ns)-* class to OldChangesList as well"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 29 Feb 2016 08:25:50 +0000 (08:25 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 29 Feb 2016 08:25:50 +0000 (08:25 +0000)
includes/changes/ChangesList.php
includes/changes/EnhancedChangesList.php
includes/changes/OldChangesList.php

index 485d523..15432da 100644 (file)
@@ -139,6 +139,34 @@ class ChangesList extends ContextSource {
                return $f;
        }
 
+       /**
+        * Get an array of default HTML class attributes for the change.
+        *
+        * @param RecentChange|RCCacheEntry $rc
+        * @param string|bool $watched Optionally timestamp for adding watched class
+        *
+        * @return array of classes
+        */
+       protected function getHTMLClasses( $rc, $watched ) {
+               $classes = [];
+               $logType = $rc->mAttribs['rc_log_type'];
+
+               if ( $logType ) {
+                       $classes[] = Sanitizer::escapeClass( 'mw-changeslist-log-' . $logType );
+               } else {
+                       $classes[] = Sanitizer::escapeClass( 'mw-changeslist-ns' .
+                               $rc->mAttribs['rc_namespace'] . '-' . $rc->mAttribs['rc_title'] );
+               }
+
+               // Indicate watched status on the line to allow for more
+               // comprehensive styling.
+               $classes[] = $watched && $rc->mAttribs['rc_timestamp'] >= $watched
+                       ? 'mw-changeslist-line-watched'
+                       : 'mw-changeslist-line-not-watched';
+
+               return $classes;
+       }
+
        /**
         * Provide the "<abbr>" element appropriate to a given abbreviated flag,
         * namely the flag indicating a new page, a minor edit, a bot edit, or an
index 99cfeec..4a028bb 100644 (file)
@@ -577,7 +577,9 @@ class EnhancedChangesList extends ChangesList {
 
                $type = $rcObj->mAttribs['rc_type'];
                $logType = $rcObj->mAttribs['rc_log_type'];
-               $classes = [ 'mw-enhanced-rc' ];
+               $classes = $this->getHTMLClasses( $rcObj, $rcObj->watched );
+               $classes[] = 'mw-enhanced-rc';
+
                if ( $logType ) {
                        # Log entry
                        $classes[] = Sanitizer::escapeClass( 'mw-changeslist-log-' . $logType );
@@ -585,8 +587,6 @@ class EnhancedChangesList extends ChangesList {
                        $classes[] = Sanitizer::escapeClass( 'mw-changeslist-ns' .
                                $rcObj->mAttribs['rc_namespace'] . '-' . $rcObj->mAttribs['rc_title'] );
                }
-               $classes[] = $rcObj->watched && $rcObj->mAttribs['rc_timestamp'] >= $rcObj->watched
-                       ? 'mw-changeslist-line-watched' : 'mw-changeslist-line-not-watched';
 
                # Flag and Timestamp
                $data['recentChangesFlags'] = [
index ff311f2..576718a 100644 (file)
@@ -33,7 +33,7 @@ class OldChangesList extends ChangesList {
         */
        public function recentChangesLine( &$rc, $watched = false, $linenumber = null ) {
 
-               $classes = [];
+               $classes = $this->getHTMLClasses( $rc, $watched );
                // use mw-line-even/mw-line-odd class only if linenumber is given (feature from bug 14468)
                if ( $linenumber ) {
                        if ( $linenumber & 1 ) {
@@ -43,11 +43,6 @@ class OldChangesList extends ChangesList {
                        }
                }
 
-               // Indicate watched status on the line to allow for more
-               // comprehensive styling.
-               $classes[] = $watched && $rc->mAttribs['rc_timestamp'] >= $watched
-                       ? 'mw-changeslist-line-watched' : 'mw-changeslist-line-not-watched';
-
                $html = $this->formatChangeLine( $rc, $classes, $watched );
 
                if ( $this->watchlist ) {