Location: PHPKode > projects > Anchor CMS > anchorcms-anchor-cms-b327dd9/system/library/response.php
<?php defined('IN_CMS') or die('No direct access allowed.');

class Response {
	
	private static $content = '';
	private static $headers = array();
	private static $status = 200;
	
	private static $statuses = array(
		100 => 'Continue',
		101 => 'Switching Protocols',
		200 => 'OK',
		201 => 'Created',
		202 => 'Accepted',
		203 => 'Non-Authoritative Information',
		204 => 'No Content',
		205 => 'Reset Content',
		206 => 'Partial Content',
		207 => 'Multi-Status',
		300 => 'Multiple Choices',
		301 => 'Moved Permanently',
		302 => 'Found',
		303 => 'See Other',
		304 => 'Not Modified',
		305 => 'Use Proxy',
		307 => 'Temporary Redirect',
		400 => 'Bad Request',
		401 => 'Unauthorized',
		402 => 'Payment Required',
		403 => 'Forbidden',
		404 => 'Not Found',
		405 => 'Method Not Allowed',
		406 => 'Not Acceptable',
		407 => 'Proxy Authentication Required',
		408 => 'Request Timeout',
		409 => 'Conflict',
		410 => 'Gone',
		411 => 'Length Required',
		412 => 'Precondition Failed',
		413 => 'Request Entity Too Large',
		414 => 'Request-URI Too Long',
		415 => 'Unsupported Media Type',
		416 => 'Requested Range Not Satisfiable',
		417 => 'Expectation Failed',
		422 => 'Unprocessable Entity',
		423 => 'Locked',
		424 => 'Failed Dependency',
		500 => 'Internal Server Error',
		501 => 'Not Implemented',
		502 => 'Bad Gateway',
		503 => 'Service Unavailable',
		504 => 'Gateway Timeout',
		505 => 'HTTP Version Not Supported',
		507 => 'Insufficient Storage',
		509 => 'Bandwidth Limit Exceeded'
	);
	
	public static function header($name, $value) {
		static::$headers[$name] = $value;
	}
	
	public static function content($str) {
		static::$content = $str;
	}
	
	public static function append($str) {
		static::$content .= $str;
	}
	
	public static function error($code = 500) {
		if(isset(static::$statuses[$code])) {
			static::$status = $code;
		}

		switch($code) {
			case 404:
				Template::render(404);
		}
	}
	
	public static function send() {
		// set content type
		if(array_key_exists('Content-Type', static::$headers) === false) {
			static::$headers['Content-Type'] = 'text/html; charset=UTF-8';
		}

		// send headers
		if(headers_sent() === false) {
		
			$protocol = Input::server('server_protocol', 'HTTP/1.1');

			header($protocol . ' ' . static::$status . ' ' . static::$statuses[static::$status]);

			foreach(static::$headers as $name => $value) {
				header($name . ': ' . $value, true);
			}
		}

		// Send it to the browser!
		echo static::$content;
	}
	
	public static function redirect($url) {
		static::header('Location', Url::make($url));
		static::$status = 302;
		static::$content = '';
	}
	
}
Return current item: Anchor CMS