Merge "Replace more problematic uses of "SELECT *""
[lhc/web/wiklou.git] / includes / OutputPage.php
index dd21194..5216146 100644 (file)
@@ -139,6 +139,9 @@ class OutputPage extends ContextSource {
        /** @var array Array of elements in "<head>". Parser might add its own headers! */
        protected $mHeadItems = [];
 
+       /** @var array Additional <body> classes; there are also <body> classes from other sources */
+       protected $mAdditionalBodyClasses = [];
+
        /** @var array */
        protected $mModules = [];
 
@@ -705,6 +708,16 @@ class OutputPage extends ContextSource {
                return isset( $this->mHeadItems[$name] );
        }
 
+       /**
+        * Add a class to the <body> element
+        *
+        * @since 1.30
+        * @param string|string[] $classes One or more classes to add
+        */
+       public function addBodyClasses( $classes ) {
+               $this->mAdditionalBodyClasses = array_merge( $this->mAdditionalBodyClasses, (array)$classes );
+       }
+
        /**
         * @deprecated since 1.28 Obsolete - wgUseETag experiment was removed.
         * @param string $tag
@@ -2013,7 +2026,7 @@ class OutputPage extends ContextSource {
                }
 
                $age = time() - wfTimestamp( TS_UNIX, $mtime );
-               $adaptiveTTL = max( .9 * $age, $minTTL );
+               $adaptiveTTL = max( 0.9 * $age, $minTTL );
                $adaptiveTTL = min( $adaptiveTTL, $maxTTL );
 
                $this->lowerCdnMaxage( (int)$adaptiveTTL );
@@ -2923,7 +2936,7 @@ class OutputPage extends ContextSource {
 
                $pieces[] = Html::closeElement( 'head' );
 
-               $bodyClasses = [];
+               $bodyClasses = $this->mAdditionalBodyClasses;
                $bodyClasses[] = 'mediawiki';
 
                # Classes for LTR/RTL directionality support