e3a6a1e05fafe73fd9617746988ea3d834c47128
[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 /**
9 * Output a HTTP header, wrapper for PHP's
10 * header()
11 * @param string $string Header to output
12 * @param bool $replace Replace current similar header
13 */
14 public function header($string, $replace=true) {
15 header($string,$replace);
16 }
17
18 /** Set the browser cookie
19 * @param string $name Name of cookie
20 * @param string $value Value to give cookie
21 * @param int $expire Number of seconds til cookie expires
22 */
23 public function setcookie( $name, $value, $expire = 0 ) {
24 global $wgCookiePath, $wgCookiePrefix, $wgCookieDomain;
25 global $wgCookieSecure,$wgCookieExpiration, $wgCookieHttpOnly;
26 if ( $expire == 0 ) {
27 $expire = time() + $wgCookieExpiration;
28 }
29 $httpOnlySafe = wfHttpOnlySafe();
30 wfDebugLog( 'cookie',
31 'setcookie: "' . implode( '", "',
32 array(
33 $wgCookiePrefix . $name,
34 $value,
35 $expire,
36 $wgCookiePath,
37 $wgCookieDomain,
38 $wgCookieSecure,
39 $httpOnlySafe && $wgCookieHttpOnly ) ) . '"' );
40 if( $httpOnlySafe && isset( $wgCookieHttpOnly ) ) {
41 setcookie( $wgCookiePrefix . $name,
42 $value,
43 $expire,
44 $wgCookiePath,
45 $wgCookieDomain,
46 $wgCookieSecure,
47 $wgCookieHttpOnly );
48 } else {
49 // setcookie() fails on PHP 5.1 if you give it future-compat paramters.
50 // stab stab!
51 setcookie( $wgCookiePrefix . $name,
52 $value,
53 $expire,
54 $wgCookiePath,
55 $wgCookieDomain,
56 $wgCookieSecure );
57 }
58 }
59 }