GIF89a;
Direktori : /home/serb/public_html/livechat/php/lib/ |
Current File : /home/serb/public_html/livechat/php/lib/Controller.php |
<?php class Controller { protected static $FORMAT_MAP = array( 'txt' => 'text/plain', 'html' => 'text/html', 'css' => 'text/css', 'xml' => 'text/xml', 'js' => 'application/javascript', 'json' => 'application/json', ); // Fields private $services; // Methods public function setServiceContainer($container) { $this->services = $container; } public function get($serviceId) { return $this->services->get($serviceId); } public function render($path, $vars = array(), $format = 'html', $headers = array()) { $contentType = (isset(self::$FORMAT_MAP[$format]) ? self::$FORMAT_MAP[$format] : $format) . ';charset=utf-8'; // Create and return the response ob_start(); $app = $this->get('template_interface'); include realpath(ROOT_DIR . '/../views/' . $path); unset($app); $content = ob_get_clean(); return new Response($content, array_merge(array(array('Content-type', $contentType)), $headers)); } public function text($content) { return new Response($content, array(array('Content-type', 'text/plain'))); } public function json($array, $forceTextType = false) { return new Response(json_encode($array), array(array('Content-type', $forceTextType ? 'text/plain' : 'application/json'))); } public function redirect($route) { $path = '?' . $this->get('router')->getRoute($route); return new Response('', array(array('Location', $path)), 303); } } ?>