index_rd_ifra.php renamed in index_rd.php
[brisk.git] / web / Obj / user.phh
index f52bc3e..f825c2b 100644 (file)
@@ -83,8 +83,8 @@ $mlang_indrd = array(
 
 class User {
   var $room;       // reference to the room where the user is registered
-  var $idx;        // index in the users array when you are in game
-  var $idx_orig;   // index in the users array when you aren't in game
+  var $idx;        // index in the room users array when you are in game
+  var $idx_orig;   // index in the room table users array when you aren't in game
   var $code;       // authentication code
   var $name;       // name of the user
   var $sess;       // session of the user
@@ -513,7 +513,7 @@ class User {
                       xcape($this->name,ENT_COMPAT,"UTF-8")));
   }
 
-  /* INDEX_RD_IFRA PORT */
+  /* INDEX_RD PORT */
 
   static function blocking_error($is_unrecoverable)
   {
@@ -640,6 +640,12 @@ class User {
                   for ($i = $cur_step ; $i < $this->step ; $i++) {
                       $ii = $i % COMM_N;
                       log_rd2("ADDED TO THE STREAM: ".$this->comm[$ii]);
+                      if ($this->comm[$ii] == "") {
+                          if ($i == $cur_step)
+                              continue;
+                          else
+                              break;
+                      }
                       $ret .= $this->comm[$ii];
                   }
                   $new_stat =  $this->stat;
@@ -699,13 +705,13 @@ class User {
    stat
    step
 */
-function stream_init($init_string, $enc, &$header_out, &$body, $get, $post, $cookie)
+function stream_init($init_string, $enc, $header, &$header_out, &$body, $get, $post, $cookie)
 {
     $curtime = time();
     
     printf("CLASS: [%s] base: [%s]\n", get_class($this), self::base_get());
 
-    log_load("index_rd_ifra_init.php");
+    log_load("index_rd_init.php");
     
     if (($from  = gpcs_var('from', $get, $post, $cookie)) === FALSE)
         $from = "";
@@ -720,7 +726,13 @@ function stream_init($init_string, $enc, &$header_out, &$body, $get, $post, $coo
     
     $this->rd_data_set($curtime, $transp, $enc, $stat, $subst, $step, $from);
     
-    $body .= $this->rd_transp->init($enc, &$header_out, $init_string, self::base_get(), $this->rd_scristp);
+    $ret = $this->rd_transp->init($enc, $header, &$header_out, $init_string, self::base_get(), $this->rd_scristp);
+
+    if ($ret === FALSE) {
+        return FALSE;
+    }
+
+    $body .= $ret;
 
     return TRUE;
   }
@@ -760,6 +772,11 @@ function stream_keepalive($with_ping)
     return ($this->rd_transp->chunk( $this->rd_scristp++, ($with_ping ? "act_ping();" : NULL)));
 }
 
+function stream_close()
+{
+    return ($this->rd_transp->close());
+}
+
 static function base_get()
 {
     $c = get_called_class();
@@ -803,7 +820,7 @@ function chunked_content($content)
         return (sprintf("%X\r\n", $cont_comp_l).$cont_comp."\r\n");
     }
     else {
-        return $content;
+        return $cont_comp;
     }
 }