wag_own table field behavior changed from User pointer to User index into room array
[brisk.git] / web / Obj / brisk.phh
index 5249ff5..7ccecb7 100644 (file)
@@ -134,12 +134,12 @@ $mlang_brisk = array( 'btn_backstand'=> array( 'it' => 'torna in piedi',
 $G_lng = langtolng($G_lang);
 
 $G_all_points = array( 11,10,4,3,2, 0,0,0,0,0 );
-$G_brisk_version = "3.2.0";
+$G_brisk_version = "3.4.2";
 
 /* MLANG: ALL THE INFO STRINGS IN brisk.phh */
-$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: informazioni al tavolo sul chiamante, nuovo stato di supporter del sito.',
+$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: versione di test per la nuova gestione dei dati volatili.',
                                        'Se vuoi iscriverti alla <a target="_blank" href="mailto:ml-briscola+subscribe@milug.org">Mailing List</a>, cliccala!' ),
-                       'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NEWS</b>: caller information on the table, new supporter status.',
+                       'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NEWS</b>: test version for the new volatile data management.',
                                        'If you want to subscribe our <a target="_blank" href="ml-briscola+subscribe@milug.org">Mailing List</a>, click it!' ) );
 
 $G_room_help = array( 'it' => '
@@ -393,7 +393,7 @@ class Table {
     $thiz->player_n  =   0;
     $thiz->auth_only =   FALSE;
 
-    $thiz->wag_own   =  NULL;
+    $thiz->wag_own   =  -1;
     $thiz->wag_com   =  "";
     $thiz->wag_tout   =  0;
 
@@ -462,11 +462,11 @@ class Table {
     return ($thiz);
   }
 
-  function wag_set($user, $mesg)
+  function wag_set($user_idx, $mesg)
   {
     log_main("WAG_SET");
 
-    $this->wag_own  =  $user;
+    $this->wag_own  =  $user_idx;
     $this->wag_com  =  $mesg;
     $this->wag_tout =  0;
   }
@@ -476,17 +476,17 @@ class Table {
     log_main("WAG_RESET");
 
     unset($this->wag_own);
-    $this->wag_own = NULL;
+    $this->wag_own  = -1;
     $this->wag_com  = "";
     $this->wag_tout = $timeout;
   }
 
-  function getPlayer($idx)
+  function player_get($idx)
   {
     return ($this->player[$idx]);
   }
 
-  function setPlayer($idx, $player)
+  function player_set($idx, $player)
   {
     $this->player[$idx] = $player;
   }
@@ -1239,8 +1239,8 @@ class Room {
       // $ret .= table_act_content(($user->subst == 'standup'), $this->table[$i]->player_n, $i, $user->table, 
       //                          ($this->table[$i]->auth_only == FALSE ? TRUE : $user->flags & USER_FLAG_AUTH));
       $ret .=  $this->table[$i]->act_content($user);
-      if ($this->table[$i]->wag_own != NULL
-        $ret .= sprintf('tra.add(%d, "%s: %s"); ', $i,  $this->table[$i]->wag_own->name, $this->table[$i]->wag_com);
+      if ($this->table[$i]->wag_own != -1
+        $ret .= sprintf('tra.add(%d, "%s: %s"); ', $i,  $this->user[$this->table[$i]->wag_own]->name, $this->table[$i]->wag_com);
       else 
         $ret .= sprintf('tra.rem(%d); ', $i);
     }
@@ -1286,11 +1286,10 @@ class Room {
       $user->laccwr = $curtime;
     }
     
-    $remove_wagon = false;
-    if($table->wag_own == $user) {
-      $remove_wagon = true;
+    $remove_wagon = FALSE;
+    if($table->wag_own == $user->idx_get()) {
       $table->wag_reset($curtime);
-      
+      $remove_wagon = TRUE;
     }
     
 
@@ -1495,14 +1494,13 @@ class Room {
       $table = &$this->table[$table_idx];
 
       // wagon shutdown 
-      if ($table->wag_own != NULL && $table->player_n == PLAYERS_N) {        
+      if ($table->wag_own != -1 && $table->player_n == PLAYERS_N) {        
         for ($i = 0 ; $i < TABLES_N ; $i++) {
-          $user_cur =& $this->user[$table->player[$i]];
-          if ($user_cur == $table->wag_own) {
-            $train_app = sprintf("tra.rem(%d); ", $table_idx); 
-            $table->wag_reset(time());
-            break;
-          }
+            if ($table->wag_own == $table->player[$i]) {
+                $train_app = sprintf("tra.rem(%d); ", $table_idx); 
+                $table->wag_reset(time());
+                break;
+            }
        }
       }
     }
@@ -1574,7 +1572,7 @@ class Room {
 
         $table = &$this->table[$user->table];
         
-        if ($table->wag_own != NULL) {
+        if ($table->wag_own != -1) {
           // MLANG <br>Il messaggio di segnalazione del tavolo &egrave; gi&agrave; attivato.<br><br> 
           $msg = $mlang_brisk['tickjust'][$G_lang];
           $to_user = show_notify($msg, 0, "chiudi", 400, 100);
@@ -1594,7 +1592,7 @@ class Room {
         
         $msg = substr($msg, 5);
         
-        $table->wag_set($user, $msg);
+        $table->wag_set($user->idx_get(), $msg);
         $to_user = sprintf('tra.add(%d, "%s");', $user->table, xcape(sprintf("%s: %s", $user->name, $msg)));
         $to_room = $to_user;
         /* for old isolation management $is_ticker = TRUE; */