MediaWiki  REL1_22
PatrolLog.php
Go to the documentation of this file.
00001 <?php
00029 class PatrolLog {
00030 
00040     public static function record( $rc, $auto = false, User $user = null ) {
00041         global $wgLogAutopatrol;
00042 
00043         // do not log autopatrolled edits if setting disables it
00044         if ( $auto && !$wgLogAutopatrol ) {
00045             return false;
00046         }
00047 
00048         if ( !$rc instanceof RecentChange ) {
00049             $rc = RecentChange::newFromId( $rc );
00050             if ( !is_object( $rc ) ) {
00051                 return false;
00052             }
00053         }
00054 
00055         if ( !$user ) {
00056             global $wgUser;
00057             $user = $wgUser;
00058         }
00059 
00060         $entry = new ManualLogEntry( 'patrol', 'patrol' );
00061         $entry->setTarget( $rc->getTitle() );
00062         $entry->setParameters( self::buildParams( $rc, $auto ) );
00063         $entry->setPerformer( $user );
00064         $logid = $entry->insert();
00065         if ( !$auto ) {
00066             $entry->publish( $logid, 'udp' );
00067         }
00068         return true;
00069     }
00070 
00078     private static function buildParams( $change, $auto ) {
00079         return array(
00080             '4::curid' => $change->getAttribute( 'rc_this_oldid' ),
00081             '5::previd' => $change->getAttribute( 'rc_last_oldid' ),
00082             '6::auto' => (int)$auto
00083         );
00084     }
00085 
00086 }