Fixed $wgCookieExpiration functionality when set to 0.
authorTyler Anthony Romeo <tylerromeo@gmail.com>
Tue, 30 Apr 2013 17:07:40 +0000 (13:07 -0400)
committerMatmarex <matma.rex@gmail.com>
Wed, 3 Jul 2013 17:35:02 +0000 (17:35 +0000)
When $wgCookieExpiration is set to 0, cookies should
by default expire when the browser closes. However,
MediaWiki accidentally interpreted this as the cookies
expiring 0 seconds from the request time.

Bug: 47886
Change-Id: Ib988ad18574122a56b0d11c8888c7c41d94dea6e

includes/WebResponse.php

index 0deae96..c2193fb 100644 (file)
@@ -54,7 +54,7 @@ class WebResponse {
        public function setcookie( $name, $value, $expire = 0, $prefix = null, $domain = null, $forceSecure = null ) {
                global $wgCookiePath, $wgCookiePrefix, $wgCookieDomain;
                global $wgCookieSecure, $wgCookieExpiration, $wgCookieHttpOnly;
-               if ( $expire == 0 ) {
+               if ( $expire == 0 && $wgCookieExpiration != 0 ) {
                        $expire = time() + $wgCookieExpiration;
                }
                if ( $prefix === null ) {