removed '&' symbol behind passed variables as arguments
[brisk.git] / web / briskin5 / Obj / briskin5.phh
index 256d6e8..e2cffa9 100644 (file)
@@ -525,7 +525,7 @@ class Bin5_table extends Table {
 
             $game_delta = 1;
             // $this->game_next(1);
-            $this->game_init(&$bri->user);
+            $this->game_init($bri->user);
         }
         else if ($action == BIN5_RULES_ABANDON) { // return TRUE if all correct
             if (!($user->handpt <= 2)) {
@@ -544,7 +544,7 @@ class Bin5_table extends Table {
             // Non si cambia mazzo se si abbandona la partita
             $game_delta = 0;
             // $this->game_next(0);
-            $this->game_init(&$bri->user);
+            $this->game_init($bri->user);
         }
         else if ($action == BIN5_RULES_FINISH) { // return TRUE if all correct
             $this->old_act = $action;
@@ -656,12 +656,12 @@ class Bin5_table extends Table {
                 unset($bdb);
             }
             else {
-                log_points($remote_addr, $curtime, $user, "STAT:BRISKIN5:FINISH_GAME", "DATABASE CONNECTION FAILED");
+                log_points($user->ip, $curtime, $user, "STAT:BRISKIN5:FINISH_GAME", "DATABASE CONNECTION FAILED");
             }
-            log_points($remote_addr, $curtime, $user, "STAT:BRISKIN5:FINISH_GAME", $plist);
+            log_points($user->ip, $curtime, $user, "STAT:BRISKIN5:FINISH_GAME", $plist);
         }
 
-        $this->game_init(&$bri->user);
+        $this->game_init($bri->user);
 
         return (TRUE);
     }
@@ -763,7 +763,7 @@ class Bin5_table extends Table {
             $this->mazzo = $match_data['mazzo_next'];
             $this->mult  = $match_data['mult_next'];
             $this->match_id = $match_id;
-            $this->game_init(&$bri->user);
+            $this->game_init($bri->user);
 
             /* reload of the page with the new layout */
             for ($i = 0 ; $i < BIN5_PLAYERS_N ; $i++) {
@@ -779,7 +779,7 @@ class Bin5_table extends Table {
                 $user_cur->comm[$user_cur->step % COMM_N] = "";
                 $user_cur->step_inc();
 
-                $user_cur->comm[$user_cur->step % COMM_N] = show_table(&$bri, &$user_cur, $user_cur->step+1, TRUE, FALSE);
+                $user_cur->comm[$user_cur->step % COMM_N] = show_table($bri, $user_cur, $user_cur->step+1, TRUE, FALSE);
                 $user_cur->step_inc();
             }
             return (TRUE);
@@ -791,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();
         }
     }
@@ -1070,7 +1069,7 @@ class Bin5_user extends User {
               log_load("RESYNC");
               /* NOTE: $this->room is associated with the current $bri object */
               printf("xXx CLASS NAME [%s]\n", get_class($this->room));
-              $ret = show_table(&$this->room, $this, $this->step, FALSE, FALSE);
+              $ret = show_table($this->room, $this, $this->step, FALSE, FALSE);
           }
           log_rd2("NEWSTAT: ".$this->stat);
 
@@ -1079,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) {
@@ -1087,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));
@@ -1115,28 +1112,9 @@ class Bin5_user extends User {
 
               log_rd2($this->step, 'index_rd.php: after ret set');
 
-              if ($this->the_end == TRUE) {
-                  log_rd2("LOGOUT BYE BYE!!");
-                  log_auth($this->sess, "Explicit logout.");
-
-                  if ($this->the_end == TRUE) {
-                      $this->reset();
-
-                      // FIXME !!!
-                      /* if ($this->subst == 'sitdown') { */
-                      /*     log_load("ROOM WAKEUP"); */
-                      /*     $this->room->room_wakeup($this); */
-                      /* } */
-                      /* else if ($this->subst == 'standup') */
-                      /*     $this->room->room_outstandup($this); */
-                      /* else */
-                      /*     log_rd2("LOGOUT FROM WHAT ???"); */
-
-                  } /* if ($this->the_end == TRUE) { ... */
-              } /* if ($this->the_end == TRUE) { ... */
+              // if ($this->the_end == TRUE) { management is moved
+              // in the spush scope
           } /* if ($this->rd_step < $this->step) { */
-
-          /* Brisk::unlock_data($sem); */
       }  /* else of if ($this->rd_step == -1) { */
 
 
