X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fuser.phh;h=f3886038d8cbfde0de900959a7cdcea051c3d7a4;hb=3ebedb90c5d41ce34cf4dd9dba00f12fb78d024a;hp=a7709643659227ec8daf35863483916549dec0eb;hpb=5038893a7b944417e7777426f145e2b87f37f4c1;p=brisk.git diff --git a/web/Obj/user.phh b/web/Obj/user.phh index a770964..f388603 100644 --- a/web/Obj/user.phh +++ b/web/Obj/user.phh @@ -46,6 +46,10 @@ define('USER_FLAG_S_RABB', 0x800); // done define('USER_FLAG_S_SOCC', 0x900); // done define('USER_FLAG_S_BABY', 0xa00); // done define('USER_FLAG_S_MOP', 0xb00); // done +define('USER_FLAG_S_BABBO', 0xc00); // done +define('USER_FLAG_S_RENNA', 0xd00); // done +define('USER_FLAG_S_PUPAZ', 0xe00); // done +define('USER_FLAG_S_VISCH', 0xf00); // done define('USER_FLAG_S_ALL', 0xf00); // done @@ -53,6 +57,7 @@ define('USER_FLAG_S_ALL', 0xf00); // done define('USER_FLAG_TY_ALL', 0xff0000); // done define('USER_FLAG_TY_NORM', 0x010000); // done define('USER_FLAG_TY_SUPER', 0x020000); // done +define('USER_FLAG_TY_CERT', 0x040000); // done // ... other usefull status ... define('USER_FLAG_TY_SUSPEND', 0x400000); // done define('USER_FLAG_TY_DISABLE', 0x800000); // done @@ -294,7 +299,7 @@ class User { return ($thiz); } - function rd_data_set($curtime, $enc, $stat, $subst, $step, $from) + function rd_data_set($curtime, $transp, $enc, $stat, $subst, $step, $from) { $this->rd_endtime = $curtime + RD_ENDTIME_DELTA; $this->rd_stat = $stat; @@ -304,7 +309,7 @@ class User { $this->rd_scristp = 0; $this->rd_kalive = $curtime + RD_KEEPALIVE_TOUT; $this->rd_zls = ZLibStream::create($enc); - $this->rd_transp = new Transport_iframe(); + $this->rd_transp = Transport::create($transp); } function rd_socket_get() { @@ -461,7 +466,7 @@ class User { function reset() { $curtime = time(); - log_legal($curtime, 'xxx', $this, "STAT:LOGOUT", ''); + log_legal($curtime, $this->ip, $this, "STAT:LOGOUT", ''); $tmp_sess = $this->sess; $this->sess = ""; @@ -647,13 +652,13 @@ class User { return ($ret); } // function maincheck (... - public static function stream_fini($init_string, $is_unrecoverable) + public static function stream_fini($transp, $init_string, $is_unrecoverable) { printf("xXx user::stream_fini\n"); // FIXME: dynamic "Transport_" type - $tans_class = "Transport_iframe"; - $body = $tans_class::fini($init_string, self::base_get(), static::blocking_error($is_unrecoverable)); + $trans_class = Transport::gettype($transp); + $body = $trans_class::fini($init_string, self::base_get(), static::blocking_error($is_unrecoverable)); // ELSE IF XHR THEN: // return (static::blocking_error($is_unrecoverable)); @@ -675,8 +680,6 @@ function stream_init($init_string, $enc, &$header_out, &$body, $get, $post, $coo $curtime = time(); printf("CLASS: [%s] base: [%s]\n", get_class($this), self::base_get()); - - // (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); log_load("index_rd_ifra_init.php"); @@ -688,8 +691,10 @@ function stream_init($init_string, $enc, &$header_out, &$body, $get, $post, $coo $subst = ""; if (($step = gpcs_var('step', $get, $post, $cookie)) === FALSE) unset($step); + if (($transp = gpcs_var('transp', $get, $post, $cookie)) === FALSE) + $transp = "iframe"; - $this->rd_data_set($curtime, $enc, $stat, $subst, $step, $from); + $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);