rabbit user mode added, room refresh after isolation mode leaved refactored
authorMatteo Nastasi (mop) <nastasi@alternativeoutput.it>
Fri, 21 Aug 2009 07:15:25 +0000 (07:15 +0000)
committerMatteo Nastasi (mop) <nastasi@alternativeoutput.it>
Fri, 21 Aug 2009 07:15:25 +0000 (07:15 +0000)
web/Obj/brisk.phh
web/room.js

index cbdf698..2100fb9 100644 (file)
@@ -563,6 +563,7 @@ define(USER_FLAG_S_EAT,   0x400); // done
 define(USER_FLAG_S_WRK,   0x500); // done
 define(USER_FLAG_S_SMK,   0x600); // done
 define(USER_FLAG_S_EYE,   0x700); // done
+define(USER_FLAG_S_RABB,  0x800); // done
 
 define(USER_FLAG_S_ALL,   0xf00); // done
 
@@ -1413,7 +1414,7 @@ class Room {
     $to_room     = FALSE;
     $to_tabl     = FALSE;
     $is_normchat = FALSE;
-    $is_ticker   = FALSE;
+    /* for old isolation management $is_ticker   = FALSE; */
     $update_room = FALSE;
 
     if (strcmp($msg,  "/tav") == 0 || 
@@ -1452,7 +1453,7 @@ class Room {
         $table->wag_set($user, $msg);
         $to_user = sprintf('tra.add(%d, "%s");', $user->table, xcape(sprintf("%s: %s", $user->name, $msg)));
         $to_room = $to_user;
-        $is_ticker = TRUE;
+        /* for old isolation management $is_ticker = TRUE; */
       } while (0);
     } // /tav chat command
 
@@ -1491,6 +1492,7 @@ class Room {
       $arg = substr($msg, 8);
 
       if (strcasecmp($arg, "isolation") == 0) {
+        $flags_old = 0;
         if ($user->stat == 'room' && $user->subst == 'sitdown' &&
             $user->table >= TABLES_AUTH_N) {
           $to_user = sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, $mlang_brisk['listmust'][$G_lang]);
@@ -1503,13 +1505,21 @@ class Room {
         }
       }
       else if (strcasecmp($arg, "auth") == 0) {
+        $flags_old = $user->flags;
         $user->flags &= ~USER_FLAG_MAP_AUTH;
         $user->flags |= USER_FLAG_LISTAUTH;
         $to_user = 'list_set(\'auth\', true, \''.$mlang_brisk['tit_onauth'][$G_lang].'\'); ';
       }
       else {
+        $flags_old = $user->flags;
         $user->flags &= ~USER_FLAG_MAP_AUTH;
         $to_user = 'list_set(\'all\', true, \'\'); ';
+        
+      }
+      // if from isolation redraw standup area
+      if (($flags_old ^ $user->flags) & USER_FLAG_ISOLAUTH) {
+        $to_user .= 'standup_data_old = null; '.$this->standup_content($user);
+        
       }
     }
     else if (strcmp($msg, "/authreq") == 0) {
@@ -1620,6 +1630,9 @@ class Room {
         else if (strcasecmp($st_str, "presente") == 0) {
           $st = USER_FLAG_S_EYE;
         }
+        else if (strcasecmp($st_str, "coniglio") == 0) {
+          $st = USER_FLAG_S_RABB;
+        }
         else {
           /* MLANG: "Questo stato non esiste." */
           $to_user = sprintf('chatt_sub("%s", [2,"%s"],"%s");', $dt, NICKSERV, $mlang_brisk['statunkn'][$G_lang]);
@@ -1704,13 +1717,14 @@ class Room {
             }
           }
         }
+        /*
         else if ($is_ticker) {
           if (($user_cur->flags & USER_FLAG_MAP_AUTH) == USER_FLAG_ISOLAUTH) {
             if ($user->table >= TABLES_AUTH_N)
               continue;
           }
         }
-
+        */
         $user_cur->comm[$user_cur->step % COMM_N] =  "gst.st = ".($user_cur->step+1)."; ";
         $user_cur->comm[$user_cur->step % COMM_N] .= $to_room; 
         $user_cur->step_inc();
index 32a3483..46f8612 100644 (file)
@@ -69,6 +69,10 @@ function state_add(flags)
             name = "st_eye.png";
             tit = (g_lang == 'en' ? "I'm here!" : "sono presente!");
             break;
+        case 0x800:
+            name = "st_rabbit.png";
+            tit = (g_lang == 'en' ? "Rabbit time" : "sono a spasso col coniglio");
+            break;
         default:
             break;
         }
@@ -705,6 +709,11 @@ function list_set(what, is_update, info)
             relo = true;
         g_listen = l_list_all;
     }
+
+    set_checked_value($('ra_listen_auth'), what);
+    set_checked_value($('ra_listen_isol'), what);
+    set_checked_value($('ra_listen_all'),  what);
+
     $('list_info').innerHTML = info;
     if (is_update) {
         createCookie("CO_list", what, 24*365, cookiepath);
@@ -720,11 +729,20 @@ function list_set(what, is_update, info)
             
             $('td_noauth'+i).style.display = (what == 'isolation' ? 'none' : '');
         }
-        // ricalculation of standup area
-        if (standup_data_old != null) {
-            standup_data = standup_data_old;
-            standup_data_old = null;
-            j_stand_cont(standup_data);
+        if (what == 'isolation') {
+            tra.hide_noauth();
+        }
+        else {
+            tra.show_noauth();
+        }
+            
+        if (false) {
+            // ricalculation of standup area
+            if (standup_data_old != null) {
+                standup_data = standup_data_old;
+                standup_data_old = null;
+                j_stand_cont(standup_data);
+            }
         }
     }
 }