Merge "Move up devunt's name to Developers"
[lhc/web/wiklou.git] / includes / logging / PatrolLog.php
index 4f2a565..d1de2cd 100644 (file)
@@ -33,10 +33,12 @@ class PatrolLog {
         * @param int|RecentChange $rc Change identifier or RecentChange object
         * @param bool $auto Was this patrol event automatic?
         * @param User $user User performing the action or null to use $wgUser
+        * @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 bool
         */
-       public static function record( $rc, $auto = false, User $user = null ) {
+       public static function record( $rc, $auto = false, User $user = null, $tags = null ) {
                global $wgLogAutopatrol;
 
                // do not log autopatrolled edits if setting disables it
@@ -56,10 +58,13 @@ class PatrolLog {
                        $user = $wgUser;
                }
 
-               $entry = new ManualLogEntry( 'patrol', 'patrol' );
+               $action = $auto ? 'autopatrol' : 'patrol';
+
+               $entry = new ManualLogEntry( 'patrol', $action );
                $entry->setTarget( $rc->getTitle() );
                $entry->setParameters( self::buildParams( $rc, $auto ) );
                $entry->setPerformer( $user );
+               $entry->setTags( $tags );
                $logid = $entry->insert();
                if ( !$auto ) {
                        $entry->publish( $logid, 'udp' );
@@ -76,10 +81,10 @@ class PatrolLog {
         * @return array
         */
        private static function buildParams( $change, $auto ) {
-               return array(
+               return [
                        '4::curid' => $change->getAttribute( 'rc_this_oldid' ),
                        '5::previd' => $change->getAttribute( 'rc_last_oldid' ),
                        '6::auto' => (int)$auto
-               );
+               ];
        }
 }