X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fcommons.js;h=7ba8b31d3f85fd72a910acc17f9da2ff0bd84023;hb=9c32b198f916bdf20fc051b86bba6092b105ca9e;hp=99a2983fdc342941f9366287cffe998da4e40f1d;hpb=22d0d66d55607bc8941922fc1bf4d818664abbc2;p=brisk.git diff --git a/web/commons.js b/web/commons.js index 99a2983..7ba8b31 100644 --- a/web/commons.js +++ b/web/commons.js @@ -1,7 +1,7 @@ /* * brisk - commons.js * - * Copyright (C) 2006-2011 Matteo Nastasi + * Copyright (C) 2006-2012 Matteo Nastasi * mailto: nastasi@alternativeoutput.it * matteo.nastasi@milug.org * web: http://www.alternativeoutput.it @@ -25,6 +25,11 @@ var PLAYERS_N = 3; var EXIT_BAN_TIME = 3600; var cookiepath = "/brisk/"; +var BSK_USER_FLAGS = 0; +var BSK_USER_FLGVL = 1; +var BSK_USER_NICK = 2; +var BSK_USER_SCOL = 3; + var mlang_commons = { 'imgload_a' : { 'it' : 'Immagine caricate ', 'en' : 'Loaded images ' }, 'imgload_b' : { 'it' : '%.', @@ -38,12 +43,31 @@ var mlang_commons = { 'imgload_a' : { 'it' : 'Immagine caricate ', 'btn_sit' : { 'it' : 'Mi siedo.', 'en' : 'Sit down.' }, 'btn_exit' : { 'it' : 'Esco.', - 'en' : 'Exit.' } - - }; + 'en' : 'Exit.' }, + 'tit_list' : { '0' : { 'it' : '', + 'en' : '' }, + '1' : { 'it' : '(solo aut.)', + 'en' : '(only aut.)' }, + '2' : { 'it' : '(isolam.to)', + 'en' : '(isolation)' } } + }; function $(id) { return document.getElementById(id); } +function $$(win, id) { return win.document.getElementById(id); } + +function dec2hex(d, padding) +{ + var hex = Number(d).toString(16); + padding = typeof (padding) === "undefined" || padding === null ? padding = 2 : padding; + + while (hex.length < padding) { + hex = "0" + hex; + } + + return hex; +} + function getStyle(x,IEstyleProp, MozStyleProp) { if (x.currentStyle) { @@ -235,8 +259,10 @@ function safestatus(a) } function createXMLHttpRequest() { - try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} - try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} + if (typeof(ActiveXObject) != 'undefined') { // Konqueror complain as unknown object + try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} + try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} + } try { return new XMLHttpRequest(); } catch(e) {} alert("XMLHttpRequest not supported"); return null; @@ -266,17 +292,28 @@ function send_mesg(mesg) } /* - request to server + sync request to server server_request([arg0=arg1[, arg2=arg3[, ...]]]) + if var name == '__POST__' than all other vars will be managed as POST content + and the call will be a POST */ function server_request() { var xhr_wr = createXMLHttpRequest(); - var i, collect = ""; + var i, collect = "", post_collect = null, is_post = false; if (arguments.length > 0) { for (i = 0 ; i < arguments.length ; i+= 2) { - collect += (i == 0 ? "" : "&") + arguments[i] + "=" + encodeURIComponent(arguments[i+1]); + if (arguments[i] == "__POST__") { + is_post = true; + post_collect = ""; + i -= 1; + continue; + } + if (is_post) + post_collect += (post_collect == "" ? "" : "&") + arguments[i] + "=" + encodeURIComponent(arguments[i+1]); + else + collect += (i == 0 ? "" : "&") + arguments[i] + "=" + encodeURIComponent(arguments[i+1]); } } // alert("Args: "+arguments.length); @@ -285,9 +322,15 @@ function server_request() // console.log("server_request:preresp: "+xhr_wr.responseText); - xhr_wr.open('GET', 'index_wr.php?'+(is_conn ? 'sess='+sess+'&' : '')+collect, false); + if (is_post) { + xhr_wr.open('POST', 'index_wr.php?'+(is_conn ? 'sess='+sess+'&' : '')+collect, false); + xhr_wr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); + } + else { + xhr_wr.open('GET', 'index_wr.php?'+(is_conn ? 'sess='+sess+'&' : '')+collect, false); + } xhr_wr.onreadystatechange = function() { return; }; - xhr_wr.send(null); + xhr_wr.send(post_collect); if (xhr_wr.responseText != null) { // console.log("server_request:resp: "+xhr_wr.responseText); @@ -410,6 +453,27 @@ function act_logout(exitlock) send_mesg("logout|"+exitlock); } +var moder_win = null; +var moder_cur = -1; +function act_moderate() +{ + send_mesg("moderate"); +} + +function moderate(enable) +{ + if (enable) { + moder_win = window.open("moderation.php", "moderation", "width=800,height=600,toolbar=no,location=no,menubar=no,status=no"); + } + else { + if (moder_win != null) { + moder_win.close(); + moder_win = null; + moder_cur = -1; + } + } +} + function act_reloadroom() { window.onunload = null; @@ -417,6 +481,7 @@ function act_reloadroom() document.location.assign("index.php"); } + function act_shutdown() { var c = 0; @@ -796,11 +861,12 @@ var CHATT_MAXLINES = 40; function user_decorator(user) { var name; - var flags = user[0]; + var flags = user[BSK_USER_FLAGS]; + var flags_vlt = user[BSK_USER_FLGVL]; if ((flags & 0x03) != 0) - name = ""+user[1]+""; + name = ""+user[BSK_USER_NICK]+""; else - name = user[1]; + name = user[BSK_USER_NICK]; return (name); } @@ -811,7 +877,8 @@ function user_dec_and_state(el) var val_el; content = user_decorator(el); - content += state_add(el[0]); + content += state_add(el[BSK_USER_FLAGS], el[BSK_USER_FLGVL], + (typeof(el[BSK_USER_SCOL]) != 'undefined' ? el[BSK_USER_SCOL] : null)); return (content); } @@ -824,7 +891,7 @@ function chatt_sub(dt,data,str) var name; var flags; var isauth; - var bolder = [ (data[0] | 1), data[1] ]; + var bolder = [ (data[BSK_USER_FLAGS] | 1), data[BSK_USER_FLGVL], data[BSK_USER_NICK] ]; name = user_decorator(bolder); if ($("txt").scrollTop + parseInt(getStyle($("txt"),"height", "height")) - $("txt").scrollHeight >= 0)