X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Froom.js;h=e65606a9a33deba04c81da2d671d6a1b52506c7f;hb=0afea1ef9bfb43e9c1fe82aef2f13421b71836bb;hp=75dfbeb00dbabc1ac4cf10bd8c3f456632e433c8;hpb=bdb3cb2379f32bfb9279da661b1d4dbaf9712299;p=brisk.git diff --git a/web/room.js b/web/room.js index 75dfbeb..e65606a 100644 --- a/web/room.js +++ b/web/room.js @@ -1,7 +1,7 @@ /* * brisk - room.js * - * Copyright (C) 2006-2009 Matteo Nastasi + * Copyright (C) 2006-2012 Matteo Nastasi * mailto: nastasi@alternativeoutput.it * matteo.nastasi@milug.org * web: http://www.alternativeoutput.it @@ -23,69 +23,83 @@ /* - data = [ [ flags, name ], ... ] + + data = [ [ flags, flags_vlt, name ], ... ] */ -var l_list_all = 0x00; -var l_list_auth = 0x01; -var l_list_isol = 0x02; -function state_add(flags) +function state_add(flags, flags_vlt, comp) { var content = "", supercont = ""; var st, superst, name = "", supername = "", supersfx = ""; var tit = "", supertit = ""; - if ((flags & 0xf00) != 0) { - st = flags & 0xf00; + if ((flags_vlt & 0xff) != 0) { + st = flags_vlt & 0xff; // MLANG 4,12,16,20,24,28 switch (st) { - case 0x100: + case 0x01: name = "st_pau.png"; tit = (g_lang == 'en' ? "I'm doing a break" : "sono in pausa"); break; - case 0x200: + case 0x02: name = "st_out.png"; tit = (g_lang == 'en' ? "I'm away" : "sono fuori"); break; - case 0x300: + case 0x03: name = "st_dog.png"; tit = (g_lang == 'en' ? "Dog time" : "sono a spasso col cane"); break; - case 0x400: + case 0x04: name = "st_eat.png"; tit = (g_lang == 'en' ? "I'm eating" : "sto mangiando"); break; - case 0x500: + case 0x05: name = "st_wrk.png"; tit = (g_lang == 'en' ? "I'm working" : "sono a lavoro"); break; - case 0x600: + case 0x06: name = "st_smk.png"; tit = (g_lang == 'en' ? "I'm smoking a sigarett (and keeping a cancer)" : "sto fumando una sigaretta (e facendomi venire il cancro)"); break; - case 0x700: + case 0x07: name = "st_eye.png"; tit = (g_lang == 'en' ? "I'm here!" : "sono presente!"); break; - case 0x800: + case 0x08: name = "st_rabbit.png"; tit = (g_lang == 'en' ? "Rabbit time" : "sono a spasso col coniglio"); break; - case 0x900: + case 0x09: name = "st_soccer.png"; tit = (g_lang == 'en' ? "Soccer time" : "c'è la partita!!"); break; - case 0xa00: + case 0x0a: name = "st_baby.png"; tit = (g_lang == 'en' ? "Children time" : "ho il pupo da accudire"); break; - case 0xb00: + case 0x0b: name = "st_mop.png"; tit = (g_lang == 'en' ? "Mop time" : "sto rassettando"); break; + case 0x0c: + name = "st_babbo.png"; + tit = (g_lang == 'en' ? "Sto dando i regali" : "sto dando i regali"); + break; + case 0x0d: + name = "st_renna.png"; + tit = (g_lang == 'en' ? "in giro per regali" : "in giro per regali"); + break; + case 0x0e: + name = "st_pupaz.png"; + tit = (g_lang == 'en' ? "Neve a gogò" : "neve a gogò"); + break; + case 0x0f: + name = "st_visch.png"; + tit = (g_lang == 'en' ? "aspettando sotto al vischio" : "aspettando sotto al vischio"); + break; default: break; } @@ -99,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 += ' '; + content += ' '; } if (name != "") { @@ -123,7 +142,7 @@ var standup_data_old = null; function table_add(curtag, td) { - var tbody = null, tr; + var tbody = null, tr, ct; do { // console.log("wt: "+curtag.tagName); @@ -241,27 +260,12 @@ function table_walk(curtag) function j_stand_tdcont(el) { - var content = ""; - - if (el[0] & 0x01) - content += ''; - - if (el[0] & 0x02) - content += ''; - - content += el[1]; - - if (el[0] & 0x02) - content += ''; - - if (el[0] & 0x01) - content += ''; - - content += state_add(el[0]); - - return (content); + return (user_dec_and_state(el)); } +/* + ddata = [ [ , , , ], ... ] + */ function j_stand_cont(ddata) { var i, ii; @@ -275,7 +279,7 @@ function j_stand_cont(ddata) data = new Array(); for (i = 0, ii = 0 ; ii < ddata.length ; ii++) { - if ((ddata[ii][0] & 0x02) == 0) { + if ((ddata[ii][BSK_USER_FLAGS] & 0x02) == 0) { continue; } data[i++] = ddata[ii]; @@ -284,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 = ''; for (i = 0 ; i < data.length ; i++) { if ((i % 4) == 0) @@ -304,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 { @@ -335,7 +329,7 @@ function j_stand_cont(ddata) // find removed entries for (i = 0 ; i < standup_data_old.length ; i++) { for (e = 0 ; e < data.length ; e++) { - if (standup_data_old[i][1] == data[e][1]) { + if (standup_data_old[i][BSK_USER_NICK] == data[e][BSK_USER_NICK]) { break; } } @@ -345,7 +339,10 @@ function j_stand_cont(ddata) } else { /* modified entries */ - if (standup_data_old[i][0] != data[e][0]) { + if (standup_data_old[i][BSK_USER_FLAGS] != data[e][BSK_USER_FLAGS] || + standup_data_old[i][BSK_USER_FLGVL] != data[e][BSK_USER_FLGVL] || + standup_data_old[i].length != data[e].length || + (data[e].length == 4 && standup_data_old[i][BSK_USER_SCOL] != data[e][BSK_USER_SCOL])) { arr_mod[idx_mod_n] = data[e]; idx_mod[idx_mod_n++] = i; } @@ -356,12 +353,12 @@ function j_stand_cont(ddata) // find new entries for (e = 0 ; e < data.length ; e++) { for (i = 0 ; i < standup_data_old.length ; i++) { - if (data[e][1] == standup_data_old[i][1] ) { + if (data[e][BSK_USER_NICK] == standup_data_old[i][BSK_USER_NICK] ) { break; } } if (i == standup_data_old.length) { - // console.log("ADD: "+data[e][1]); + // console.log("ADD: "+data[e][BSK_USER_NICK]); arr_add[idx_add_n] = data[e]; map_add[idx_add_n++] = e; } @@ -418,7 +415,7 @@ function j_stand_cont(ddata) // console.log("fineloop"); for (i ; i_add < idx_add_n ; i_add++, i++) { - // console.log("ADD: "+i+" arr_add: "+ arr_add[i_add][1]); + // console.log("ADD: "+i+" arr_add: "+ arr_add[i_add][BSK_USER_NICK]); td = document.createElement("td"); td.className = "room_standup"; td.id = map_add[i_add]; @@ -437,7 +434,7 @@ function esco_cb() { window.onbeforeunload = null; window.onunload = null; // nonunload = true; - act_logout(); + act_logout(0); }; @@ -448,20 +445,7 @@ function j_tab_cont(table_idx, data) var content = ''; for (i = 0 ; i < data.length ; i++) { - if (data[i][0] & 0x01) - content += ''; - - if (data[i][0] & 0x02) - content += ''; - - content += data[i][1]; - - if (data[i][0] & 0x02) - content += ''; - - if (data[i][0] & 0x01) - content += ''; - content += state_add(data[i][0]); + content += j_stand_tdcont(data[i]); content += '
'; } @@ -708,77 +692,6 @@ function j_pollbox(form) } - - -function list_set(what, is_update, info) -{ - // console.log(what); - var i; - var relo = false; - var old_st = readCookie("CO_list"); - - if (what == 'auth') { - $('list_auth').style.color = 'red'; - $('list_isol').style.color = 'black'; - $('list_all').style.color = 'black'; - if (old_st == 'isolation') - relo = true; - g_listen = l_list_auth; - } - else if (what == 'isolation') { - $('list_auth').style.color = 'black'; - $('list_isol').style.color = 'red'; - $('list_all').style.color = 'black'; - if (old_st != 'isolation') - relo = true; - g_listen = l_list_isol; - } - else { - $('list_auth').style.color = 'black'; - $('list_isol').style.color = 'black'; - $('list_all').style.color = 'red'; - if (old_st == 'isolation') - 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); - } - - - if (relo || !is_update) { - for (i = g_tables_auth_n ; i < g_tables_n ; i++) { - - if (i % 4 == 0) { - $('tr_noauth'+i).style.display = (what == 'isolation' ? 'none' : ''); - } - - $('td_noauth'+i).style.display = (what == 'isolation' ? 'none' : ''); - } - 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); - } - } - } -} - function sideslide(domobj, height, step) { this.st = 'wait';