Merge "Add checkDependencies.php"
[lhc/web/wiklou.git] / includes / parser / ParserOutput.php
index 6260de6..ab7348f 100644 (file)
@@ -42,7 +42,7 @@ class ParserOutput extends CacheTime {
        public $mLanguageLinks;
 
        /**
-        * @var array $mCategoriesMap of category names to sort keys
+        * @var array $mCategories Map of category names to sort keys
         */
        public $mCategories;
 
@@ -120,11 +120,6 @@ class ParserOutput extends CacheTime {
         */
        public $mModules = [];
 
-       /**
-        * @var array $mModuleScripts Modules of which only the JS will be loaded by ResourceLoader.
-        */
-       public $mModuleScripts = [];
-
        /**
         * @var array $mModuleStyles Modules of which only the CSSS will be loaded by ResourceLoader.
         */
@@ -476,14 +471,6 @@ class ParserOutput extends CacheTime {
                return $this->mSections;
        }
 
-       /**
-        * @deprecated since 1.31 Use getText() options.
-        */
-       public function getEditSectionTokens() {
-               wfDeprecated( __METHOD__, '1.31' );
-               return true;
-       }
-
        public function &getLinks() {
                return $this->mLinks;
        }
@@ -511,6 +498,7 @@ class ParserOutput extends CacheTime {
        public function setNoGallery( $value ) {
                $this->mNoGallery = (bool)$value;
        }
+
        public function getNoGallery() {
                return $this->mNoGallery;
        }
@@ -523,10 +511,6 @@ class ParserOutput extends CacheTime {
                return $this->mModules;
        }
 
-       public function getModuleScripts() {
-               return $this->mModuleScripts;
-       }
-
        public function getModuleStyles() {
                return $this->mModuleStyles;
        }
@@ -570,14 +554,6 @@ class ParserOutput extends CacheTime {
                return $this->mLimitReportJSData;
        }
 
-       /**
-        * @deprecated since 1.31 Use getText() options.
-        */
-       public function getTOCEnabled() {
-               wfDeprecated( __METHOD__, '1.31' );
-               return true;
-       }
-
        public function getEnableOOUI() {
                return $this->mEnableOOUI;
        }
@@ -602,14 +578,6 @@ class ParserOutput extends CacheTime {
                return wfSetVar( $this->mSections, $toc );
        }
 
-       /**
-        * @deprecated since 1.31 Use getText() options.
-        */
-       public function setEditSectionTokens( $t ) {
-               wfDeprecated( __METHOD__, '1.31' );
-               return true;
-       }
-
        public function setIndexPolicy( $policy ) {
                return wfSetVar( $this->mIndexPolicy, $policy );
        }
@@ -622,14 +590,6 @@ class ParserOutput extends CacheTime {
                return wfSetVar( $this->mTimestamp, $timestamp );
        }
 
-       /**
-        * @deprecated since 1.31 Use getText() options.
-        */
-       public function setTOCEnabled( $flag ) {
-               wfDeprecated( __METHOD__, '1.31' );
-               return true;
-       }
-
        public function addCategory( $c, $sort ) {
                $this->mCategories[$c] = $sort;
        }
@@ -669,12 +629,15 @@ class ParserOutput extends CacheTime {
        public function setNewSection( $value ) {
                $this->mNewSection = (bool)$value;
        }
+
        public function hideNewSection( $value ) {
                $this->mHideNewSection = (bool)$value;
        }
+
        public function getHideNewSection() {
                return (bool)$this->mHideNewSection;
        }
+
        public function getNewSection() {
                return (bool)$this->mNewSection;
        }
@@ -817,14 +780,6 @@ class ParserOutput extends CacheTime {
                $this->mModules = array_merge( $this->mModules, (array)$modules );
        }
 
-       /**
-        * @deprecated since 1.31 Use addModules() instead.
-        * @see OutputPage::addModuleScripts
-        */
-       public function addModuleScripts( $modules ) {
-               $this->mModuleScripts = array_merge( $this->mModuleScripts, (array)$modules );
-       }
-
        /**
         * @see OutputPage::addModuleStyles
         */
@@ -857,7 +812,6 @@ class ParserOutput extends CacheTime {
         */
        public function addOutputPageMetadata( OutputPage $out ) {
                $this->addModules( $out->getModules() );
-               $this->addModuleScripts( $out->getModuleScripts() );
                $this->addModuleStyles( $out->getModuleStyles() );
                $this->addJsConfigVars( $out->getJsConfigVars() );
 
@@ -941,17 +895,30 @@ class ParserOutput extends CacheTime {
        }
 
        /**
-        * Fairly generic flag setter thingy.
+        * Attach a flag to the output so that it can be checked later to handle special cases
+        *
         * @param string $flag
         */
        public function setFlag( $flag ) {
                $this->mFlags[$flag] = true;
        }
 
+       /**
+        * @param string $flag
+        * @return bool Whether the given flag was set to signify a special case
+        */
        public function getFlag( $flag ) {
                return isset( $this->mFlags[$flag] );
        }
 
+       /**
+        * @return string[] List of flags signifying special cases
+        * @since 1.34
+        */
+       public function getAllFlags() {
+               return array_keys( $this->mFlags );
+       }
+
        /**
         * Set a property to be stored in the page_props database table.
         *
@@ -1338,7 +1305,6 @@ class ParserOutput extends CacheTime {
                // HTML and HTTP
                $this->mHeadItems = self::mergeMixedList( $this->mHeadItems, $source->getHeadItems() );
                $this->mModules = self::mergeList( $this->mModules, $source->getModules() );
-               $this->mModuleScripts = self::mergeList( $this->mModuleScripts, $source->getModuleScripts() );
                $this->mModuleStyles = self::mergeList( $this->mModuleStyles, $source->getModuleStyles() );
                $this->mJsConfigVars = self::mergeMap( $this->mJsConfigVars, $source->getJsConfigVars() );
                $this->mMaxAdaptiveExpiry = min( $this->mMaxAdaptiveExpiry, $source->mMaxAdaptiveExpiry );
@@ -1359,7 +1325,7 @@ class ParserOutput extends CacheTime {
 
                // TODO: we'll have to be smarter about this!
                $this->mSections = array_merge( $this->mSections, $source->getSections() );
-               $this->mTOCHTML = $this->mTOCHTML . $source->mTOCHTML;
+               $this->mTOCHTML .= $source->mTOCHTML;
 
                // XXX: we don't want to concatenate title text, so first write wins.
                // We should use the first *modified* title text, but we don't have the original to check.