[Phpfreechat-svn] SF.net SVN: phpfreechat: [1235] branches/pfc-comet/misc/comet-tests/iframe2
Status: Beta
Brought to you by:
kerphi
From: <ke...@us...> - 2008-03-27 09:33:46
|
Revision: 1235 http://phpfreechat.svn.sourceforge.net/phpfreechat/?rev=1235&view=rev Author: kerphi Date: 2008-03-27 02:33:51 -0700 (Thu, 27 Mar 2008) Log Message: ----------- improve the pfcComet package Modified Paths: -------------- branches/pfc-comet/misc/comet-tests/iframe2/pfccomet.class.php branches/pfc-comet/misc/comet-tests/iframe2/tester-loop.php branches/pfc-comet/misc/comet-tests/iframe2/tester.php Added Paths: ----------- branches/pfc-comet/misc/comet-tests/iframe2/tester-loop2.php Modified: branches/pfc-comet/misc/comet-tests/iframe2/pfccomet.class.php =================================================================== --- branches/pfc-comet/misc/comet-tests/iframe2/pfccomet.class.php 2008-03-23 20:58:07 UTC (rev 1234) +++ branches/pfc-comet/misc/comet-tests/iframe2/pfccomet.class.php 2008-03-27 09:33:51 UTC (rev 1235) @@ -4,10 +4,10 @@ var $pfccometjs_url = './pfccomet.js'; var $prototypejs_url = './prototype.js'; var $backend_url = ''; - var $backend_param = 'backend'; + var $backend_url_flag = 'backend'; var $backend_callback = null; var $backend_loop = false; - var $backend_loop_sleep = 1; + var $backend_loop_sleep = 1000000; // microseconds var $onresponse_callback = null; var $onconnect_callback = null; var $ondisconnect_callback = null; @@ -20,7 +20,7 @@ function run() { - if (isset($_REQUEST[$this->backend_param])) + if (isset($_REQUEST[$this->backend_url_flag])) { header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); @@ -59,13 +59,14 @@ { $func = $this->backend_callback; if ( is_array($func) ){ - echo $func[0]->$func[1]($this); + echo $this->formatResponse($func[0]->$func[1]($this)); } else { - echo $func($this); + echo $this->formatResponse($func($this)); } } flush(); - sleep($this->backend_loop_sleep); + if ($this->backend_loop) // do not sleep if the loop is finished + usleep($this->backend_loop_sleep); } while($this->backend_loop); // trigger the onDisconnect callback @@ -79,7 +80,7 @@ function formatResponse($data) { - return '<script type="text/javascript">pfccomet._onResponse(\''.addslashes($data).'\');</script>'."\n"; + return '<script type="text/javascript">pfccomet._onResponse('.json_encode($data).');</script>'."\n"; } function printJavascript($return = false) @@ -88,7 +89,7 @@ $output .= '<script type="text/javascript" src="'.$this->pfccometjs_url.'"></script>'."\n"; $output .= '<script type="text/javascript"> Event.observe(window, "load", function() { - pfccomet = new pfcComet({"url":"'.$this->backend_url.'?'.$this->backend_param.'"});'."\n"; + pfccomet = new pfcComet({"url":"'.$this->backend_url.'?'.$this->backend_url_flag.'"});'."\n"; if ( $this->onresponse_callback ) $output .= ' pfccomet.onResponse = '.$this->onresponse_callback.';'."\n"; if ( $this->onconnect_callback ) Modified: branches/pfc-comet/misc/comet-tests/iframe2/tester-loop.php =================================================================== --- branches/pfc-comet/misc/comet-tests/iframe2/tester-loop.php 2008-03-23 20:58:07 UTC (rev 1234) +++ branches/pfc-comet/misc/comet-tests/iframe2/tester-loop.php 2008-03-27 09:33:51 UTC (rev 1235) @@ -4,15 +4,16 @@ static $id; if (!isset($id)) $id = md5(uniqid(rand(), true)); file_put_contents('/tmp/cometdebug',"id=".$id." ".time()."\n",FILE_APPEND|LOCK_EX); - return $pfccomet->formatResponse(time()); + return time(); } require_once 'pfccomet.class.php'; $pfccomet = new pfcComet(); -$pfccomet->pfccometjs_url = './pfccomet.js'; -$pfccomet->prototypejs_url = '../../../data/public/js/prototype.js'; -$pfccomet->backend_loop = true; -$pfccomet->backend_url = './tester-loop.php'; +$pfccomet->pfccometjs_url = './pfccomet.js'; +$pfccomet->prototypejs_url = '../../../data/public/js/prototype.js'; +$pfccomet->backend_loop = true; +$pfccomet->backend_loop_sleep = 500000; // 100000 microsec = 100 milisec +$pfccomet->backend_url = './'.basename(__FILE__); $pfccomet->backend_callback = 'macallback'; $pfccomet->onresponse_callback = 'update_servertime_area'; $pfccomet->run(); Added: branches/pfc-comet/misc/comet-tests/iframe2/tester-loop2.php =================================================================== --- branches/pfc-comet/misc/comet-tests/iframe2/tester-loop2.php (rev 0) +++ branches/pfc-comet/misc/comet-tests/iframe2/tester-loop2.php 2008-03-27 09:33:51 UTC (rev 1235) @@ -0,0 +1,48 @@ +<?php + +function macallback($pfccomet) { + return array(time(),'blabla'); +} + +require_once 'pfccomet.class.php'; +$pfccomet = new pfcComet(); +$pfccomet->backend_loop = true; +$pfccomet->backend_loop_sleep = 500000; // 100000 microsec = 100 milisec +$pfccomet->backend_url = './'.basename(__FILE__); +$pfccomet->backend_callback = 'macallback'; +$pfccomet->onresponse_callback = 'update_servertime_area'; + +$pfccomet->run(); + +?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>pfcComet tester</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + + <script type="text/javascript" src="../../../data/public/js/prototype.js"></script> + <script type="text/javascript" src="./pfccomet.js"></script> + +<script type="text/javascript"> + +Event.observe(window, "load", function() { + pfccomet = new pfcComet({"url":"./<?php echo $pfccomet->backend_url; ?>?<?php echo $pfccomet->backend_url_flag; ?>"}); + pfccomet.onResponse = function(comet,data) { + document.getElementById('date').innerHTML = data; + }; + pfccomet.connect(); +}); + +</script> + + + </head> + <body> + + <div id="date">here will be displayed the server time</div> + <input type="button" value="Disconnect" onclick="pfccomet.disconnect()" /> + <input type="button" value="Connect" onclick="pfccomet.connect()" /> + + </body> +</html> \ No newline at end of file Modified: branches/pfc-comet/misc/comet-tests/iframe2/tester.php =================================================================== --- branches/pfc-comet/misc/comet-tests/iframe2/tester.php 2008-03-23 20:58:07 UTC (rev 1234) +++ branches/pfc-comet/misc/comet-tests/iframe2/tester.php 2008-03-27 09:33:51 UTC (rev 1235) @@ -1,14 +1,14 @@ <?php function macallback($pfccomet) { - return $pfccomet->formatResponse(time()); + return time(); } require_once 'pfccomet.class.php'; $pfccomet = new pfcComet(); $pfccomet->pfccometjs_url = './pfccomet.js'; $pfccomet->prototypejs_url = '../../../data/public/js/prototype.js'; -$pfccomet->backend_url = './tester.php'; +$pfccomet->backend_url = './'.basename(__FILE__); $pfccomet->backend_callback = 'macallback'; $pfccomet->onresponse_callback = 'update_servertime_area'; $pfccomet->run(); @@ -28,7 +28,6 @@ <?php $pfccomet->printJavascript(); ?> - </head> <body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |