var $chat_dlt; // Delta t for ban
var $shm_sz;
+ const BASE = ""; // basepath for absolute web references
+
function User() {
}
/* INDEX_RD_IFRA PORT */
- static function blocking_error($is_unrecoverable)
+ protected function blocking_error($is_unrecoverable)
{
GLOBAL $is_page_streaming;
}
// FIXME TO SUPPORT iframe
- static function page_sync($sess, $page, $table_idx, $table_token)
+ protected function page_sync($sess, $page, $table_idx, $table_token)
{
GLOBAL $is_page_streaming;
- log_rd2("page_sync:".var_export(debug_backtrace()));
+ // log_rd2("page_sync:".var_export(debug_backtrace()));
$is_page_streaming = TRUE;
log_rd2("PAGE_SYNC");
+ printf("xXx USER::PAGE_SYNC [%s]\n", get_class($this));
return (sprintf('createCookie("table_idx", %d, 24*365, cookiepath); createCookie("table_token", "%s", 24*365, cookiepath); hstm.stop(); window.onunload = null; window.onbeforeunload = null; document.location.assign("%s");', $table_idx, $table_token, $page));
}
- function maincheck($cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_subst, &$new_step, $splashdate)
+ protected function maincheck($cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_subst, &$new_step, $splashdate, $table_idx, $table_token)
{
GLOBAL $G_lang, $mlang_indrd, $is_page_streaming;
// GLOBAL $first_loop;
$ret = FALSE;
$curtime = time();
- if ((($curtime - $this->lacc) > STREAM_TIMEOUT) || Room::garbage_time_is_expired($curtime)) {
- $S_load_stat['lL_laccgarb']++;
+ /* if ((($curtime - $this->lacc) > STREAM_TIMEOUT) || Room::garbage_time_is_expired($curtime)) { */
+ /* $S_load_stat['lL_laccgarb']++; */
- if (($curtime - $this->lacc) >= STREAM_TIMEOUT) {
- $S_load_stat['wU_lacc_upd']++;
- $this->lacc = $curtime;
- }
+ /* if (($curtime - $this->lacc) >= STREAM_TIMEOUT) { */
+ /* $S_load_stat['wU_lacc_upd']++; */
+ /* $this->lacc = $curtime; */
+ /* } */
- if (Room::garbage_time_is_expired($curtime)) {
- log_only("F");
+ /* if (Room::garbage_time_is_expired($curtime)) { */
+ /* log_only("F"); */
- $S_load_stat['wR_garbage']++;
- log_main("pre garbage_manager TRE");
- $this->room->garbage_manager(FALSE);
- }
- }
+ /* $S_load_stat['wR_garbage']++; */
+ /* log_main("pre garbage_manager TRE"); */
+ /* $this->room->garbage_manager(FALSE); */
+ /* } */
+ /* } */
/* Nothing changed, return. */
if ($cur_step == $this->step)
$S_load_stat['wR_minusone']++;
if ($this->the_end == TRUE) {
- log_rd2("main_check: the end".var_export(debug_backtrace()));
+ // log_rd2("main_check: the end".var_export(debug_backtrace()));
$is_page_streaming = TRUE;
}
***************/
else if ($this->stat == 'table') {
log_load("RESYNC");
- return (self::page_sync($this->sess, "briskin5/index.php", $this->table, $this->table_token));
+ printf("xXx USER::MAINCHECK1 [%s]\n", get_class($this));
+
+ return ($this->page_sync($this->sess, "briskin5/index.php", $this->table, $this->table_token));
}
log_rd2("NEWSTAT: ".$this->stat);
} /* if ($cur_step == -1) { */
$to_stat = $this->stat;
/* Room::unlock_data($sem); */
log_load("RESYNC");
- return (self::page_sync($this->sess, ($to_stat == "table" ? "briskin5/index.php" : "index.php"), $this->table, $this->table_token));
+ printf("xXx USER::MAINCHECK2 [%s]\n", get_class($this));
+ return ($this->page_sync($this->sess, ($to_stat == "table" ? "briskin5/index.php" : "index.php"), $this->table, $this->table_token));
}
log_rd2("lost history, refresh from scratch");
$new_step = -1;
return ($ret);
} // function maincheck (...
-static function stream_fini($is_unrecoverable)
+public static function stream_fini($is_unrecoverable)
{
GLOBAL $G_four_rnd_string;
$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\" src=\"%scommons.js\"></script>
+<script type=\"text/javascript\" src=\"%sxynt-http-streaming-ifra.js\"></script>
<script type=\"text/javascript\">
-var http_streaming = \"ready\";");
+var http_streaming = \"ready\";", self::base_get(), self::base_get());
$body .= sprintf("
window.onload = function () { if (http_streaming != \"ready\") { http_streaming.reload(); } };
</script>
$curtime = time();
+ printf("CLASS: [%s] base: [%s]\n", get_class($this), self::base_get());
+
$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
unset($step);
$this->rd_data_set($curtime, $stat, $subst, $step, $from);
+ $cc = get_called_class();
$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\" src=\"%scommons.js\"></script>
+<script type=\"text/javascript\" src=\"%sxynt-http-streaming-ifra.js\"></script>
<script type=\"text/javascript\">
-var http_streaming = \"ready\";");
+var http_streaming = \"ready\";", self::base_get(), self::base_get());
if ($this->rd_scristp > 0)
$body .= sprintf("last_clean = %d;\n", ($this->rd_scristp-1));
$body .= sprintf("
$CO_splashdate = "CO_splashdate".$G_splash_idx;
if (($splashdate = gpcs_var("$CO_splashdate", $get, $post, $cookie)) === FALSE)
$splashdate = "";
+ if (($table_idx = gpcs_var("table_idx", $get, $post, $cookie)) === FALSE)
+ $table_idx = "";
+ if (($table_token = gpcs_var("table_token", $get, $post, $cookie)) === FALSE)
+ $table_token = "";
$is_page_streaming = FALSE;
log_rd2("FROM OUTSIDE - STAT: ".$this->rd_stat." SUBST: ".$this->rd_subst." STEP: ".$this->rd_step." FROM: ".$this->rd_from. "IS_PAGE:" . $is_page_streaming);
$old_stat = $this->rd_stat;
$old_subst = $this->rd_subst;
$old_step = $this->rd_step;
- if (($ret = maincheck($this, $old_stat, $old_subst, $old_step, $this->rd_stat, $this->rd_subst, $this->rd_step, $splashdate)) != FALSE) {
+ printf("xXx PRE : rd_step %d\n", $this->rd_step);
+ if (($ret = $this->maincheck($old_stat, $old_subst, $old_step, $this->rd_stat, $this->rd_subst, $this->rd_step, $splashdate, $table_idx, $table_token)) != FALSE) {
$body .= sprintf("<script id='hs%d' type='text/javascript'><!--
push(\"%s\");
// -->
if ($is_page_streaming)
return TRUE;
}
-
+ printf("xXx POST: rd_step %d\n", $this->rd_step);
+
return TRUE;
}
-function stream_keepalive()
+function stream_keepalive($with_ping)
{
- return (sprintf("<script id='hs%d' type='text/javascript'><!--
-push(null);
+ $ret = (sprintf("<script id='hs%d' type='text/javascript'><!--
+push(%s);
// -->
-</script>", $this->rd_scristp++));
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+</script>", $this->rd_scristp++, ($with_ping ? "\"act_ping();\"" : "null")));
+ return ($ret);
+}
+static function base_get()
+{
+ $c = get_called_class();
+ printf("CALLED_CLASS: [%s]\n", $c);
+ return $c::BASE;
+}
} // end class User