/*
* 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
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' : '%.',
'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) {
}
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;
// alert("xhr_wr: "+xhr_wr+" is_conn: "+is_conn);
xhr_wr.open('GET', 'index_wr.php?'+(is_conn ? 'sess='+sess+'&' : '')+'mesg='+mesg, (is_conn ? true : false));
+ xhr_wr.setRequestHeader("If-Modified-Since", new Date().toUTCString());
xhr_wr.onreadystatechange = function() { return; };
if (typeof(g_debug) == 'number' && g_debug > 0
&& typeof(console) == 'object' && typeof(console.log) == 'function') {
}
/*
- 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);
// 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);
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;
document.location.assign("index.php");
}
+
function act_shutdown()
{
var c = 0;
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 = "<span class='au" + (flags & 0x03) + "'>"+user[1]+"</span>";
+ name = "<span class='au" + (flags & 0x03) + "'>"+user[BSK_USER_NICK]+"</span>";
else
- name = user[1];
+ name = user[BSK_USER_NICK];
return (name);
}
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);
}
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)