Commit stuff from my w/c
[lhc/web/wiklou.git] / includes / api / ApiQueryLogEvents.php
index eb1ec56..34dcc59 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * API for MediaWiki 1.8+
+ *
  *
  * Created on Oct 16, 2006
  *
@@ -40,6 +40,11 @@ class ApiQueryLogEvents extends ApiQueryBase {
                parent::__construct( $query, $moduleName, 'le' );
        }
 
+       private $fld_ids = false, $fld_title = false, $fld_type = false,
+               $fld_action = false, $fld_user = false, $fld_userid = false,
+               $fld_timestamp = false, $fld_comment = false, $fld_parsedcomment = false,
+               $fld_details = false, $fld_tags = false;
+
        public function execute() {
                $params = $this->extractRequestParams();
                $db = $this->getDB();
@@ -51,6 +56,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                $this->fld_type = isset( $prop['type'] );
                $this->fld_action = isset ( $prop['action'] );
                $this->fld_user = isset( $prop['user'] );
+               $this->fld_userid = isset( $prop['userid'] );
                $this->fld_timestamp = isset( $prop['timestamp'] );
                $this->fld_comment = isset( $prop['comment'] );
                $this->fld_parsedcomment = isset ( $prop['parsedcomment'] );
@@ -84,6 +90,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                $this->addFieldsIf( 'page_id', $this->fld_ids );
                $this->addFieldsIf( 'log_user', $this->fld_user );
                $this->addFieldsIf( 'user_name', $this->fld_user );
+               $this->addFieldsIf( 'user_id', $this->fld_userid );
                $this->addFieldsIf( 'log_namespace', $this->fld_title || $this->fld_parsedcomment );
                $this->addFieldsIf( 'log_title', $this->fld_title || $this->fld_parsedcomment );
                $this->addFieldsIf( 'log_comment', $this->fld_comment || $this->fld_parsedcomment );
@@ -173,6 +180,15 @@ class ApiQueryLogEvents extends ApiQueryBase {
                $this->getResult()->setIndexedTagName_internal( array( 'query', $this->getModuleName() ), 'item' );
        }
 
+       /**
+        * @static
+        * @param $result ApiResult
+        * @param $vals
+        * @param $params
+        * @param $type
+        * @param $ts
+        * @return array
+        */
        public static function addLogParams( $result, &$vals, $params, $type, $ts ) {
                $params = explode( "\n", $params );
                switch ( $type ) {
@@ -259,11 +275,17 @@ class ApiQueryLogEvents extends ApiQueryBase {
                        }
                }
 
-               if ( $this->fld_user ) {
+               if ( $this->fld_user || $this->fld_userid ) {
                        if ( LogEventsList::isDeleted( $row, LogPage::DELETED_USER ) ) {
                                $vals['userhidden'] = '';
                        } else {
-                               $vals['user'] = $row->user_name;
+                               if ( $this->fld_user ) {
+                                       $vals['user'] = $row->user_name;
+                               }
+                               if ( $this->fld_userid ) {
+                                       $vals['userid'] = $row->user_id;
+                               }
+
                                if ( !$row->log_user ) {
                                        $vals['anon'] = '';
                                }
@@ -321,6 +343,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                                        'title',
                                        'type',
                                        'user',
+                                       'userid',
                                        'timestamp',
                                        'comment',
                                        'parsedcomment',
@@ -364,10 +387,11 @@ class ApiQueryLogEvents extends ApiQueryBase {
                return array(
                        'prop' => array(
                                'Which properties to get',
-                               ' ids            - Adds the id of the log event',
+                               ' ids            - Adds the ID of the log event',
                                ' title          - Adds the title of the page for the log event',
                                ' type           - Adds the type of log event',
                                ' user           - Adds the user responsible for the log event',
+                               ' userid         - Adds the user ID who was responsible for the log event',
                                ' timestamp      - Adds the timestamp for the event',
                                ' comment        - Adds the comment of the event',
                                ' parsedcomment  - Adds the parsed comment of the event',