Anomie has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/183587

Change subject: Update ApiResult handling for mediawiki/core change I7b37295e
......................................................................

Update ApiResult handling for mediawiki/core change I7b37295e

Change I7b37295e for mediawiki/core deprecates several methods, and more
importantly changes the format of the data returned from
ApiResult::getData(). This change should handle these differences in a
backwards-compatible manner.

Change-Id: I7b37295e8862b188d1f3b0cd07f66ac34629678e
---
M api/ApiQueryLQTThreads.php
M api/ApiThreadAction.php
M classes/Hooks.php
3 files changed, 36 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/LiquidThreads 
refs/changes/87/183587/1

diff --git a/api/ApiQueryLQTThreads.php b/api/ApiQueryLQTThreads.php
index a7c5f26..a1b6dbf 100644
--- a/api/ApiQueryLQTThreads.php
+++ b/api/ApiQueryLQTThreads.php
@@ -164,7 +164,11 @@
                        );
                }
 
-               $result->setIndexedTagName_internal( array( 'query', 
$this->getModuleName() ), 'thread' );
+               if ( defined( 'ApiResult::META_CONTENT' ) ) {
+                       $result->defineIndexedTagName( array( 'query', 
$this->getModuleName() ), 'thread' );
+               } else {
+                       $result->setIndexedTagName_internal( array( 'query', 
$this->getModuleName() ), 'thread' );
+               }
        }
 
        protected function addSubItems( $tableName, $fields, $joinField, 
$subitemName, /*callable*/ $handleRow, $tagName ) {
@@ -197,7 +201,11 @@
                                $output
                        );
 
-                       $result->setIndexedTagName_internal( array_merge( 
$path, array( $subitemName ) ), $tagName );
+                       if ( defined( 'ApiResult::META_CONTENT' ) ) {
+                               $result->defineIndexedTagName( array_merge( 
$path, array( $subitemName ) ), $tagName );
+                       } else {
+                               $result->setIndexedTagName_internal( 
array_merge( $path, array( $subitemName ) ), $tagName );
+                       }
                }
        }
 
diff --git a/api/ApiThreadAction.php b/api/ApiThreadAction.php
index f3ef41f..c22b7bb 100644
--- a/api/ApiThreadAction.php
+++ b/api/ApiThreadAction.php
@@ -309,7 +309,11 @@
                $internalApi = new ApiMain( $editReq, true );
                $internalApi->execute();
 
-               $editResult = $internalApi->getResultData();
+               if ( defined( 'ApiResult::META_CONTENT' ) ) {
+                       $editResult = 
$internalApi->getResult()->getResultData();
+               } else {
+                       $editResult = $internalApi->getResultData();
+               }
 
                if ( $editResult['edit']['result'] != 'Success' ) {
                        $result = array( 'result' => 'EditFailure', 'details' 
=> $editResult );
@@ -426,7 +430,11 @@
                $internalApi = new ApiMain( $editReq, true );
                $internalApi->execute();
 
-               $editResult = $internalApi->getResultData();
+               if ( defined( 'ApiResult::META_CONTENT' ) ) {
+                       $editResult = 
$internalApi->getResult()->getResultData();
+               } else {
+                       $editResult = $internalApi->getResultData();
+               }
 
                if ( $editResult['edit']['result'] != 'Success' ) {
                        $result = array( 'result' => 'EditFailure', 'details' 
=> $editResult );
@@ -540,7 +548,11 @@
                $internalApi = new ApiMain( $editReq, true );
                $internalApi->execute();
 
-               $editResult = $internalApi->getResultData();
+               if ( defined( 'ApiResult::META_CONTENT' ) ) {
+                       $editResult = 
$internalApi->getResult()->getResultData();
+               } else {
+                       $editResult = $internalApi->getResultData();
+               }
 
                if ( $editResult['edit']['result'] != 'Success' ) {
                        $result = array( 'result' => 'EditFailure', 'details' 
=> $editResult );
diff --git a/classes/Hooks.php b/classes/Hooks.php
index b47d3f3..282f53a 100644
--- a/classes/Hooks.php
+++ b/classes/Hooks.php
@@ -929,12 +929,19 @@
        public static function onAPIQueryAfterExecute( &$module ) {
                if ( $module instanceof ApiQueryInfo ) {
                        $result = $module->getResult();
-                       $data = $result->getData();
 
-                       if ( !isset( $data['query']['pages'] ) ) {
-                               return true;
+                       if ( defined( 'ApiResult::META_CONTENT' ) ) {
+                               $data = ApiResult::removeMetadataNonRecursive(
+                                       (array)$result->getResultData( array( 
'query', 'pages' ) )
+                               );
+                       } else {
+                               $data = $result->getData();
+                               if ( !isset( $data['query']['pages'] ) ) {
+                                       return true;
+                               }
+                               $data = $data['query']['pages'];
                        }
-                       foreach ( $data['query']['pages'] as $pageid => $page ) 
{
+                       foreach ( $data as $pageid => $page ) {
                                if ( $page == 'page' ) continue;
 
                                if ( LqtDispatch::isLqtPage( 
Title::newFromText( $page['title'] ) ) ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/183587
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7b37295e8862b188d1f3b0cd07f66ac34629678e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/LiquidThreads
Gerrit-Branch: master
Gerrit-Owner: Anomie <[email protected]>

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

Reply via email to