Remove $wgJavaScriptTestConfig
[lhc/web/wiklou.git] / includes / AjaxResponse.php
index ac8a9f0..8e9f490 100644 (file)
@@ -28,7 +28,6 @@
  * @ingroup Ajax
  */
 class AjaxResponse {
-
        /**
         * Number of seconds to get the response cached by a proxy
         * @var int $mCacheDuration
@@ -49,7 +48,7 @@ class AjaxResponse {
 
        /**
         * Date for the HTTP header Last-modified
-        * @var string|false $mLastModified
+        * @var string|bool $mLastModified
         */
        private $mLastModified;
 
@@ -72,11 +71,18 @@ class AjaxResponse {
        private $mText;
 
        /**
-        * @param $text string|null
+        * @var Config
+        */
+       private $mConfig;
+
+       /**
+        * @param string|null $text
+        * @param Config|null $config
         */
-       function __construct( $text = null ) {
+       function __construct( $text = null, Config $config = null ) {
                $this->mCacheDuration = null;
                $this->mVary = null;
+               $this->mConfig = $config ?: ConfigFactory::getDefaultInstance()->makeConfig( 'main' );
 
                $this->mDisabled = false;
                $this->mText = '';
@@ -91,7 +97,7 @@ class AjaxResponse {
 
        /**
         * Set the number of seconds to get the response cached by a proxy
-        * @param $duration int
+        * @param int $duration
         */
        function setCacheDuration( $duration ) {
                $this->mCacheDuration = $duration;
@@ -99,7 +105,7 @@ class AjaxResponse {
 
        /**
         * Set the HTTP Vary header
-        * @param $vary string
+        * @param string $vary
         */
        function setVary( $vary ) {
                $this->mVary = $vary;
@@ -107,7 +113,7 @@ class AjaxResponse {
 
        /**
         * Set the HTTP response code
-        * @param $code string
+        * @param string $code
         */
        function setResponseCode( $code ) {
                $this->mResponseCode = $code;
@@ -115,7 +121,7 @@ class AjaxResponse {
 
        /**
         * Set the HTTP header Content-Type
-        * @param $type string
+        * @param string $type
         */
        function setContentType( $type ) {
                $this->mContentType = $type;
@@ -130,10 +136,10 @@ class AjaxResponse {
 
        /**
         * Add content to the response
-        * @param $text string
+        * @param string $text
         */
        function addText( $text ) {
-               if ( ! $this->mDisabled && $text ) {
+               if ( !$this->mDisabled && $text ) {
                        $this->mText .= $text;
                }
        }
@@ -142,7 +148,7 @@ class AjaxResponse {
         * Output text
         */
        function printText() {
-               if ( ! $this->mDisabled ) {
+               if ( !$this->mDisabled ) {
                        print $this->mText;
                }
        }
@@ -151,8 +157,6 @@ class AjaxResponse {
         * Construct the header and output it
         */
        function sendHeaders() {
-               global $wgUseSquid, $wgUseESI;
-
                if ( $this->mResponseCode ) {
                        $n = preg_replace( '/^ *(\d+)/', '\1', $this->mResponseCode );
                        header( "Status: " . $this->mResponseCode, true, (int)$n );
@@ -171,12 +175,12 @@ class AjaxResponse {
                        # and tell the client to always check with the squid. Otherwise,
                        # tell the client to use a cached copy, without a way to purge it.
 
-                       if ( $wgUseSquid ) {
+                       if ( $this->mConfig->get( 'UseSquid' ) ) {
                                # Expect explicit purge of the proxy cache, but require end user agents
                                # to revalidate against the proxy on each visit.
                                # Surrogate-Control controls our Squid, Cache-Control downstream caches
 
-                               if ( $wgUseESI ) {
+                               if ( $this->mConfig->get( 'UseESI' ) ) {
                                        header( 'Surrogate-Control: max-age=' . $this->mCacheDuration . ', content="ESI/1.0"' );
                                        header( 'Cache-Control: s-maxage=0, must-revalidate, max-age=0' );
                                } else {
@@ -184,10 +188,10 @@ class AjaxResponse {
                                }
 
                        } else {
-
                                # Let the client do the caching. Cache is not purged.
                                header ( "Expires: " . gmdate( "D, d M Y H:i:s", time() + $this->mCacheDuration ) . " GMT" );
-                               header ( "Cache-Control: s-maxage={$this->mCacheDuration},public,max-age={$this->mCacheDuration}" );
+                               header ( "Cache-Control: s-maxage={$this->mCacheDuration}," .
+                                       "public,max-age={$this->mCacheDuration}" );
                        }
 
                } else {
@@ -207,7 +211,7 @@ class AjaxResponse {
         * possible. If successful, the AjaxResponse is disabled so that
         * any future call to AjaxResponse::printText() have no effect.
         *
-        * @param $timestamp string
+        * @param string $timestamp
         * @return bool Returns true if the response code was set to 304 Not Modified.
         */
        function checkLastModified( $timestamp ) {
@@ -215,7 +219,7 @@ class AjaxResponse {
                $fname = 'AjaxResponse::checkLastModified';
 
                if ( !$timestamp || $timestamp == '19700101000000' ) {
-                       wfDebug( "$fname: CACHE DISABLED, NO TIMESTAMP\n" );
+                       wfDebug( "$fname: CACHE DISABLED, NO TIMESTAMP\n", 'log' );
                        return false;
                }
 
@@ -237,17 +241,22 @@ class AjaxResponse {
                        wfDebug( "$fname: -- client send If-Modified-Since: " . $modsince . "\n", 'log' );
                        wfDebug( "$fname: --  we might send Last-Modified : $lastmod\n", 'log' );
 
-                       if ( ( $ismodsince >= $timestamp ) && $wgUser->validateCache( $ismodsince ) && $ismodsince >= $wgCacheEpoch ) {
+                       if ( ( $ismodsince >= $timestamp )
+                               && $wgUser->validateCache( $ismodsince ) &&
+                               $ismodsince >= $wgCacheEpoch
+                       ) {
                                ini_set( 'zlib.output_compression', 0 );
                                $this->setResponseCode( "304 Not Modified" );
                                $this->disable();
                                $this->mLastModified = $lastmod;
 
-                               wfDebug( "$fname: CACHED client: $ismodsince ; user: {$wgUser->getTouched()} ; page: $timestamp ; site $wgCacheEpoch\n", 'log' );
+                               wfDebug( "$fname: CACHED client: $ismodsince ; user: {$wgUser->getTouched()} ; " .
+                                       "page: $timestamp ; site $wgCacheEpoch\n", 'log' );
 
                                return true;
                        } else {
-                               wfDebug( "$fname: READY  client: $ismodsince ; user: {$wgUser->getTouched()} ; page: $timestamp ; site $wgCacheEpoch\n", 'log' );
+                               wfDebug( "$fname: READY  client: $ismodsince ; user: {$wgUser->getTouched()} ; " .
+                                       "page: $timestamp ; site $wgCacheEpoch\n", 'log' );
                                $this->mLastModified = $lastmod;
                        }
                } else {
@@ -258,8 +267,8 @@ class AjaxResponse {
        }
 
        /**
-        * @param $mckey string
-        * @param $touched int
+        * @param string $mckey
+        * @param int $touched
         * @return bool
         */
        function loadFromMemcached( $mckey, $touched ) {
@@ -286,8 +295,8 @@ class AjaxResponse {
        }
 
        /**
-        * @param $mckey string
-        * @param $expiry int
+        * @param string $mckey
+        * @param int $expiry
         * @return bool
         */
        function storeInMemcached( $mckey, $expiry = 86400 ) {