add new type of tables (certified only) and new type of user (certified)
[brisk.git] / web / room.js
index 82e6fcc..59117c9 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *  brisk - room.js
  *
- *  Copyright (C) 2006-2012 Matteo Nastasi
+ *  Copyright (C) 2006-2014 Matteo Nastasi
  *                          mailto: nastasi@alternativeoutput.it 
  *                                  matteo.nastasi@milug.org
  *                          web: http://www.alternativeoutput.it
@@ -29,7 +29,7 @@
 */
 
 
-function state_add(flags)
+function state_add(flags, comp)
 {
     var content = "", supercont = "";
     var st, superst, name = "", supername = "", supersfx = "";
@@ -113,14 +113,19 @@ function state_add(flags)
 
         switch (superst) {
         case 0x20000:
-            supername = "superuser"+supersfx+".png";
+            if (comp != null) {
+                supername = "suprend.php?comp="+comp+"&sfx="+supersfx;
+            }
+            else {
+                supername = "img/superuser"+supersfx+".png";
+            }
             supertit = (g_lang == 'en' ? "Brisk Supporter" : "Brisk Supporter");
             break;
         }
     }
 
     if (supername != "") {
-        content += '&nbsp;<img title="'+supertit+'" class="inline" src="img/'+supername+'">';
+        content += '&nbsp;<img title="'+supertit+'" class="inline" src="'+supername+'">';
     }
     
     if (name != "") {
@@ -258,6 +263,9 @@ function j_stand_tdcont(el)
     return (user_dec_and_state(el));
 }
 
+/*
+  ddata = [ [ <flags-int>, <nick-str>, <color-str> ], ... ]
+ */
 function j_stand_cont(ddata)
 {
     var i, ii;
@@ -280,9 +288,11 @@ function j_stand_cont(ddata)
     else
         data = ddata;
 
+    // WARNING:
+    //
+    //   managing update needs this branch (for few users and the else!!)
+    //
     if (standup_data_old == null || data.length < 4) {
-    // if (standup_data_old == null) {
-        
         content = '<table cols="'+(data.length < 4 ? data.length : 4)+'" class="table_standup">';
         for (i = 0 ; i < data.length ; i++) {
             if ((i % 4) == 0)
@@ -300,18 +310,6 @@ function j_stand_cont(ddata)
         
         $("standup").innerHTML = content;
 
-        // console.log("inizio");
-        // for (i = 0 , curtag = table_walk($("standup")) ; curtag != null ;  curtag = table_walk(curtag), i++ ) {
-        //     console.log("inloop["+i+"]: "+curtag.tagName+"  ID: "+curtag.id);
-        // }
-        // console.log("fine "+i);
-
-        // walktable($("standup"), nextag);
-        // console.log($("standup").firstChild);
-        // console.log($("standup").firstChild.firstChild.firstChild.firstChild);
-
-        // log_walk($("standup"));
-
         standup_data_old = data;
     }
     else {
@@ -341,7 +339,9 @@ function j_stand_cont(ddata)
             }
             else {
                 /* modified entries */
-                if (standup_data_old[i][0] != data[e][0]) {
+                if (standup_data_old[i][0] != data[e][0] ||
+                    standup_data_old[i].length != data[e].length ||
+                    (data[e].length == 3 && standup_data_old[i][2] != data[e][2])) {
                     arr_mod[idx_mod_n] = data[e];
                     idx_mod[idx_mod_n++] = i;
                 }
@@ -460,14 +460,21 @@ function j_tab_act_cont(idx, act)
         $("table_act"+idx).innerHTML = '<input type="button" class="button" name="xhenter'+idx+'"  value="'+(g_lang == 'en' ? "Sit down." : "Mi siedo.")+'" onclick="act_sitdown('+idx+');">';
     }
     else if (act == 'sitreser') {
-        // <img class="nobo" title="tavolo riservato agli utenti registrati" style="display: inline; margin-right: 80px;" src="img/okauth.png">
         // MLANG 1
-        $("table_act"+idx).innerHTML = '<input type="button" style="background-repeat: no-repeat; background-position: center; background-image: url(\'img/okauth.png\');" class="button" name="xhenter'+idx+'"  value="'+(g_lang == 'en' ? "Sit down." : "Mi siedo.")+'" onclick="act_sitdown('+idx+');">';
+        $("table_act"+idx).innerHTML = '<input type="button" style="background-repeat: no-repeat; background-position: center; background-image: url(\'img/okauth.png\');" class="button" name="xhenter'+idx+'"  value="'+(g_lang == 'en' ? "Sit down." : "Mi siedo.")+'" onclick="act_sitdown('+idx+');" title="'+(g_lang == 'en' ? "reserved table for authenticated users only" : "tavolo riservato agli utenti registrati")+'" alt="'+(g_lang == 'en' ? "reserved table for authenticated users only" : "tavolo riservato agli utenti registrati")+'">';
+    }
+    else if (act == 'sitcert') {
+        // MLANG 1
+        $("table_act"+idx).innerHTML = '<input type="button" style="background-repeat: no-repeat; background-position: center; background-image: url(\'img/okcert.png\');" class="button" name="xhenter'+idx+'"  value="'+(g_lang == 'en' ? "Sit down." : "Mi siedo.")+'" onclick="act_sitdown('+idx+');" title="'+(g_lang == 'en' ? "reserved table for authenticated users only" : "tavolo riservato agli utenti registrati e certificati")+'" alt="'+(g_lang == 'en' ? "reserved table for authenticated and certificated users only" : "tavolo riservato agli utenti registrati e certificati")+'">';
     }
     else if (act == 'wake') {
         // MLANG 1
         $("table_act"+idx).innerHTML = '<input type="button" class="button" name="xwakeup"  value="'+(g_lang == 'en' ? "Wake up." : "Mi alzo.")+'" onclick="act_wakeup();">';
     }
+    else if (act == 'resercert') {
+        // MLANG 1
+        $("table_act"+idx).innerHTML = '<img class="nobo" title="'+(g_lang == 'en' ? "reserved table for authenticated and certified users only" : "tavolo riservato agli utenti registrati e certificati")+'" style="margin-right: 20px;" src="img/onlycert.png">';
+    }
     else if (act == 'reserved') {
         // MLANG 1
         $("table_act"+idx).innerHTML = '<img class="nobo" title="'+(g_lang == 'en' ? "reserved table for authenticated users only" : "tavolo riservato agli utenti registrati")+'" style="margin-right: 20px;" src="img/onlyauth.png">';