Merge "API: Allow deleting files without corresponding pages"
[lhc/web/wiklou.git] / includes / api / ApiParse.php
index 402494c..031fbf7 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
@@ -382,7 +385,6 @@ class ApiParse extends ApiBase {
                        } else {
                                $result_array['headitems'] = $this->formatHeadItems( $p_result->getHeadItems() );
                        }
-                       $this->addDeprecation( 'apiwarn-deprecation-parse-headitems', 'action=parse&prop=headitems' );
                }
 
                if ( isset( $prop['headhtml'] ) ) {
@@ -809,7 +811,6 @@ class ApiParse extends ApiBase {
                                        'sections',
                                        'revid',
                                        'displaytitle',
-                                       'headitems',
                                        'headhtml',
                                        'modules',
                                        'jsconfigvars',
@@ -821,11 +822,15 @@ class ApiParse extends ApiBase {
                                        'limitreportdata',
                                        'limitreporthtml',
                                        'parsetree',
-                                       'parsewarnings'
+                                       'parsewarnings',
+                                       'headitems',
                                ],
                                ApiBase::PARAM_HELP_MSG_PER_VALUE => [
                                        'parsetree' => [ 'apihelp-parse-paramvalue-prop-parsetree', CONTENT_MODEL_WIKITEXT ],
                                ],
+                               ApiBase::PARAM_DEPRECATED_VALUES => [
+                                       'headitems' => 'apiwarn-deprecation-parse-headitems',
+                               ],
                        ],
                        'wrapoutputclass' => 'mw-parser-output',
                        'pst' => false,