aggiunto *_wellcome per le chat, create user_add e user_rem nella classe table, aggiu...
[brisk.git] / web / index_wr.php
index 4ce65cb..c006b25 100644 (file)
@@ -17,6 +17,8 @@
  * not, write to the Free Software Foundation, Inc, 59 Temple Place -
  * Suite 330, Boston, MA 02111-1307, USA.
  *
+ * $Id$
+ *
  */
 
 require_once("brisk.phh");
@@ -34,7 +36,7 @@ log_wr($sess, 'COMM: '.$mesg);
 
 $sem = lock_data();
 $bri = &load_data();
-if (($user = &get_user($bri, $sess, &$idx)) == FALSE) {
+if (($user = &$bri->get_user($sess, &$idx)) == FALSE) {
   echo "Get User Error";
   log_wr($sess, "Get User Error");
   unlock_data($sem);
@@ -42,7 +44,22 @@ if (($user = &get_user($bri, $sess, &$idx)) == FALSE) {
 }
 $argz = explode('|', $mesg);
 
-if ($user->stat == 'room') {
+if ($argz[0] == 'shutdown') {
+  log_auth($user_cur->sess, "Shutdown session.");
+  
+  $user->sess = "";
+  $user->name = "";
+  $user->the_end = FALSE;
+  
+  log_rd2($user->sess, "AUTO LOGOUT.");
+  if ($user->subst == 'sitdown' || $user->stat == 'table')
+    $bri->room_wakeup(&$user);
+  else if ($user->subst == 'standup')
+    $bri->room_outstandup(&$user);
+  else
+    log_rd2($sess, "SHUTDOWN FROM WHAT ???");
+}
+else if ($user->stat == 'room') {
   if ($argz[0] == 'logout') {
     $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
     $user->comm[$user->step % COMM_N] .= sprintf('postact_logout();');
@@ -72,9 +89,7 @@ if ($user->stat == 'room') {
     // set new status
     $user->subst = "sitdown";
     $user->table = $table_idx;
-    $user->table_pos = $table->player_n;
-    $table->player[$table->player_n] = $idx;
-    $table->player_n++;
+    $user->table_pos = $table->user_add($idx);
                
     if ($table->player_n == PLAYERS_N) {
       // Start game for this table.
@@ -88,7 +103,7 @@ if ($user->stat == 'room') {
        log_wr($sess, "Pre if!");
        
        $ret = "";
-       $ret .= sprintf('gst.st_loc++; gst.st=%d; the_end=true; document.location.assign("table.php");|', $user_cur->step+1);
+       $ret .= sprintf('gst.st_loc++; gst.st=%d; the_end=true; window.onunload = null ; document.location.assign("table.php");|', $user_cur->step+1);
        
        $user_cur->comm[$user_cur->step % COMM_N] = $ret;
        $user_cur->trans_step = $user_cur->step + 1;