From 75a0a250cc6735d13b3b782daf0127298b37c2b9 Mon Sep 17 00:00:00 2001 From: wei <> Date: Thu, 4 May 2006 02:02:43 +0000 Subject: Adding TCallback component. --- .../Web/UI/ActiveControls/TCallbackResponse.php | 45 +++++++++++++++++++++- 1 file changed, 43 insertions(+), 2 deletions(-) (limited to 'framework/Web/UI/ActiveControls/TCallbackResponse.php') diff --git a/framework/Web/UI/ActiveControls/TCallbackResponse.php b/framework/Web/UI/ActiveControls/TCallbackResponse.php index a05c20c7..4a893b9a 100644 --- a/framework/Web/UI/ActiveControls/TCallbackResponse.php +++ b/framework/Web/UI/ActiveControls/TCallbackResponse.php @@ -11,9 +11,50 @@ class TCallbackResponse extends THttpResponse { + private $_writers=array(); + public function createHtmlWriter($type=null) + { + $writer = new TCallbackResponseWriter(); + $this->_writers[] = $writer; + if($type===null) + $type=$this->getHtmlWriterType(); + return Prado::createComponent($type,$writer); + } + + public function flush() + { + foreach($this->_writers as $writer) + echo $writer->flush(); + parent::flush(); + } } - - +class TCallbackResponseWriter extends TTextWriter +{ + private $_boundary; + + public function __construct() + { + $this->_boundary = sprintf('%x',crc32((string)$this)); + } + + public function getBoundary() + { + return $this->_boundary; + } + + public function setBoundary($value) + { + $this->_boundary = $value; + } + + public function flush() + { + $content = ''; + $content .= parent::flush(); + $content .= ''; + return $content; + } +} ?> -- cgit v1.2.3