Ремонт чата и рефакторинг js.

This commit is contained in:
2023-06-11 14:50:52 +03:00
parent a073a02176
commit 2440ad3cc1
8 changed files with 1864 additions and 1765 deletions
+61 -74
View File
@@ -12,23 +12,22 @@ $(document).ready(function () {
});
function bodyLoaded() {
top.recounter();
//генерируем смайлики
let i = 0,
j = '';
while (i != -1) {
if (top.sml[i] != undefined) {
j += `<img style="cursor:pointer" onclick="chat.addSmile(\'${top.sml[i]}\')" src="https://${c['img']}/i/smile/${top.sml[i]}.gif" width="${top.sml[i + 1]}" height="${top.sml[i + 2]}" title=":${top.sml[i]}:"/> `;
while (i !== -1) {
if (sml[i] !== undefined) {
j += `<img style="cursor:pointer" onclick="chat.addSmile(\'${sml[i]}\')" src="https://${c.img}/i/smile/${sml[i]}.gif" width="${sml[i + 1]}" height="${sml[i + 2]}" title=":${sml[i]}:"/> `;
} else i = -4;
i += 3;
}
$('#smilesDiv').html(j);
delete i, j;
}
function startEngine() {
//стандартные настройки
if ($.cookie('chatCfg0') == undefined) {
if ($.cookie('chatCfg0') === undefined) {
$.cookie('chatCfg0', 2, {expires: 320});
$.cookie('chatCfg1', 'Black', {expires: 320});
}
@@ -55,7 +54,7 @@ function startEngine() {
resizeFinish();
//Добавляем действия
var i = 0;
while (i != -1) {
while (i !== -1) {
if ($(`#chcf${i}`).attr('id') != undefined) {
$(`#chcf${i}`).change(function () {
saveChatConfig();
@@ -309,19 +308,19 @@ function MBcMenu() {
function getNameBrouser() {
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1) {
if (ua.indexOf("msie") !== -1 && ua.indexOf("opera") === -1 && ua.indexOf("webtv") === -1) {
return "msie"
}
if (ua.indexOf("opera") != -1) {
if (ua.indexOf("opera") !== -1) {
return "opera"
}
if (ua.indexOf("gecko") != -1) {
if (ua.indexOf("gecko") !== -1) {
return "gecko";
}
if (ua.indexOf("safari") != -1) {
if (ua.indexOf("safari") !== -1) {
return "safari";
}
if (ua.indexOf("konqueror") != -1) {
if (ua.indexOf("konqueror") !== -1) {
return "konqueror";
}
return "unknown";
@@ -345,35 +344,35 @@ function mousePageXY(e) {
function infoMenu(u, e, f) {
if (!e) e = window.event;
var d = top.document.getElementById('persmenu');
var d2 = top.document.getElementById('upbox');
if (d != undefined) {
var dptop = -5;
var dpleft = -5;
if (f == 'main') {
const d = top.document.getElementById('persmenu');
const d2 = top.document.getElementById('upbox');
if (d) {
let dptop = -5;
const dpleft = -5;
if (f === 'main') {
dptop += 30;
}
var dp = top;
var s = d.style;
const dp = top;
const s = d.style;
d2.style.display = '';
d.className = 'topusermenu';
s.display = '';
var obtop = mousePageXY(e)['y'] + dptop;
if (getNameBrouser() == 'msie') {
let obtop = mousePageXY(e)['y'] + dptop;
if (getNameBrouser() === 'msie') {
obtop -= dp.document.body.scrollTop;
} else {
obtop -= dp.document.documentElement.scrollTop + dp.document.body.scrollTop;
}
var obleft = mousePageXY(e)['x'] + dpleft;
let obleft = mousePageXY(e)['x'] + dpleft;
d.style.top = `${obtop}px`;
d.style.left = `${obleft}px`;
var hmmmt = `<DIV onmouseover="top.doTest = false;" onmouseout="top.doTest = true; top.MBcMenu();">
<div onClick="top.chat.addto(\'${u}\',\'to\'); infoMenuClose(4);" class="topusermenuBtn">TO</div>
<div onClick="top.chat.addto(\'${u}\',\'private\'); infoMenuClose(4);" class="topusermenuBtn">PRIVATE</div>
<div onClick="window.open(\'inf.php?login=${u}\'); infoMenuClose(4);" class="topusermenuBtn">INFO</div>
<div onClick="top.infoMenuClose(4);" class="topusermenuBtn"><div id="d_clip_button">COPY</div></div>`;
let hmmmt = `<DIV onmouseover="top.doTest = false;" onmouseout="top.doTest = true; top.MBcMenu();">
<div onClick="top.chat.addto(\'${u}\',\'to\'); infoMenuClose(4);" class="topusermenuBtn">TO</div>
<div onClick="top.chat.addto(\'${u}\',\'private\'); infoMenuClose(4);" class="topusermenuBtn">PRIVATE</div>
<div onClick="window.open(\'inf.php?login=${u}\'); infoMenuClose(4);" class="topusermenuBtn">INFO</div>
<div onClick="top.infoMenuClose(4);" class="topusermenuBtn"><div id="d_clip_button">COPY</div></div>`;
if (top.iusrno[u] == undefined || top.iusrno[u] == 0) {
if (!top.iusrno[u]) {
hmmmt = `${hmmmt}<div onClick="top.ignoreUser(\'${u}\'); infoMenuClose(4);" class="topusermenuBtn">IGNORE</div>`;
} else {
hmmmt = `${hmmmt}<div onClick="top.ignoreUser(\'${u}\'); infoMenuClose(4);" class="topusermenuBtn">- IGNORE</div>`;
@@ -381,12 +380,12 @@ function infoMenu(u, e, f) {
hmmmt = `${hmmmt}</DIV>`;
d.innerHTML = hmmmt;
var bdx = document.body.clientWidth;
var bdy = document.body.clientHeight;
var obx = d.clientWidth;
var oby = d.clientHeight;
var ots = bdy - obtop - oby;
var ols = bdx - obleft - obx;
const bdx = document.body.clientWidth;
const bdy = document.body.clientHeight;
const obx = d.clientWidth;
const oby = d.clientHeight;
const ots = bdy - obtop - oby;
const ols = bdx - obleft - obx;
if (ots < 10) {
obtop = bdy - 10 - oby;
d.style.top = `${obtop}px`;
@@ -395,24 +394,18 @@ function infoMenu(u, e, f) {
obleft = bdx - 10 - obx;
d.style.left = `${obleft}px`;
}
$("#d_clip_button").zclip({
path: "js/ZeroClipboard.swf",
copy: function () {
return u;
}
});
}
}
function infoMenuClose(id) {
var d = top.document.getElementById('persmenu');
var d2 = top.document.getElementById('upbox');
if (d != undefined) {
const d = top.document.getElementById('persmenu');
const d2 = top.document.getElementById('upbox');
if (d) {
if (id > 0 && id < 5) {
d.className = `topusermenu inviseMen${id}`;
T_mn = setTimeout(`top.infoMenuClose(${(id + 1)})`, 30);
} else if (id == 5) {
var s = d.style;
} else if (id === 5) {
const s = d.style;
s.display = 'none';
d2.style.display = 'none';
d.innerHTML = '';
@@ -425,29 +418,29 @@ function infoMenuClose(id) {
function infoMenuMy(u, e, f, dtm) {
if (!e) e = window.event;
var d = top.document.getElementById('persmenu');
var d2 = top.document.getElementById('upbox');
if (d != undefined) {
var dptop = -5;
var dpleft = -5;
var dp = top;
var s = d.style;
const d = top.document.getElementById('persmenu');
const d2 = top.document.getElementById('upbox');
if (d) {
const dptop = -5;
const dpleft = -5;
const dp = top;
const s = d.style;
d2.style.display = '';
d.className = 'topusermenu';
s.display = '';
var obtop = mousePageXY(e)['y'] + dptop;
if (getNameBrouser() == 'msie') {
let obtop = mousePageXY(e)['y'] + dptop;
if (getNameBrouser() === 'msie') {
obtop -= dp.document.body.scrollTop;
} else {
obtop -= dp.document.documentElement.scrollTop + dp.document.body.scrollTop;
}
var obleft = mousePageXY(e)['x'] + dpleft;
let obleft = mousePageXY(e)['x'] + dpleft;
d.style.top = `${obtop}px`;
d.style.left = `${obleft}px`;
var hmmmt = '<DIV onmouseover="top.doTest = false;" onmouseout="top.doTest = true; top.MBcMenu();">';
var i = 0;
while (i != -1) {
if (dtm[i] != undefined) {
let hmmmt = '<DIV onmouseover="top.doTest = false;" onmouseout="top.doTest = true; top.MBcMenu();">';
let i = 0;
while (i !== -1) {
if (dtm[i] !== undefined && dtm[i] !== null) {
hmmmt += `<div onClick="${dtm[i][0]} infoMenuClose(4);" class="topusermenuBtn">${dtm[i][1]}</div>`;
i++;
} else i = -1;
@@ -455,12 +448,12 @@ function infoMenuMy(u, e, f, dtm) {
hmmmt = `${hmmmt}</DIV>`;
d.innerHTML = hmmmt;
var bdx = document.body.clientWidth;
var bdy = document.body.clientHeight;
var obx = d.clientWidth;
var oby = d.clientHeight;
var ots = bdy - obtop - oby;
var ols = bdx - obleft - obx;
const bdx = document.body.clientWidth;
const bdy = document.body.clientHeight;
const obx = d.clientWidth;
const oby = d.clientHeight;
const ots = bdy - obtop - oby;
const ols = bdx - obleft - obx;
if (ots < 10) {
obtop = bdy - 10 - oby;
d.style.top = `${obtop}px`;
@@ -469,12 +462,6 @@ function infoMenuMy(u, e, f, dtm) {
obleft = bdx - 10 - obx;
d.style.left = `${obleft}px`;
}
$("#d_clip_button").zclip({
path: "js/ZeroClipboard.swf",
copy: function () {
return u;
}
});
}
}
@@ -631,9 +618,9 @@ var win = {
delete nw;
},
addaction: function (nm, vl) {
top.key_actions[nm] = vl;
key_actions[nm] = vl;
if (nm != 2) {
top.key_actions[2] = 1;
key_actions[2] = 1;
}
},
closew: function (id) {