return (sprintf(($is_unrecoverable ? 'hstm.stop(); ' : '').'window.onbeforeunload = null; window.onunload = null; document.location.assign("index.php");'));
}
+// FIXME TO SUPPORT iframe
function page_sync($sess, $page, $table_idx, $table_token)
{
GLOBAL $is_page_streaming;
return ($ret);
}
+function index_rd_ifra_fini($is_unrecoverable)
+{
+ GLOBAL $G_four_rnd_string;
+
+ // IF IFRAME THEN:
+ $body = "";
+ $body .= sprintf("<html>
+<head>
+<script type=\"text/javascript\" src=\"commons.js\"></script>
+<script type=\"text/javascript\" src=\"xynt-http-streaming-ifra.js\"></script>
+<script type=\"text/javascript\">
+var http_streaming = \"ready\";");
+ $body .= sprintf("
+window.onload = function () { if (http_streaming != \"ready\") { http_streaming.reload(); } };
+</script>
+</head>
+<body>");
+ $body .= sprintf("<!-- \n%s -->\n", $G_four_rnd_string);
+ $body .= sprintf("<script id='hs%d' type='text/javascript'><!--
+push(\"%s\");
+// -->
+</script>", 0, escpush(blocking_error($is_unrecoverable)) );
+ // ELSE IF XHR THEN:
+ // return (blocking_error($is_unrecoverable));
+ return ($body);
+}
+
/*
* MAIN
*/
{
GLOBAL $G_four_rnd_string;
+ $curtime = time();
+
$is_page_streaming = FALSE; // (webservers_exceeded() || stristr($HTTP_USER_AGENT, "Mozilla/5.0 (Windows NT 6.1; rv:5.0)") || stristr($HTTP_USER_AGENT, "MSIE") || stristr($HTTP_USER_AGENT, "CHROME") ? TRUE : FALSE);
$header_out['Cache-Control'] = 'no-cache, must-revalidate'; // HTTP/1.1
if (($step = gpcs_var('step', $get, $post, $cookie)) === FALSE)
unset($step);
- $user->rd_data_set(time() + STREAM_TIMEOUT, $stat, $subst, $step, $from);
+ $user->rd_data_set($curtime, $stat, $subst, $step, $from);
$body .= sprintf("<html>
<head>
<script type=\"text/javascript\" src=\"xynt-http-streaming-ifra.js\"></script>
<script type=\"text/javascript\">
var http_streaming = \"ready\";");
- if (isset($st)) {
- $body .= sprintf("last_clean = %d;\n", $st);
- }
+ if ($user->rd_scristp > 0)
+ $body .= sprintf("last_clean = %d;\n", ($user->rd_scristp-1));
$body .= sprintf("
window.onload = function () { if (http_streaming != \"ready\") { http_streaming.reload(); } };
</script>
function index_rd_ifra_main(&$room, &$user, &$body)
{
GLOBAL $is_page_streaming;
+ // FIXME: only to test fwrite
+ // GLOBAL $G_four_rnd_string;
$is_page_streaming = FALSE;
log_rd2("FROM OUTSIDE - STAT: ".$user->rd_stat." SUBST: ".$user->rd_subst." STEP: ".$user->rd_step." FROM: ".$user->rd_from. "IS_PAGE:" . $is_page_streaming);
echo "$ret";
echo ' @END@';
}
+
+ // FIXME only to test fwrite
+ // for ($u = 0 ; $u < 10 ; $u++) {
+ // $body .= sprintf("<!-- \n%s -->\n", $G_four_rnd_string);
+ // }
$body .= sprintf("<script id='hs%d' type='text/javascript'><!--
push(\"%s\");
// -->
return TRUE;
}
+
+function index_rd_ifra_keepalive(&$user)
+{
+ return (sprintf("<script id='hs%d' type='text/javascript'><!--
+push(null);
+// -->
+</script>", $user->rd_scristp++));
+
+}
?>