summaryrefslogtreecommitdiff
path: root/includes/logging/PatrolLog.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/logging/PatrolLog.php')
-rw-r--r--includes/logging/PatrolLog.php53
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;
}
/**