X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fcommons.js;h=4c0ea73cde5de5f76be16ac0606a2a07a7e744c6;hb=36d1e27085681388ea4989bdd62aad522ddf0dc6;hp=4cf95dcf437c6d21b0728f6adb1e2c8eaa8d9d71;hpb=507a79a6e6c512a2b0ac0af6e067f5a8845b7d9c;p=brisk.git diff --git a/web/commons.js b/web/commons.js index 4cf95dc..4c0ea73 100644 --- a/web/commons.js +++ b/web/commons.js @@ -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' : '%.', @@ -47,7 +52,12 @@ var mlang_commons = { 'imgload_a' : { 'it' : 'Immagine caricate ', 'en' : '(isolation)' } } }; -function $(id) { return document.getElementById(id); } +function $() { + if (arguments.length == 1) + return document.getElementById(arguments[0]); + else + return (arguments[0]).document.getElementById((arguments[1])); +} function dec2hex(d, padding) { @@ -446,6 +456,178 @@ function act_logout(exitlock) send_mesg("logout|"+exitlock); } +function ModerateItem(item_ar) +{ + var tr, td; + this.time = item_ar[0]; + this.usrid = item_ar[1]; + this.where = item_ar[2]; + this.name = item_ar[3]; + this.cont = item_ar[4]; + + tr = document.createElement("tr"); + td = document.createElement("td"); + td.innerHTML = this.name; + tr.appendChild(td); + td = document.createElement("td"); + td.innerHTML = this.cont; + tr.appendChild(td); + + this.tr = tr; +} + +ModerateItem.prototype = { + time: 0, + usrid: 0, + where: -1, + name: "", + cont: "", + + tr: null, + + tr_get: function () { + return this.tr; + } +} + +function Moderate() +{ + this.item = new Array(); +} + +Moderate.prototype = { + win: null, + table: null, + enabled: false, + item: null, + + cur: -1, + + disable: function () { + if (this.tout) { + clearTimeout(this.tout); + this.tout = 0; + } + if (this.win) { + this.win.onbeforeunload = null; + this.win.close(); + this.win = null; + } + }, + + activate: function (enable) { + if (this.enabled == enable) { + return true; + } + if (enable) { + this.disable(); + + this.win = window.open("moderation.php", "Moderazione", "width=800,height=600,toolbar=no,location=no,menubar=no,status=no"); + if (this.win == null) { + this.disable(); + return false; + } + // to finish initialization we wait for popup page onload event ... + this.win_waitonload(); + } + else { + this.disable(); + this.enabled = false; + } + + }, + + win_waitonload: function () { + if (typeof(this.win.is_loaded) == 'undefined' || this.win.is_loaded != true) { + console.log("not ready"); + this.tout = setTimeout(function (obj) { obj.win_waitonload(); }, 250, this); + } + else { + console.log("ready now!"); + this.post_onload(); + } + }, + + post_onload: function() { + var tr, td, remtr; + + this.win.anc = this; + this.table = $(this.win, 'moder_tab'); + + // for (i = 0 ; i < 3 ; i++) { + // tr = document.createElement("tr"); + // for (e = 0 ; e < 2 ; e++) { + // td = document.createElement("td"); + // td.innerHTML = "Content "+((i * 2)+e); + // tr.appendChild(td); + // } + // this.table.appendChild(tr); + // if (i == 0) + // remtr = tr; + // } + // this.table.removeChild(remtr); + + this.enabled = true; + }, + + onunload: function() { + act_moderate(); + }, + + is_enabled: function() { + return (this.enabled); + }, + add: function(item) { + var mi; + + console.log(typeof(this.item)); + mi = new ModerateItem(item); + this.item.push(mi); + + this.table.appendChild(mi.tr_get()); + + } + // send_mesg("moderate|"+(enable ? "false" | "true")); + +} + +function moderate(enable) +{ + return (g_moder.activate(enable)); +} + +var g_moder = new Moderate(); + +function act_moderate() +{ + send_mesg("moderate|"+(g_moder.is_enabled() ? "false" : "true")); +} + + + +// // build table with js + +// g_moder.item = new Array; +// g_moder.table = xxx; +// } +// else { +// if (g_moder == null) +// return true; + +// if (g_moder.win != null) { +// g_moder.win.close(); +// g_moder.win = null; +// } + +// if (g_moder.item != null) { +// // TODO CLEANUP +// ; +// } +// g_moder.cur = -1; +// } +// } + + function act_reloadroom() { window.onunload = null; @@ -453,6 +635,7 @@ function act_reloadroom() document.location.assign("index.php"); } + function act_shutdown() { var c = 0; @@ -728,12 +911,6 @@ function notify(st, text, tout, butt, w, h) { notify_ex.call(this, st, text, tout, butt, w, h, false, 0); } - - -function $(id) { - return document.getElementById(id); -} - function globst() { this.st = -1; @@ -832,11 +1009,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); } @@ -847,7 +1025,8 @@ function user_dec_and_state(el) var val_el; content = user_decorator(el); - content += state_add(el[0],(typeof(el[2]) != 'undefined' ? el[2] : null)); + content += state_add(el[BSK_USER_FLAGS], el[BSK_USER_FLGVL], + (typeof(el[BSK_USER_SCOL]) != 'undefined' ? el[BSK_USER_SCOL] : null)); return (content); } @@ -860,7 +1039,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)