📄 wm_forum.js
字号:
var id = obj.id.match(/^\w+_control_(\d+)$/)[1];
var html = Kernel.getRemoteFile("templet/wm_forum_move.html");
var box = new xWindow("frmMove", "width=322,height=164,overflowX=hidden,overflowY=hidden,minButton=false,maxButton=false", true);
box.setCaption(jspp.Caption + " - 移动论坛");
box.draw(html, 10, 10);
box.center();
var arr = new Array();
arr.push(id);
Form.setValue("frmTemplet.Source", core.getItem(id).Title);
core.setMove(Form.child("frmTemplet.Target"), 0, 0, arr);
var _accept = Form.child("frmTemplet.Accept");
_accept.onclick = function()
{
var tt = Form.item("frmTemplet.Target");
if (tt == 0)
{
MessageBox.show(MSG_HINT, "请选择您要移动的目标论坛");
}
else if (tt == "x" && $forum.isBoard(id))
{
MessageBox.show(MSG_HINT, "该论坛已是板块了,不用再升级为板块");
}
else
{
core.doMove(id, tt);
}
};
var _cancel = Form.child("frmTemplet.Cancel");
_cancel.onclick = function()
{
box.free();
};
};
this.setMove = function(ptr, x, y, z)
{
for (var i = 0; i < $forum.length; i++)
{
if (z.exists($forum[i].SeqId) == false && $forum[i].Follow == x)
{
ptr[ptr.length] = new Option("-".repeat(y * 2) + $forum[i].Title, $forum[i].SeqId);
core.setMove(ptr, $forum[i].SeqId, y + 1, z);
}
}
};
this.doMove = function(id, tt)
{
MessageBox.show(MSG_WAITING, "初始化服务请求……");
var rpc = new xmlrpc();
rpc.setData("Source", id);
rpc.setData("Target", tt);
rpc.callBack = function()
{
var http = rpc.http;
switch (http.readyState)
{
case 1:
MessageBox.write("正在连接服务程序……");
break;
case 2:
MessageBox.write("已连接服务程序……");
break;
case 3:
MessageBox.write("正在返回状态报告……");
break;
case 4:
var ret = http.responseText;
if (ret == "OK")
{
var ptr = String(id).split(/,/g);
var stp = core.getItem(tt);
for (var i = 0; i < $forum.length; i++)
{
if (ptr.exists($forum[i].SeqId))
{
$forum[i].Follow = (tt == "x" ? 0 : tt);
$forum[i].Mark = (tt =="x" ? "0" : stp.Mark + "_" + $forum[i].SeqId);
}
}
core.reset();
MessageBox.write("<font color=\"#0000FF\">论坛移动成功</font>");
MessageBox.setType(MSG_HINT);
MessageBox.doAccept(function()
{
jspp.window.frmMove.free();
}, true);
}
else
{
MessageBox.write("<font color=\"#FF0000\">论坛移动失败:" + ret + "</font>");
MessageBox.setType(MSG_WARNING);
}
rpc.close();
rpc = null;
break;
}
};
rpc.doPost("admin_bbs.asp?Handle=move", true);
};
this.moveAll = function()
{
var prt = document.getElementById(name + "_item_0");
var obj = prt.getElementsByTagName("INPUT");
var arr = new Array();
var tit = new Array();
for (var i = 0; i < obj.length; i++)
{
var reg = /^\w+_check_(\d+)$/;
if (reg.test(obj[i].id) && obj[i].checked)
{
var id = obj[i].id.match(reg)[1];
arr.push(id);
tit.push(core.getItem(id).Title);
}
}
if (arr.length == 0)
{
MessageBox.show(MSG_HINT, "请选择您要移动的论坛");
return;
}
var html = Kernel.getRemoteFile("templet/wm_forum_move.html");
var box = new xWindow("frmMove", "width=322,height=164,overflowX=hidden,overflowY=hidden,minButton=false,maxButton=false", true);
box.setCaption(jspp.Caption + " - 移动论坛");
box.draw(html, 10, 10);
box.center();
Form.setValue("frmTemplet.Source", tit.join(","));
core.setMove(Form.child("frmTemplet.Target"), 0, 0, arr);
var _accept = Form.child("frmTemplet.Accept");
_accept.onclick = function()
{
var tt = Form.item("frmTemplet.Target");
if (tt == 0)
{
MessageBox.show(MSG_HINT, "请选择您要移动的目标论坛");
}
else if (tt == "x" && $forum.isBoard(id))
{
MessageBox.show(MSG_HINT, "该论坛已是板块了,不用再升级为板块");
}
else
{
core.doMove(arr.join(","), tt);
}
};
var _cancel = Form.child("frmTemplet.Cancel");
_cancel.onclick = function()
{
box.free();
};
};
this.remove = function(obj)
{
var id = obj.id.match(/^\w+_control_(\d+)$/)[1];
MessageBox.show(MSG_CONFIRM, "您确定要删除该论坛么?");
MessageBox.doAccept(function()
{
core.doRemove(id);
}, true);
};
this.doRemove = function(id)
{
MessageBox.show(MSG_WAITING, "初始化服务请求……");
var rpc = new xmlrpc();
rpc.setData("SeqId", id);
rpc.callBack = function()
{
var http = rpc.http;
switch (http.readyState)
{
case 1:
MessageBox.write("正在连接服务程序……");
break;
case 2:
MessageBox.write("已连接服务程序……");
break;
case 3:
MessageBox.write("正在返回状态报告……");
break;
case 4:
var ret = http.responseText;
if (ret == "OK")
{
var ptr = String(id).split(/,/g);
for (var i = 0; i < ptr.length; i++)
{
var obj = document.getElementById(name + "_item_" + ptr[i]);
obj.parentNode.removeChild(obj);
var fid = core.getItem(ptr[i]).Follow;
$forum.remove(ptr[i]);
if (core.hasChild(fid) == false)
{
var img = document.getElementById(name + "_icon_" + fid);
if (img) img.src = "images/xw_tree4.gif";
}
}
initForum();
MessageBox.write("<font color=\"#0000FF\">论坛删除成功</font>");
MessageBox.setType(MSG_HINT);
}
else
{
MessageBox.write("<font color=\"#FF0000\">论坛删除失败:" + ret + "</font>");
MessageBox.setType(MSG_WARNING);
}
rpc.close();
rpc = null;
break;
}
};
rpc.doPost("admin_bbs.asp?Handle=remove", true);
};
this.removeAll = function()
{
var prt = document.getElementById(name + "_item_0");
var obj = prt.getElementsByTagName("INPUT");
var ret = new Array();
for (var i = 0; i < obj.length; i++)
{
var reg = /^\w+_check_(\d+)$/;
if (reg.test(obj[i].id) && obj[i].checked)
{
ret.push(obj[i].id.match(reg)[1]);
}
}
if (ret.length == 0)
{
MessageBox.show(MSG_HINT, "请选择您要删除的论坛");
return(false);
}
MessageBox.show(MSG_CONFIRM, "您确定要删除所有选定的论坛么?");
MessageBox.doAccept(function()
{
core.doRemove(ret.join(","));
}, true);
};
this.sort = function(obj)
{
var id = (obj ? obj.id.match(/^\w+_control_(\d+)$/)[1] : 0);
var html = Kernel.getRemoteFile("templet/wm_forum_sort.html");
var box = new xWindow("frmSort", "width=322,height=210,overflowX=hidden,overflowY=hidden,minButton=false,maxButton=false", true);
box.setCaption(jspp.Caption + " - 论坛排序");
box.draw(html, 10, 10);
box.center();
var obj = Form.child("frmTemplet.Forums");
var ptr = obj.options;
for (var i = 0; i < $forum.length; i++)
{
if ($forum[i].Follow == id)
{
ptr[ptr.length] = new Option($forum[i].Title, $forum[i].SeqId);
}
}
var mup = Form.child("frmTemplet.MoveUp");
var mdn = Form.child("frmTemplet.MoveDown");
mup.disabled = true;
mdn.disabled = true;
obj.onchange = function()
{
mup.disabled = (obj.selectedIndex < 1);
mdn.disabled = (obj.selectedIndex >= ptr.length - 1);
};
mup.onclick = function()
{
var x = obj.selectedIndex;
var tmp = [ptr[x].text, ptr[x].value];
ptr[x].text = ptr[x - 1].text;
ptr[x].value = ptr[x - 1].value;
ptr[x - 1].text = tmp[0];
ptr[x - 1].value = tmp[1];
obj.selectedIndex = x - 1;
mup.disabled = (obj.selectedIndex < 1);
mdn.disabled = (obj.selectedIndex >= ptr.length - 1);
};
mdn.onclick = function()
{
var x = obj.selectedIndex;
var tmp = [ptr[x].text, ptr[x].value];
ptr[x].text = ptr[x + 1].text;
ptr[x].value = ptr[x + 1].value;
ptr[x + 1].text = tmp[0];
ptr[x + 1].value = tmp[1];
obj.selectedIndex = x + 1;
mup.disabled = (obj.selectedIndex < 1);
mdn.disabled = (obj.selectedIndex >= ptr.length - 1);
};
var _accept = Form.child("frmTemplet.Accept");
_accept.onclick = function()
{
var lst = new Array();
for (var i = 0; i < ptr.length; i++)
{
lst.push(ptr[i].value);
}
core.doSort(id, lst);
};
var _cancel = Form.child("frmTemplet.Cancel");
_cancel.onclick = function()
{
box.free();
};
};
this.doSort = function(id, lst)
{
MessageBox.show(MSG_WAITING, "初始化服务请求……");
var rpc = new xmlrpc();
rpc.setData("SeqId", id);
rpc.setData("List", lst.join(","));
rpc.callBack = function()
{
var http = rpc.http;
switch (http.readyState)
{
case 1:
MessageBox.write("正在连接服务程序……");
break;
case 2:
MessageBox.write("已连接服务程序……");
break;
case 3:
MessageBox.write("正在返回状态报告……");
break;
case 4:
var ret = http.responseText;
if (ret == "OK")
{
MessageBox.write("<font color=\"#0000FF\">论坛排序成功</font>");
MessageBox.setType(MSG_HINT);
MessageBox.doAccept(function()
{
jspp.window.frmSort.free();
}, true);
}
else
{
MessageBox.write("<font color=\"#FF0000\">论坛排序失败:" + ret + "</font>");
MessageBox.setType(MSG_WARNING);
}
rpc.close();
rpc = null;
break;
}
};
rpc.doPost("admin_bbs.asp?Handle=sort", true);
};
this.reset = function()
{
var obj = document.getElementById(name + "_item_0");
obj.innerHTML = "";
obj.setAttribute("expand", "no");
core.create(0, 0);
};
};
function initForum()
{
eval(Kernel.getRemoteFile("admin_bbs.asp?Handle=list"));
}
function setForum(obj, x, y)
{
var ptr = obj.options;
for (var i = 0; i < $forum.length; i++)
{
if ($forum[i].Follow == x)
{
ptr[ptr.length] = new Option("-".repeat(y * 2) + $forum[i].Title, $forum[i].SeqId);
setForum(obj, $forum[i].SeqId, y + 1);
}
}
}
var tree = new ForumTree("tree", true);
window.onload = function()
{
var opt = new OptionCard();
opt.add("论坛管理");
opt.make(document.body, 5, 5);
opt.lock(0);
initForum();
tree.create(0, 0);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -