}
*/
- function spawn($from, &$bri, $table, $table_pos, $get, $post, $cookie)
+ static function spawn($from, &$bri, $table, $table_pos, $get, $post, $cookie)
{
if (($thiz = new Bin5_user()) == FALSE)
return (FALSE);
log_wr("Bin5 constructor");
- $this->privflags = ($CO_bin5_pref_ring_endauct == "true" ? BIN5_USER_FLAG_RING_ENDAUCT : 0) | 0;
+ $thiz->privflags = ($CO_bin5_pref_ring_endauct == "true" ? BIN5_USER_FLAG_RING_ENDAUCT : 0) | 0;
$thiz->table_orig = $table;
$thiz->table = 0;
var $delay_mgr;
- static function page_manager($room, $header_out, $path, $method, $addr, $get, $post, $cookie)
- {
- switch ($path) {
- case "":
- case "index.php":
- ob_start();
- bin5_index_main($room, $header_out, $addr, $get, $post, $cookie);
- $content = ob_get_contents();
- ob_end_clean();
-
- force_no_cache($header_out);
-
- $pgflush = new PageFlush($new_socket, $curtime, 20, $header_out, $content);
-
- if ($pgflush->try_flush($curtime) == FALSE) {
- // Add $pgflush to the pgflush array
- array_push($pages_flush, $pgflush);
- }
- break;
- }
- return TRUE;
- }
-
function Bin5 ($room, $table_idx, $table_token, $get, $post, $cookie) {
$this->user = array();
$this->table = array();
static function request_mgr(&$s_a_p, $header, &$header_out, &$new_socket, $path, $addr, $get, $post, $cookie)
{
+ GLOBAL $G_black_list;
+
printf("NEW_SOCKET (root): %d\n", intval($new_socket));
$enc = get_encoding($header);
$content = ob_get_contents();
ob_end_clean();
- $s_a_p->pendpage_try_addflush($enc, $new_socket, 20, $header_out, $content);
+ $s_a_p->pendpage_try_addflush($new_socket, 20, $enc, $header_out, $content);
return TRUE;
break;
else {
$content = "Bin5 Load data error";
}
- $s_a_p->pendpage_try_addflush($enc, $new_socket, 20, $header_out, $content);
+ $s_a_p->pendpage_try_addflush($new_socket, 20, $enc, $header_out, $content);
return TRUE;
break;
case "index_rd_ifra.php":
+ if (($transp = gpcs_var('transp', $get, $post, $cookie)) === FALSE)
+ $transp = "iframe";
+ if ($transp == 'websocket')
+ $enc = 'plain';
+
do {
if (!isset($table_idx)
|| !isset($table_token)
|| (($user = $bri->get_user($cookie['sess'], $idx)) == FALSE)) {
$content = Bin5_user::stream_fini($transp_type, $s_a_p->rndstr, TRUE);
- $s_a_p->pendpage_try_addflush($enc, $new_socket, 20, $header_out, $content);
+ $s_a_p->pendpage_try_addflush($new_socket, 20, $enc, $header_out, $content);
return TRUE;
break;
}
$content = "";
- $user->stream_init($s_a_p->rndstr, $enc, $header_out, $content, $get, $post, $cookie);
- $response = headers_render($header_out, -1).chunked_content($user->rd_zls_get(), $content);
+ $user->stream_init($s_a_p->rndstr, $enc, $header, $header_out, $content, $get, $post, $cookie);
+
+ $response = headers_render($header_out, -1).$user->chunked_content($content);
$response_l = mb_strlen($response, "ASCII");
$wret = @fwrite($new_socket, $response, $response_l);
fflush($new_socket);
- $s_a_p->socks_set($new_socket, $user);
+ $s_a_p->socks_set($new_socket, $user, NULL);
$user->rd_socket_set($new_socket);
printf(" - qui ci siamo - ");
return TRUE;