MediaWiki  REL1_19
PatrolLog.php
Go to the documentation of this file.
00001 <?php
00002 
00010 class PatrolLog {
00011 
00020         public static function record( $rc, $auto = false ) {
00021                 if ( !$rc instanceof RecentChange ) {
00022                         $rc = RecentChange::newFromId( $rc );
00023                         if ( !is_object( $rc ) ) {
00024                                 return false;
00025                         }
00026                 }
00027 
00028                 $title = Title::makeTitleSafe( $rc->getAttribute( 'rc_namespace' ), $rc->getAttribute( 'rc_title' ) );
00029                 if( $title ) {
00030                         $entry = new ManualLogEntry( 'patrol', 'patrol' );
00031                         $entry->setTarget( $title );
00032                         $entry->setParameters( self::buildParams( $rc, $auto ) );
00033                         $entry->setPerformer( User::newFromName( $rc->getAttribute( 'rc_user_text' ), false ) );
00034                         $logid = $entry->insert();
00035                         if ( !$auto ) {
00036                                 $entry->publish( $logid, 'udp' );
00037                         }
00038                         return true;
00039                 }
00040                 return false;
00041         }
00042 
00050         private static function buildParams( $change, $auto ) {
00051                 return array(
00052                         '4::curid' => $change->getAttribute( 'rc_this_oldid' ),
00053                         '5::previd' => $change->getAttribute( 'rc_last_oldid' ),
00054                         '6::auto' => (int)$auto
00055                 );
00056         }
00057 
00058 }