*
* @param RecentChange|int $change RecentChange or corresponding rc_id
* @param bool $auto For automatic patrol
+ * @param string|string[] $tags Change tags to add to the patrol log entry
+ * ($user should be able to add the specified tags before this is called)
* @return array See doMarkPatrolled(), or null if $change is not an existing rc_id
*/
- public static function markPatrolled( $change, $auto = false ) {
+ public static function markPatrolled( $change, $auto = false, $tags = null ) {
global $wgUser;
$change = $change instanceof RecentChange
return null;
}
- return $change->doMarkPatrolled( $wgUser, $auto );
+ return $change->doMarkPatrolled( $wgUser, $auto, $tags );
}
/**
* 'markedaspatrollederror-noautopatrol' as errors
* @param User $user User object doing the action
* @param bool $auto For automatic patrol
+ * @param string|string[] $tags Change tags to add to the patrol log entry
+ * ($user should be able to add the specified tags before this is called)
* @return array Array of permissions errors, see Title::getUserPermissionsErrors()
*/
- public function doMarkPatrolled( User $user, $auto = false ) {
+ public function doMarkPatrolled( User $user, $auto = false, $tags = null ) {
global $wgUseRCPatrol, $wgUseNPPatrol, $wgUseFilePatrol;
+
$errors = [];
// If recentchanges patrol is disabled, only new pages or new file versions
// can be patrolled, provided the appropriate config variable is set
// Actually set the 'patrolled' flag in RC
$this->reallyMarkPatrolled();
// Log this patrol event
- PatrolLog::record( $this, $auto, $user );
+ PatrolLog::record( $this, $auto, $user, $tags );
+
Hooks::run(
- 'MarkPatrolledComplete',
- [ $this->getAttribute( 'rc_id' ), &$user, false, $auto ]
+ 'MarkPatrolledComplete',
+ [ $this->getAttribute( 'rc_id' ), &$user, false, $auto ]
);
return [];