MediaWiki
REL1_22
|
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 }