Fix for problems with r39414; LinkHolderArray::replaceInterwiki() was badly broken
[lhc/web/wiklou.git] / includes / WebResponse.php
1 <?php
2 /**
3 * Allow programs to request this object from WebRequest::response()
4 * and handle all outputting (or lack of outputting) via it.
5 */
6 class WebResponse {
7
8 /** Output a HTTP header */
9 function header($string, $replace=true) {
10 header($string,$replace);
11 }
12
13 /** Set the browser cookie */
14 function setcookie( $name, $value, $expire = 0 ) {
15 global $wgEnablePersistentCookies;
16 if ( !$wgEnablePersistentCookies ) {
17 return false;
18 }
19 global $wgCookiePath, $wgCookiePrefix, $wgCookieDomain;
20 global $wgCookieSecure,$wgCookieExpiration, $wgCookieHttpOnly;
21 if( $expire == 0 ) {
22 $expire = time() + $wgCookieExpiration;
23 }
24 $httpOnlySafe = wfHttpOnlySafe();
25 wfDebugLog( 'cookie',
26 'setcookie: "' . implode( '", "',
27 array(
28 $wgCookiePrefix . $name,
29 $value,
30 $expire,
31 $wgCookiePath,
32 $wgCookieDomain,
33 $wgCookieSecure,
34 $httpOnlySafe && $wgCookieHttpOnly ) ) . '"' );
35 if( $httpOnlySafe && isset( $wgCookieHttpOnly ) ) {
36 setcookie( $wgCookiePrefix . $name,
37 $value,
38 $expire,
39 $wgCookiePath,
40 $wgCookieDomain,
41 $wgCookieSecure,
42 $wgCookieHttpOnly );
43 } else {
44 // setcookie() fails on PHP 5.1 if you give it future-compat paramters.
45 // stab stab!
46 setcookie( $wgCookiePrefix . $name,
47 $value,
48 $expire,
49 $wgCookiePath,
50 $wgCookieDomain,
51 $wgCookieSecure );
52 }
53 }
54 }