@@ -1194,7 +1172,7 @@ class Bin5 {
             $user[$table->player[$i]]->table_token = $table_token;
             $this->user[$i] = Bin5_user::spawn($user[$table->player[$i]], $this, $table_idx, $i, $get, $post, $cookie);
         }
-        $this->table[0] = Bin5_table::spawn(&$table);
+        $this->table[0] = Bin5_table::spawn($table);
 
         log_main("TABLE_OLD_WIN - Bin5:".$this->table[0]->old_asta_win);
 
@@ -1214,6 +1192,8 @@ class Bin5 {
 
         if (validate_sess($sess)) {
             for ($i = 0 ; $i < BIN5_MAX_PLAYERS ; $i++) {
+                if ($this->user[$i]->is_empty())
+                    continue;
                 if (strcmp($sess, $this->user[$i]->sess) == 0) {
                     // find it
                     $idx = $i;
@@ -1231,7 +1211,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)
     {
@@ -1246,7 +1251,7 @@ class Bin5 {
         if ($force || $this->garbage_timeout < $curtime) {
             for ($i = 0 ; $i < BIN5_MAX_PLAYERS ; $i++) {
                 $user_cur = $this->user[$i];
-                if ($user_cur->sess == "" ||
+                if ($user_cur->is_active() == FALSE || // is not active user or
                     ($user_cur->stat == 'table' && ($user_cur->subst == 'shutdowned' || $user_cur->subst == 'shutdowner')))
                     continue;
 
@@ -1256,21 +1261,14 @@ class Bin5 {
                     if ($user_cur->stat == 'table') {
                         log_auth($user_cur->sess," bin5 Autologout session.");
 
-                        /* SI DELEGA AL garbage_manager principale LA RIMOZIONE DELL'UTENTE
-
-                           $tmp_sess = $user_cur->sess;
-                           $user_cur->sess = "";
-                           Bin5_user::step_unproxy($tmp_sess);
-                           $user_cur->name = "";
-                           $user_cur->the_end = FALSE;
-
-                        */
+                        /* main garbage_manager is delegate as autologout management */
+                        $user_cur->the_end = TRUE;
 
                         /* se gli altri utenti non erano d'accordo questo utente viene bannato */
-                        $remcalc = $this->table[0]->exitlock_calc(&$this->user, $user_cur->table_pos);
+                        $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;
@@ -1381,7 +1379,7 @@ class Bin5 {
             for ($i = 0 ; $i < ($user->stat == 'room' ? BIN5_MAX_PLAYERS : BIN5_PLAYERS_N) ; $i++) {
                 if ($user->stat == 'room') {
                     $user_cur = &$this->user[$i];
-                    if ($user_cur->sess == '' || $user_cur->stat != 'room')
+                    if ($user_cur->is_active() == FALSE || $user_cur->stat != 'room') // is not active user or stat isn't 'room'
                         continue;
                 }
                 else {
@@ -1452,7 +1450,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));
 
@@ -1611,7 +1609,7 @@ function show_table(&$bri, &$user, $sendstep, $is_transition, $is_again)
     $table_pos = $user->table_pos;
 
     $ret = "table_init();";
-    $ret .= $table->exitlock_show(&$bri->user, $table_pos);
+    $ret .= $table->exitlock_show($bri->user, $table_pos);
     if (!$is_again) {
         /* GENERAL STATUS */
         $ret .= sprintf( 'gst.st = %d; stat = "%s"; subst = "%s"; table_pos = %d;',
@@ -1642,7 +1640,7 @@ function show_table(&$bri, &$user, $sendstep, $is_transition, $is_again)
     }
     /* NOTIFY FOR THE CARD MAKER */
     if ($is_transition) { //  && $user->subst ==  "asta" superfluo
-        $ret .= show_table_info(&$bri, &$table, $table_pos);
+        $ret .= show_table_info($bri, $table, $table_pos);
         $ret .= "setTimeout(preload_images, 500, g_preload_img_arr, g_imgct);";
     }
     else {
@@ -1977,11 +1975,11 @@ function briscola_show($bri, $table, $user)
 
 function game_result($asta_pnt, $pnt)
 {
-    $sixtee = 60;
+    $sixty = 60;
     if ($asta_pnt == 61) {
-        if ($pnt > $sixtee)
+        if ($pnt > $sixty)
             return (1);
-        else if ($pnt == $sixtee)
+        else if ($pnt == $sixty)
             return (0);
         else
             return (-1);
@@ -1999,7 +1997,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);
     }