X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fbriskin5%2FObj%2Fbriskin5.phh;h=4acdec0b7be7092f50545e6be68d19c699ef95a5;hb=46b0825543d5a3ed5088ef7d9213f639a9dd8a63;hp=11c1d5b93a0166f66edef208a4b10f7d2f9d8ec6;hpb=bd4ee6dd7696eeb5b0f8d7c7dc0cd9c840843146;p=brisk.git
diff --git a/web/briskin5/Obj/briskin5.phh b/web/briskin5/Obj/briskin5.phh
index 11c1d5b..4acdec0 100644
--- a/web/briskin5/Obj/briskin5.phh
+++ b/web/briskin5/Obj/briskin5.phh
@@ -503,7 +503,7 @@ class Bin5_user extends User {
}
*/
- 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);
@@ -525,7 +525,7 @@ class Bin5_user extends User {
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;
@@ -801,28 +801,7 @@ class Bin5 {
var $the_end;
var $tok;
- 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;
- }
+ var $delay_mgr;
function Bin5 ($room, $table_idx, $table_token, $get, $post, $cookie) {
$this->user = array();
@@ -852,6 +831,8 @@ class Bin5 {
$this->table_token = $table_token;
$this->garbage_timeout = 0;
+ $this->delay_mgr = new Delay_Manager((GARBAGE_TIMEOUT *3.0) / 2.0);
+
log_wr("Bin5 constructor end");
}
@@ -888,6 +869,9 @@ class Bin5 {
/* Garbage collector degli utenti in timeout */
$ismod = FALSE;
$curtime = time();
+
+ $delta = $this->delay_mgr->delta_get($curtime);
+
if ($force || $this->garbage_timeout < $curtime) {
for ($i = 0 ; $i < BIN5_MAX_PLAYERS ; $i++) {
$user_cur = $this->user[$i];
@@ -895,7 +879,7 @@ class Bin5 {
($user_cur->stat == 'table' && ($user_cur->subst == 'shutdowned' || $user_cur->subst == 'shutdowner')))
continue;
- if ($user_cur->lacc + EXPIRE_TIME_RD < $curtime) { // Auto logout dell'utente
+ if ($user_cur->lacc + EXPIRE_TIME_RD < ($curtime - $delta)) { // Auto logout dell'utente
log_rd2($user_cur->sess." bin5 AUTO LOGOUT.");
if ($user_cur->stat == 'table') {
@@ -931,6 +915,7 @@ class Bin5 {
$ismod = TRUE;
}
+ $this->delay_mgr->lastcheck_set($curtime);
return ($ismod);
}
@@ -1017,7 +1002,7 @@ class Bin5 {
if (($name_new = validate_name(substr($user_mesg, 6))) == FALSE) {
$user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
- $user->comm[$user->step % COMM_N] .= sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, $mlang_brisk['nickmust'][$G_lang]);
+ $user->comm[$user->step % COMM_N] .= sprintf('chatt_sub("%s", [2, 0, "%s"],"%s");', $dt, NICKSERV, $mlang_brisk['nickmust'][$G_lang]);
$user->step_inc();
return;
@@ -1036,7 +1021,7 @@ class Bin5 {
$user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
$premsg = sprintf($mlang_brisk['nickdupl'][$G_lang], xcape($name_new));
- $user->comm[$user->step % COMM_N] .= sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, $premsg);
+ $user->comm[$user->step % COMM_N] .= sprintf('chatt_sub("%s", [2, 0, "%s"],"%s");', $dt, NICKSERV, $premsg);
$user->step_inc();
break;
}
@@ -1045,7 +1030,7 @@ class Bin5 {
if ($user->flags & USER_FLAG_AUTH && strcasecmp($user->name,$name_new) != 0) {
if ($this->table[$user->table]->auth_only == TRUE) {
$user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
- $user->comm[$user->step % COMM_N] .= sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, $mlang_brisk['authchan'][$G_lang]);
+ $user->comm[$user->step % COMM_N] .= sprintf('chatt_sub("%s", [2, 0, "%s"],"%s");', $dt, NICKSERV, $mlang_brisk['authchan'][$G_lang]);
$user->step_inc();
return;
}
@@ -1105,8 +1090,8 @@ class Bin5 {
}
$user_cur->comm[$user_cur->step % COMM_N] = "gst.st = ".($user_cur->step+1)."; ";
- $user_cur->comm[$user_cur->step % COMM_N] .= sprintf('chatt_sub("%s", [%d, "%s"],"%s");',
- $dt, $user->flags, xcape($user->name), xcape($user_mesg));
+ $user_cur->comm[$user_cur->step % COMM_N] .= sprintf('chatt_sub("%s", [%d, %d, "%s"],"%s");',
+ $dt, $user->flags, $user->flags_vlt, xcape($user->name), xcape($user_mesg));
$user_cur->step_inc();
}
log_legal($curtime, $user->ip, $user, ($user->stat == 'room' ? 'room' : 'table '.$user->table_orig),$user_mesg);
@@ -1168,6 +1153,8 @@ class Bin5 {
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);
@@ -1199,7 +1186,7 @@ class Bin5 {
$content = ob_get_contents();
ob_end_clean();
- $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content);
+ $s_a_p->pendpage_try_addflush($new_socket, 20, $enc, $header_out, $content);
return TRUE;
break;
@@ -1219,7 +1206,7 @@ class Bin5 {
else {
$content = "Bin5 Load data error";
}
- $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content);
+ $s_a_p->pendpage_try_addflush($new_socket, 20, $enc, $header_out, $content);
return TRUE;
break;
@@ -1232,7 +1219,7 @@ class Bin5 {
|| (($user = $bri->get_user($cookie['sess'], $idx)) == FALSE)) {
$content = Bin5_user::stream_fini($transp_type, $s_a_p->rndstr, TRUE);
- $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content);
+ $s_a_p->pendpage_try_addflush($new_socket, 20, $enc, $header_out, $content);
return TRUE;
break;
@@ -1261,7 +1248,7 @@ class Bin5 {
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;
@@ -1743,7 +1730,7 @@ function table_welcome($user)
$ret = "";
for ($i = 0 ; $i < count($table_wellarr[$G_lang]) ; $i++)
- $ret .= sprintf('chatt_sub("%s", [2, "ChanServ: "],"%s");', "", str_replace('"', '\"', $table_wellarr[$G_lang][$i]));
+ $ret .= sprintf('chatt_sub("%s", [2, 0, "ChanServ: "],"%s");', "", str_replace('"', '\"', $table_wellarr[$G_lang][$i]));
return ($ret);
}