ApiParse: Fetch content with parsetree
authorBrad Jorsch <bjorsch@wikimedia.org>
Tue, 13 Jun 2017 19:42:21 +0000 (15:42 -0400)
committerBrad Jorsch <bjorsch@wikimedia.org>
Tue, 13 Jun 2017 19:42:21 +0000 (15:42 -0400)
I0079e10a assumed callers were correctly passing $getContent to
getParsedContent(). Apparently they weren't.

Bug: T167826
Change-Id: I85cbdfb5d0580252c1df23a0f27c8052f1d65dc3

includes/api/ApiParse.php

index 402494c..b2e03c8 100644 (file)
@@ -88,6 +88,9 @@ class ApiParse extends ApiBase {
 
                $redirValues = null;
 
+               $needContent = isset( $prop['wikitext'] ) ||
+                       isset( $prop['parsetree'] ) || $params['generatexml'];
+
                // Return result
                $result = $this->getResult();
 
@@ -114,7 +117,7 @@ class ApiParse extends ApiBase {
                                $pageObj = WikiPage::factory( $titleObj );
                                list( $popts, $reset, $suppressCache ) = $this->makeParserOptions( $pageObj, $params );
                                $p_result = $this->getParsedContent(
-                                       $pageObj, $popts, $suppressCache, $pageid, $rev, isset( $prop['wikitext'] )
+                                       $pageObj, $popts, $suppressCache, $pageid, $rev, $needContent
                                );
                        } else { // Not $oldid, but $pageid or $page
                                if ( $params['redirects'] ) {
@@ -158,7 +161,7 @@ class ApiParse extends ApiBase {
 
                                list( $popts, $reset, $suppressCache ) = $this->makeParserOptions( $pageObj, $params );
                                $p_result = $this->getParsedContent(
-                                       $pageObj, $popts, $suppressCache, $pageid, null, isset( $prop['wikitext'] )
+                                       $pageObj, $popts, $suppressCache, $pageid, null, $needContent
                                );
                        }
                } else { // Not $oldid, $pageid, $page. Hence based on $text