Avoid undefined index when query old block logs with api
[lhc/web/wiklou.git] / includes / api / ApiQueryLogEvents.php
index f83fe69..3cdc53c 100644 (file)
@@ -36,7 +36,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
        }
 
        private $fld_ids = false, $fld_title = false, $fld_type = false,
-               $fld_action = false, $fld_user = false, $fld_userid = false,
+               $fld_user = false, $fld_userid = false,
                $fld_timestamp = false, $fld_comment = false, $fld_parsedcomment = false,
                $fld_details = false, $fld_tags = false;
 
@@ -50,7 +50,6 @@ class ApiQueryLogEvents extends ApiQueryBase {
                $this->fld_ids = isset( $prop['ids'] );
                $this->fld_title = isset( $prop['title'] );
                $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'] );
@@ -312,7 +311,8 @@ class ApiQueryLogEvents extends ApiQueryBase {
                                        break;
                                }
                                $vals2 = array();
-                               list( $vals2['duration'], $vals2['flags'] ) = $params;
+                               $vals2['duration'] = $params[0];
+                               $vals2['flags'] = isset( $params[1] ) ? $params[1] : '';
 
                                // Indefinite blocks have no expiry time
                                if ( SpecialBlock::parseExpiryInput( $params[0] ) !== wfGetDB( DB_SLAVE )->getInfinity() ) {
@@ -327,6 +327,17 @@ class ApiQueryLogEvents extends ApiQueryBase {
                                        $params['img_timestamp'] = wfTimestamp( TS_ISO_8601, $params['img_timestamp'] );
                                }
                                break;
+                       case 'merge':
+                               // replace the named parameter with numbered for backward compatibility
+                               if ( isset( $params['4::dest'] ) ) {
+                                       $params[] = $params['4::dest'];
+                                       unset( $params['4::dest'] );
+                               }
+                               if ( isset( $params['5::mergepoint'] ) ) {
+                                       $params[] = $params['5::mergepoint'];
+                                       unset( $params['5::mergepoint'] );
+                               }
+                               break;
                }
                if ( !is_null( $params ) ) {
                        $logParams = array();
@@ -388,7 +399,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                        }
                }
 
-               if ( $this->fld_type || $this->fld_action ) {
+               if ( $this->fld_type ) {
                        $vals['type'] = $row->log_type;
                        $vals['action'] = $row->log_action;
                }
@@ -540,7 +551,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
                return $ret;
        }
 
-       public function getExamplesMessages() {
+       protected function getExamplesMessages() {
                return array(
                        'action=query&list=logevents'
                                => 'apihelp-query+logevents-example-simple',