X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Fchanges%2FEnhancedChangesList.php;h=ada02ce081460d27e72ec85103454551bbf95659;hb=39163edd17e0cc3ec7d87f9e3ac942e995d56326;hp=6c7666fba5ba2a1b7a16f0f180be753b67b1b832;hpb=9f026c24ec2f1e2b4374c77b42b6547f55848872;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/changes/EnhancedChangesList.php b/includes/changes/EnhancedChangesList.php index 6c7666fba5..ada02ce081 100644 --- a/includes/changes/EnhancedChangesList.php +++ b/includes/changes/EnhancedChangesList.php @@ -203,8 +203,7 @@ class EnhancedChangesList extends ChangesList { # Default values for RC flags $collectedRcFlags = []; foreach ( $recentChangesFlags as $key => $value ) { - $flagGrouping = ( isset( $recentChangesFlags[$key]['grouping'] ) ? - $recentChangesFlags[$key]['grouping'] : 'any' ); + $flagGrouping = ( $recentChangesFlags[$key]['grouping'] ?? 'any' ); switch ( $flagGrouping ) { case 'all': $collectedRcFlags[$key] = true; @@ -267,6 +266,7 @@ class EnhancedChangesList extends ChangesList { # Sub-entries $lines = []; + $filterClasses = []; foreach ( $block as $i => $rcObj ) { $line = $this->getLineData( $block, $rcObj, $queryParams ); if ( !$line ) { @@ -277,8 +277,7 @@ class EnhancedChangesList extends ChangesList { // Roll up flags foreach ( $line['recentChangesFlagsRaw'] as $key => $value ) { - $flagGrouping = ( isset( $recentChangesFlags[$key]['grouping'] ) ? - $recentChangesFlags[$key]['grouping'] : 'any' ); + $flagGrouping = ( $recentChangesFlags[$key]['grouping'] ?? 'any' ); switch ( $flagGrouping ) { case 'all': if ( !$value ) { @@ -295,12 +294,19 @@ class EnhancedChangesList extends ChangesList { } } + // Roll up filter-based CSS classes + $filterClasses = array_merge( $filterClasses, $this->getHTMLClassesForFilters( $rcObj ) ); + // Add classes for change tags separately, getHTMLClassesForFilters() doesn't add them + $this->getTags( $rcObj, $filterClasses ); + $filterClasses = array_unique( $filterClasses ); + $lines[] = $line; } // Further down are some assumptions that $block is a 0-indexed array // with (count-1) as last key. Let's make sure it is. $block = array_values( $block ); + $filterClasses = array_values( $filterClasses ); if ( empty( $block ) || !$lines ) { // if we can't show anything, don't display this block altogether @@ -341,6 +347,7 @@ class EnhancedChangesList extends ChangesList { 'articleLink' => $articleLink, 'charDifference' => $charDifference, 'collectedRcFlags' => $this->recentChangesFlags( $collectedRcFlags ), + 'filterClasses' => $filterClasses, 'languageDirMark' => $this->getLanguage()->getDirMark(), 'lines' => $lines, 'logText' => $logText, @@ -707,9 +714,14 @@ class EnhancedChangesList extends ChangesList { } $line = Html::openElement( 'table', $attribs ) . Html::openElement( 'tr' ); + // Highlight block + $line .= Html::rawElement( 'td', [], + $this->getHighlightsContainerDiv() + ); + $line .= Html::rawElement( 'td', [], '' ); $line .= Html::rawElement( 'td', [ 'class' => 'mw-changeslist-line-prefix' ], $prefix ); - $line .= ''; + $line .= ''; if ( isset( $data['recentChangesFlags'] ) ) { $line .= $this->recentChangesFlags( $data['recentChangesFlags'] ); @@ -717,10 +729,10 @@ class EnhancedChangesList extends ChangesList { } if ( isset( $data['timestampLink'] ) ) { - $line .= ' ' . $data['timestampLink']; + $line .= "\u{00A0}" . $data['timestampLink']; unset( $data['timestampLink'] ); } - $line .= ' '; + $line .= "\u{00A0}"; $line .= Html::openElement( 'td', [ 'class' => 'mw-changeslist-line-inner', // Used for reliable determination of the affiliated page