X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fbriskin5%2FObj%2Fbriskin5.phh;h=05ecdf144d4c1d71c96505dac83ae19f42200d40;hb=e57a97b3b360856cef56884815289531f3bb326f;hp=e247e93135619ccd0cf6e2e6ab6134e625726128;hpb=20e2a68f563f8fb2451d587248240971b2927bf8;p=brisk.git diff --git a/web/briskin5/Obj/briskin5.phh b/web/briskin5/Obj/briskin5.phh index e247e93..05ecdf1 100644 --- a/web/briskin5/Obj/briskin5.phh +++ b/web/briskin5/Obj/briskin5.phh @@ -567,7 +567,7 @@ class Bin5_table extends Table { log_wr(sprintf("PRO: [%d]", $pro)); // PATTA case ! - if ($this->asta_pnt == 61 && $pro == 60) { + if (game_result($this->asta_pnt, $pro) == 0) { $this->points[$this->points_n % MAX_POINTS] = array(); for ($i = 0 ; $i < BIN5_PLAYERS_N ; $i++) { $this->points[$this->points_n % MAX_POINTS][$i] = 0; @@ -575,6 +575,7 @@ class Bin5_table extends Table { } $this->points_n++; $this->old_pnt = $pro; + $this->old_asta_win = $this->asta_win; $this->mult_inc(1); break; @@ -790,8 +791,7 @@ class Bin5_table extends Table { continue; $user_cur = &$bri->user[$this->player[$i]]; $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", [2, "%s"],"%s");', - $dt, NICKSERV, $msg); + $user_cur->comm[$user_cur->step % COMM_N] .= nickserv_msg($dt, $msg); $user_cur->step_inc(); } } @@ -1078,7 +1078,6 @@ class Bin5_user extends User { $this->rd_step = $this->step; } /* if ($this->rd_step == -1) { */ else { - /* $sem = Brisk::lock_data(FALSE); */ $S_load_stat['rU_heavy']++; if ($this->rd_step < $this->step) { @@ -1086,7 +1085,6 @@ class Bin5_user extends User { if ($this->rd_step + COMM_N < $this->step) { if ($this->rd_stat != $this->stat) { $to_stat = $this->stat; - /* Brisk::unlock_data($sem); */ log_load("RESYNC"); printf("xXx BIN5_USER::MAINCHECK\n"); return ($this->page_sync($this->sess, ($to_stat == "table" ? "index.php" : "../index.php"), $this->table, $this->table_token)); @@ -1135,7 +1133,6 @@ class Bin5_user extends User { } /* if ($this->the_end == TRUE) { ... */ } /* if ($this->rd_step < $this->step) { */ - /* Brisk::unlock_data($sem); */ } /* else of if ($this->rd_step == -1) { */ @@ -1230,7 +1227,32 @@ class Bin5 { return (FALSE); } + function banned_kickoff() + { + $is_ban = FALSE; + + for ($i = 0 ; $i < BIN5_MAX_PLAYERS ; $i++) { + $user_cur = $this->user[$i]; + + // check if the IP is blacklisted + if ($this->brisk->black_check($user_cur->ip)) { + $user_cur->lacc = 0; + $is_ban = TRUE; + continue; + } + // if authorized not check if banlisted + if ($user_cur->is_auth()) { + continue; + } + + if ($this->brisk->ban_check($user_cur->ip)) { + $user_cur->lacc = 0; + $is_ban = TRUE; + } + } + return ($is_ban); + } function garbage_manager($force) { @@ -1269,7 +1291,7 @@ class Bin5 { $remcalc = $this->table[0]->exitlock_calc(&$this->user, $user_cur->table_pos); if ($remcalc < 3) { require_once("${G_base}Obj/hardban.phh"); - Hardbans::add(($user_cur->flags & USER_FLAG_AUTH ? $user_cur->name : FALSE), + Hardbans::add(($user_cur->is_auth() ? $user_cur->name : FALSE), $user_cur->ip, $user_cur->sess, $user_cur->laccwr + BAN_TIME); } // $user->bantime = $user->laccwr + BAN_TIME; @@ -1451,7 +1473,7 @@ class Bin5 { static function request_mgr(&$s_a_p, $header, &$header_out, &$new_socket, $path, $addr, $get, $post, $cookie) { - GLOBAL $G_black_list; + GLOBAL $G_ban_list, $G_black_list; printf("NEW_SOCKET (root): %d\n", intval($new_socket)); @@ -1976,10 +1998,11 @@ function briscola_show($bri, $table, $user) function game_result($asta_pnt, $pnt) { + $sixty = 60; if ($asta_pnt == 61) { - if ($pnt > 60) + if ($pnt > $sixty) return (1); - else if ($pnt == 60) + else if ($pnt == $sixty) return (0); else return (-1); @@ -1997,7 +2020,7 @@ function log_points($remote_addr, $curtime, $user, $where, $mesg) if (($fp = @fopen(LEGAL_PATH."/points.log", 'a')) != FALSE) { /* Unix time | session | nickname | IP | where was | mesg */ fwrite($fp, sprintf("%ld|%s|%s|%s|%s|%s|%s|\n", $curtime, $user->sess, - ($user->flags & USER_FLAG_AUTH ? 'A' : 'N'), + ($user->is_auth() ? 'A' : 'N'), $user->name, $remote_addr, $where , $mesg)); fclose($fp); }