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
$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 );
$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'] = [
*/
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 ) {
}
}
- // 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 ) {