/**
* Contain classes to list log entries
*
- * Copyright © 2004 Brion Vibber <brion@pobox.com>, 2008 Aaron Schulz
+ * Copyright © 2004 Brion Vibber <brion@pobox.com>
* https://www.mediawiki.org/
*
* This program is free software; you can redistribute it and/or modify
*/
use MediaWiki\MediaWikiServices;
+use Wikimedia\Rdbms\IDatabase;
class LogEventsList extends ContextSource {
const NO_ACTION_LINK = 1;
// For B/C, we take strings, but make sure they are converted...
$types = ( $types === '' ) ? [] : (array)$types;
- $tagSelector = ChangeTags::buildTagFilterSelector( $tagFilter );
+ $tagSelector = ChangeTags::buildTagFilterSelector( $tagFilter, false, $this->getContext() );
$html = Html::hidden( 'title', $title->getPrefixedDBkey() );
[ 'mw-logline-' . $entry->getType() ],
$newClasses
);
+ $attribs = [
+ 'data-mw-logid' => $entry->getId(),
+ 'data-mw-logaction' => $entry->getFullType(),
+ ];
+ $ret = "$del $time $action $comment $revert $tagDisplay";
+
+ // Let extensions add data
+ Hooks::run( 'LogEventsListLineEnding', [ $this, &$ret, $entry, &$classes, &$attribs ] );
+ $attribs = wfArrayFilterByKey( $attribs, [ Sanitizer::class, 'isReservedDataAttribute' ] );
+ $attribs['class'] = implode( ' ', $classes );
- return Html::rawElement( 'li', [ 'class' => $classes ],
- "$del $time $action $comment $revert $tagDisplay" ) . "\n";
+ return Html::rawElement( 'li', $attribs, $ret ) . "\n";
}
/**
* @param string $user The user who made the log entries
* @param array $param Associative Array with the following additional options:
* - lim Integer Limit of items to show, default is 50
- * - conds Array Extra conditions for the query (e.g. "log_action != 'revision'")
+ * - conds Array Extra conditions for the query
+ * (e.g. 'log_action != ' . $dbr->addQuotes( 'revision' ))
* - showIfEmpty boolean Set to false if you don't want any output in case the loglist is empty
* if set to true (default), "No matching items in log" is displayed if loglist is empty
* - msgKey Array If you want a nice box with a message, set this to the key of the message.