* @return string|bool
*/
public function recentChangesLine( &$rc, $watched = false, $linenumber = null ) {
-
$classes = $this->getHTMLClasses( $rc, $watched );
// use mw-line-even/mw-line-odd class only if linenumber is given (feature from T16468)
if ( $linenumber ) {
$rc->mAttribs['rc_namespace'] . '-' . $rc->mAttribs['rc_title'] );
}
+ $attribs = $this->getDataAttributes( $rc );
+
// Avoid PHP 7.1 warning from passing $this by reference
$list = $this;
- if ( !Hooks::run( 'OldChangesListRecentChangesLine', [ &$list, &$html, $rc, &$classes ] ) ) {
+ if ( !Hooks::run( 'OldChangesListRecentChangesLine',
+ [ &$list, &$html, $rc, &$classes, &$attribs ] )
+ ) {
return false;
}
+ $attribs = wfArrayFilterByKey( $attribs, [ Sanitizer::class, 'isReservedDataAttribute' ] );
$dateheader = ''; // $html now contains only <li>...</li>, for hooks' convenience.
$this->insertDateHeader( $dateheader, $rc->mAttribs['rc_timestamp'] );
- return "$dateheader<li class=\"" . implode( ' ', $classes ) . "\">" . $html . "</li>\n";
+ $attribs['class'] = implode( ' ', $classes );
+
+ return $dateheader . Html::rawElement( 'li', $attribs, $html ) . "\n";
}
/**