*
* @file
*/
+use MediaWiki\ChangeTags\Taggable;
/**
* Utility class for creating new RC entries
* we're having to include both rc_comment and rc_comment_text/rc_comment_data
* so random crap works right.
*/
-class RecentChange {
+class RecentChange implements Taggable {
// Constants for the rc_source field. Extensions may also have
// their own source constants.
const SRC_EDIT = 'mw.edit';
public function doMarkPatrolled( User $user, $auto = false, $tags = null ) {
global $wgUseRCPatrol, $wgUseNPPatrol, $wgUseFilePatrol;
+ // Fix up $tags so that the MarkPatrolled hook below always gets an array
+ if ( $tags === null ) {
+ $tags = [];
+ } elseif ( is_string( $tags ) ) {
+ $tags = [ $tags ];
+ }
+
$errors = [];
// If recentchanges patrol is disabled, only new pages or new file versions
// can be patrolled, provided the appropriate config variable is set
$right = $auto ? 'autopatrol' : 'patrol';
$errors = array_merge( $errors, $this->getTitle()->getUserPermissionsErrors( $right, $user ) );
if ( !Hooks::run( 'MarkPatrolled',
- [ $this->getAttribute( 'rc_id' ), &$user, false, $auto ] )
+ [ $this->getAttribute( 'rc_id' ), &$user, false, $auto, &$tags ] )
) {
$errors[] = [ 'hookaborted' ];
}
*
* @since 1.28
*
- * @param string|array $tags
+ * @param string|string[] $tags
*/
public function addTags( $tags ) {
if ( is_string( $tags ) ) {