https://www.mediawiki.org/wiki/Special:Code/MediaWiki/112700

Revision: 112700
Author:   reedy
Date:     2012-02-29 17:50:02 +0000 (Wed, 29 Feb 2012)
Log Message:
-----------
Followup r112374/bug 34653

We still get legacy log entries, so grab the data from parameters as applicable

Should probably be encapsulated into DatabaseLogEntry itself, with a 
getParamValue esk wrapper

This fixes issues noticed on live site for the moment

TODO: Check if rights/block are still ok (probably not?)
TODO: If (especially if above needs doing) encapsulate grabbing of old/new 
parameters to logging code

Modified Paths:
--------------
    trunk/phase3/includes/api/ApiQueryLogEvents.php

Modified: trunk/phase3/includes/api/ApiQueryLogEvents.php
===================================================================
--- trunk/phase3/includes/api/ApiQueryLogEvents.php     2012-02-29 16:03:18 UTC 
(rev 112699)
+++ trunk/phase3/includes/api/ApiQueryLogEvents.php     2012-02-29 17:50:02 UTC 
(rev 112700)
@@ -197,27 +197,44 @@
         * @param $ts
         * @return array
         */
-       public static function addLogParams( $result, &$vals, $params, $type, 
$action, $ts ) {
+       public static function addLogParams( $result, &$vals, $params, $type, 
$action, $ts, $legacy = false ) {
                switch ( $type ) {
                        case 'move':
-                               if ( isset( $params[ '4::target' ] ) ) {
-                                       $title = Title::newFromText( $params[ 
'4::target' ] );
+                               if ( $legacy ){
+                                       $targetKey = 0;
+                                       $noredirKey = 1;
+                               } else {
+                                       $targetKey = '4::target';
+                                       $noredirKey = '5::noredir';
+                               }
+
+                               if ( isset( $params[ $targetKey ] ) ) {
+                                       $title = Title::newFromText( $params[ 
$targetKey ] );
                                        if ( $title ) {
                                                $vals2 = array();
                                                ApiQueryBase::addTitleInfo( 
$vals2, $title, 'new_' );
                                                $vals[$type] = $vals2;
                                        }
                                }
-                               if ( isset( $params[ '5::noredir' ] ) && 
$params[ '5::noredir' ] ) {
+                               if ( isset( $params[ $noredirKey ] ) && 
$params[ $noredirKey ] ) {
                                        $vals[$type]['suppressedredirect'] = '';
                                }
                                $params = null;
                                break;
                        case 'patrol':
+                               if ( $legacy ){
+                                       $cur = 0;
+                                       $prev = 1;
+                                       $auto = 2;
+                               } else {
+                                       $cur = '4::curid';
+                                       $prev = '5::previd';
+                                       $auto = '6::auto';
+                               }
                                $vals2 = array();
-                               $vals2[ 'cur' ] = $params[ '4::curid' ];
-                               $vals2[ 'prev' ] = $params[ '5::previd' ];
-                               $vals2[ 'auto' ] = $params[ '6::auto' ];
+                               $vals2['cur'] = $params[$cur];
+                               $vals2['prev'] = $params[$prev];
+                               $vals2['auto'] = $params[$auto];
                                $vals[$type] = $vals2;
                                $params = null;
                                break;
@@ -286,7 +303,8 @@
                                        $logEntry->getParameters(),
                                        $logEntry->getType(),
                                        $logEntry->getSubtype(),
-                                       $logEntry->getTimestamp()
+                                       $logEntry->getTimestamp(),
+                                       $logEntry->isLegacy()
                                );
                        }
                }


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to