diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2013-01-18 16:46:04 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2013-01-18 16:46:04 +0100 |
commit | 63601400e476c6cf43d985f3e7b9864681695ed4 (patch) | |
tree | f7846203a952e38aaf66989d0a4702779f549962 /includes/logging/PatrolLog.php | |
parent | 8ff01378c9e0207f9169b81966a51def645b6a51 (diff) |
Update to MediaWiki 1.20.2
this update includes:
* adjusted Arch Linux skin
* updated FluxBBAuthPlugin
* patch for https://bugzilla.wikimedia.org/show_bug.cgi?id=44024
Diffstat (limited to 'includes/logging/PatrolLog.php')
-rw-r--r-- | includes/logging/PatrolLog.php | 53 |
1 files changed, 37 insertions, 16 deletions
diff --git a/includes/logging/PatrolLog.php b/includes/logging/PatrolLog.php index 04fdc4f2..911fffc0 100644 --- a/includes/logging/PatrolLog.php +++ b/includes/logging/PatrolLog.php @@ -1,12 +1,31 @@ <?php - /** - * Class containing static functions for working with - * logs of patrol events + * Specific methods for the patrol log. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * + * @file * @author Rob Church <robchur@gmail.com> * @author Niklas Laxström */ + +/** + * Class containing static functions for working with + * logs of patrol events + */ class PatrolLog { /** @@ -14,10 +33,11 @@ class PatrolLog { * * @param $rc Mixed: change identifier or RecentChange object * @param $auto Boolean: was this patrol event automatic? + * @param $user User: user performing the action or null to use $wgUser * * @return bool */ - public static function record( $rc, $auto = false ) { + public static function record( $rc, $auto = false, User $user = null ) { if ( !$rc instanceof RecentChange ) { $rc = RecentChange::newFromId( $rc ); if ( !is_object( $rc ) ) { @@ -25,19 +45,20 @@ class PatrolLog { } } - $title = Title::makeTitleSafe( $rc->getAttribute( 'rc_namespace' ), $rc->getAttribute( 'rc_title' ) ); - if( $title ) { - $entry = new ManualLogEntry( 'patrol', 'patrol' ); - $entry->setTarget( $title ); - $entry->setParameters( self::buildParams( $rc, $auto ) ); - $entry->setPerformer( User::newFromName( $rc->getAttribute( 'rc_user_text' ), false ) ); - $logid = $entry->insert(); - if ( !$auto ) { - $entry->publish( $logid, 'udp' ); - } - return true; + if ( !$user ) { + global $wgUser; + $user = $wgUser; + } + + $entry = new ManualLogEntry( 'patrol', 'patrol' ); + $entry->setTarget( $rc->getTitle() ); + $entry->setParameters( self::buildParams( $rc, $auto ) ); + $entry->setPerformer( $user ); + $logid = $entry->insert(); + if ( !$auto ) { + $entry->publish( $logid, 'udp' ); } - return false; + return true; } /** |