00001 <?php
00007 class WebResponse {
00008
00015 public function header($string, $replace=true) {
00016 header($string,$replace);
00017 }
00018
00024 public function setcookie( $name, $value, $expire = 0 ) {
00025 global $wgCookiePath, $wgCookiePrefix, $wgCookieDomain;
00026 global $wgCookieSecure,$wgCookieExpiration, $wgCookieHttpOnly;
00027 if ( $expire == 0 ) {
00028 $expire = time() + $wgCookieExpiration;
00029 }
00030 $httpOnlySafe = wfHttpOnlySafe();
00031 wfDebugLog( 'cookie',
00032 'setcookie: "' . implode( '", "',
00033 array(
00034 $wgCookiePrefix . $name,
00035 $value,
00036 $expire,
00037 $wgCookiePath,
00038 $wgCookieDomain,
00039 $wgCookieSecure,
00040 $httpOnlySafe && $wgCookieHttpOnly ) ) . '"' );
00041 if( $httpOnlySafe && isset( $wgCookieHttpOnly ) ) {
00042 setcookie( $wgCookiePrefix . $name,
00043 $value,
00044 $expire,
00045 $wgCookiePath,
00046 $wgCookieDomain,
00047 $wgCookieSecure,
00048 $wgCookieHttpOnly );
00049 } else {
00050
00051
00052 setcookie( $wgCookiePrefix . $name,
00053 $value,
00054 $expire,
00055 $wgCookiePath,
00056 $wgCookieDomain,
00057 $wgCookieSecure );
00058 }
00059 }
00060 }
00061
00062
00063 class FauxResponse extends WebResponse {
00064 private $headers;
00065 private $cookies;
00066
00067 public function header($string, $replace=true) {
00068 list($key, $val) = explode(":", $string, 2);
00069
00070 if($replace || !isset($this->headers[$key])) {
00071 $this->headers[$key] = $val;
00072 }
00073 }
00074
00075 public function getheader($key) {
00076 return $this->headers[$key];
00077 }
00078
00079 public function setcookie( $name, $value, $expire = 0 ) {
00080 $this->cookies[$name] = $value;
00081 }
00082
00083 public function getcookie( $name ) {
00084 if ( isset($this->cookies[$name]) ) {
00085 return $this->cookies[$name];
00086 }
00087 }
00088 }