From 5b8231ddba4d058abc35db65e32aa2e3ad899846 Mon Sep 17 00:00:00 2001 From: Andrew Garrett Date: Tue, 15 Apr 2008 11:55:23 +0000 Subject: [PATCH] Don't give PHP warnings for PHP<5.2 --- includes/User.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/includes/User.php b/includes/User.php index 43b552c879..e9bdf30dbd 100644 --- a/includes/User.php +++ b/includes/User.php @@ -2006,17 +2006,29 @@ class User { $this->load(); if ( 0 == $this->mId ) return; $exp = time() + $wgCookieExpiration; + + $doHttpOnly = version_compare("5.2", PHP_VERSION, "<"); $_SESSION['wsUserID'] = $this->mId; - setcookie( $wgCookiePrefix.'UserID', $this->mId, $exp, $wgCookiePath, $wgCookieDomain, $wgCookieSecure, $wgCookieHttpOnly ); + + if ($doHttpOnly) { + setcookie( $wgCookiePrefix.'UserID', $this->mId, $exp, $wgCookiePath, $wgCookieDomain, $wgCookieSecure, $wgCookieHttpOnly ); + setcookie( $wgCookiePrefix.'UserName', $this->getName(), $exp, $wgCookiePath, $wgCookieDomain, $wgCookieSecure, $wgCookieHttpOnly ); + } else { + setcookie( $wgCookiePrefix.'UserID', $this->mId, $exp, $wgCookiePath, $wgCookieDomain, $wgCookieSecure ); + setcookie( $wgCookiePrefix.'UserName', $this->getName(), $exp, $wgCookiePath, $wgCookieDomain, $wgCookieSecure ); + } $_SESSION['wsUserName'] = $this->getName(); - setcookie( $wgCookiePrefix.'UserName', $this->getName(), $exp, $wgCookiePath, $wgCookieDomain, $wgCookieSecure, $wgCookieHttpOnly ); $_SESSION['wsToken'] = $this->mToken; if ( 1 == $this->getOption( 'rememberpassword' ) ) { - setcookie( $wgCookiePrefix.'Token', $this->mToken, $exp, $wgCookiePath, $wgCookieDomain, $wgCookieSecure, $wgCookieHttpOnly ); + if ($doHttpOnly) + setcookie( $wgCookiePrefix.'Token', $this->mToken, $exp, $wgCookiePath, $wgCookieDomain, $wgCookieSecure, $wgCookieHttpOnly ); + else + setcookie( $wgCookiePrefix.'Token', $this->mToken, $exp, $wgCookiePath, $wgCookieDomain, $wgCookieSecure ); } else { + if ($doHttpOnly) setcookie( $wgCookiePrefix.'Token', '', time() - 3600 ); } } -- 2.20.1