wag_own table field behavior changed from User pointer to User index into room array
[brisk.git] / web / Obj / brisk.phh
index c5bc2de..7ccecb7 100644 (file)
@@ -131,16 +131,15 @@ $mlang_brisk = array( 'btn_backstand'=> array( 'it' => 'torna in piedi',
 
 );
 
-$G_false = FALSE;
 $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' => '
@@ -384,19 +383,17 @@ class Table {
   {
   }
   
-  function &create($idx) 
+  function create($idx) 
   {
-    GLOBAL $G_false;
-
     if (($thiz =& new Table()) == FALSE)
-      return ($G_false);
+      return (FALSE);
 
     $thiz->idx       =   $idx;
     $thiz->player    =   array();
     $thiz->player_n  =   0;
     $thiz->auth_only =   FALSE;
 
-    $thiz->wag_own   =  NULL;
+    $thiz->wag_own   =  -1;
     $thiz->wag_com   =  "";
     $thiz->wag_tout   =  0;
 
@@ -408,10 +405,8 @@ class Table {
     return ($thiz);
   }
 
-  function copy(&$from)
+  function copy($from)
   {
-    GLOBAL $G_false;
-    
     $this->idx = $from->idx;
     $this->player = array();
     for ($i = 0 ; $i < $from->player_n ; $i++)
@@ -432,24 +427,20 @@ class Table {
     $this->wakeup_time = $from->wakeup_time;
   }
 
-  function &myclone(&$from)
+  function myclone($from)
   {
-    GLOBAL $G_false;
-    
     if (($thiz =& new Table()) == FALSE)
-      return ($G_false);
+      return (FALSE);
 
     $this->copy($from);
 
     return ($thiz);
   }
   
-  function &spawn(&$from)
+  function spawn($from)
   {
-    GLOBAL $G_false;
-    
     if (($thiz =& new Table()) == FALSE)
-      return ($G_false);
+      return (FALSE);
     
     $thiz->idx = $from->idx;
     $thiz->player = array();
@@ -471,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;
   }
@@ -485,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;
   }
@@ -645,13 +636,11 @@ class User {
   function User() {
   }
 
-  function &create($idx, $name, $sess, $stat = "", $subst = "", $table = -1, $ip="0.0.0.0") {
-    GLOBAL $G_false;
-
+  function create($idx, $name, $sess, $stat = "", $subst = "", $table = -1, $ip="0.0.0.0") {
     // error_log("User::create BEGIN", 0);
 
     if (($thiz =& new User()) == FALSE)
-      return ($G_false);
+      return (FALSE);
 
     $thiz->idx   = $idx;
     $thiz->code  = -1;
@@ -687,10 +676,8 @@ class User {
     return ($thiz);
   }
 
-  function copy(&$from)
+  function copy($from)
   {
-    GLOBAL $G_false;
-    
     $this->idx        = $from->idx;
     $this->code       = $from->code;
     $this->name       = $from->name;
@@ -735,24 +722,20 @@ class User {
   }
 
 
-  function &myclone(&$from)
+  function myclone($from)
   {
-    GLOBAL $G_false;
-    
     if (($thiz =& new User()) == FALSE)
-      return ($G_false);
+      return (FALSE);
     
     $thiz->copy($from);
 
     return ($thiz);
   }
   
-  function &spawn(&$from, $table, $table_pos)
+  function spawn($from, $table, $table_pos)
   {
-    GLOBAL $G_false;
-    
     if (($thiz =& new User()) == FALSE)
-      return ($G_false);
+      return (FALSE);
     
     $thiz->idx        = $from->idx;
     $thiz->code       = $from->code;
@@ -879,9 +862,9 @@ class User {
 
 
   // SHSPLIT save and load function for the User class.
-  function &load_data($id) 
+  function load_data($id) 
   {
-    GLOBAL $G_false, $sess;
+    GLOBAL $sess;
 
     // error_log("User::load_data BEGIN", 0);
 
@@ -926,14 +909,13 @@ class User {
       //  
       // SHSPLIT: load users from the shared memory
       //
-      $ret = &$user;
-      return ($ret);
+      return ($user);
     } while (0);
     
     if ($doexit)
       exit();
     
-    return ($G_false);
+    return (FALSE);
   }
   
 
@@ -1257,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);
     }
@@ -1304,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;
     }
     
 
@@ -1513,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;
+            }
        }
       }
     }
@@ -1592,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);
@@ -1612,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; */
@@ -1961,9 +1941,9 @@ class Room {
     return;
   } // function chatt_send( ...
 
-  function &get_user($sess, &$idx)
+  function get_user($sess, &$idx)
   {
-    GLOBAL $PHP_SELF, $G_false;
+    GLOBAL $PHP_SELF;
 
     if (validate_sess($sess)) {
       for ($i = 0 ; $i < MAX_PLAYERS ; $i++) {
@@ -1982,11 +1962,11 @@ class Room {
       log_main(sprintf("get_user: Wrong strlen [%s]",$sess));
     }
 
-    return ($G_false);
+    return (FALSE);
   }
 
   /*
-   * function &add_user(&$room, &$sess, &$idx, $name, $pass, $ip)
+   * function add_user(&$room, &$sess, &$idx, $name, $pass, $ip)
    *
    * RETURN VALUE:
    *   if ($idx >  -1    && ret == FALSE)  =>  duplicated nick
@@ -1997,14 +1977,12 @@ class Room {
    *   if ($idx == -$idx && ret == user)   =>  SUCCESS (but the login exists in the auth db)
    */
 
-  function &add_user(&$sess, &$idx, $name, $pass, $ip)
+  function add_user(&$sess, &$idx, $name, $pass, $ip)
   {
-    GLOBAL $G_base, $G_false, $CO_list;
+    GLOBAL $G_base, $CO_list;
 
     $idx = 0;
 
-    error_log("add_user: G_false: [".$G_false."]", 0);
-
     $authenticate = FALSE;
     $user_type    = 0;
     $login_exists = FALSE;
@@ -2016,7 +1994,7 @@ class Room {
 
     if (($name_new = validate_name($name)) == FALSE) {
       $idx = -2;
-      return ($G_false);
+      return (FALSE);
     }
 
     log_auth("XXX", sprintf("ARRIVA: [%s] pass:[%s]", $sess, ($pass == FALSE ? "FALSE" : $pass)));
@@ -2034,12 +2012,12 @@ class Room {
             log_auth("XXX", "authenticate: ".($authenticate != FALSE ? "TRUE" : "FALSE"));
             
             if ($authenticate != FALSE) {
-                error_log(print_r(&$authenticate, TRUE),0);
+                // error_log(print_r(&$authenticate, TRUE),0);
                 $user_type = $authenticate->type_get();
             }
             else {
                 $idx = -3;
-                return ($G_false);
+                return (FALSE);
             }
         }
         else {
@@ -2205,10 +2183,10 @@ class Room {
       return ($ret);
     }
 
-    return ($G_false);
+    return (FALSE);
   }
   
-  function standup_update(&$user)
+  function standup_update($user)
   {
     for ($i = 0 ; $i < MAX_PLAYERS ; $i++) {
       $user_cur = &$this->user[$i];
@@ -2234,17 +2212,17 @@ class Room {
   }
 
   // Static functions
-  static function &create()
+  static function create()
   {
-    $room =& new Room();
+    $room = new Room();
     
     return $room;
   }
   
   
-  function &load_data() 
+  function load_data() 
   {
-    GLOBAL $G_false, $sess;
+    GLOBAL $sess;
     $doexit = FALSE;
 
     // error_log("Room::load_data BEGIN", 0);
@@ -2276,10 +2254,10 @@ class Room {
               
               // error_log("DE CHE", 0);
 
-              $room =& Room::create();
+              $room = Room::create();
               
               if (Room::save_data($room) == FALSE)
-                  return $G_false;
+                  return FALSE;
 
               return $room;
           }
@@ -2295,14 +2273,13 @@ class Room {
       //  
       // SHSPLIT: load users from the shared memory
       //
-      $ret = &$room;
-      return ($ret);
+      return ($room);
     } while (0);
     
     if ($doexit)
       exit();
     
-    return ($G_false);
+    return (FALSE);
   }