📄 wm_forum.js
字号:
jspp.using("mocom.WAPmo.Kernel");
jspp.using("mocom.WAPmo.OptionCard");
Array.prototype.remove = function(x)
{
var ptr = this;
for (var i = 0; i < ptr.length; i++)
{
if (ptr[i].SeqId == x)
{
ptr.splice(i, 1);
break;
}
}
};
Array.prototype.isBoard = function(x)
{
var ptr = this;
for (var i = 0; i < ptr.length; i++)
{
if (ptr[i].SeqId == x) return(ptr[i].Follow == 0);
}
return(false);
};
ForumTree = function(name, modal)
{
var core = this;
this.create = function(x, y)
{
var ptr = document.getElementById(name + "_item_" + x);
var exp = ptr.getAttribute("expand");
var frt = null;
var obj = null;
if (x == 0 && exp == "no")
{
ptr.innerHTML = "<div class=\"f12\"><img src=\"images/xw_tree3.gif\" border=\"0\" align=\"absBottom\" /> " + jspp.SiteName + " 论坛</div>";
}
for (var i = 0; i < $forum.length; i++)
{
if ($forum[i].Follow == x)
{
obj = document.getElementById(name + "_item_" + $forum[i].SeqId);
if (obj == null)
{
var chi = this.hasChild($forum[i].SeqId);
obj = document.createElement("DIV");
ptr.appendChild(obj);
obj.id = name + "_item_" + $forum[i].SeqId;
obj.style.width = "100%";
obj.setAttribute("expand", "no");
obj.setAttribute("child", chi ? "yes" : "no");
obj.style.display = (exp == "true" ? "none" : "");
obj.setAttribute("last", 0);
var tbl = document.createElement("TABLE");
obj.appendChild(tbl);
tbl.id = name + "_child_" + $forum[i].SeqId;
tbl.border = "0";
tbl.width = "100%";
tbl.cellPadding = "0";
tbl.cellSpacing = "0";
var trx = tbl.insertRow(0);
trx.style.fontSize = "12px";
trx.style.fontFamily = "楷体";
trx.style.backgroundColor = "#FFFFFF";
trx.style.height = "20px";
trx.onmouseover = function()
{
this.style.backgroundColor = "#0080C0";
this.style.color = "#FFFFFF";
};
trx.onmouseout = function()
{
this.style.backgroundColor = "#FFFFFF";
this.style.color = "#000000";
};
var tdx = trx.insertCell(0);
tdx.width = "42%";
var mark = ptr.getAttribute("mark");
if (y > 0)
{
mark += ptr.getAttribute("last") == 0 ? "11" : "00";
tdx.innerHTML += mark.replace(/11/g, "<img src=\"images/xw_tree1.gif\" border=\"0\" align=\"absBottom\" />").replace(/00/g, "<img src=\"images/xw_tree0.gif\" border=\"0\" align=\"absBottom\" />");
}
frt = document.createElement("IMG");
frt.id = name + "_front_" + $forum[i].SeqId;
frt.border = "0";
frt.src = "images/xw_tree5.gif";
frt.align = "absBottom";
tdx.appendChild(frt);
obj.setAttribute("mark", mark);
var icon = document.createElement("IMG");
tdx.appendChild(icon);
icon.id = name + "_icon_" + $forum[i].SeqId;
icon.src = (chi ? "images/xw_tree2.gif" : "images/xw_tree4.gif");
icon.border = "0";
icon.align = "absBottom";
icon.style.cursor = "pointer";
icon.onclick = function()
{
var id = this.id.match(/^\w+_icon_(\d+)$/)[1];
core.create(id, y + 1);
};
var lab = document.createElement("LABEL");
tdx.appendChild(lab);
if (modal)
{
var inp = document.createElement("INPUT");
inp.type = "checkbox";
inp.id = name + "_check_" + $forum[i].SeqId;
lab.appendChild(inp);
lab.style.cursor = "pointer";
if (jspp.ieVersion < 7)
{
lab.onclick = function(ev)
{
var ee = window.event || ev;
var et = ee.srcElement;
if (et.tagName != "INPUT")
{
var ipt = this.firstChild;
ipt.checked = (ipt.checked == false);
}
};
}
}
var tit = document.createElement("SPAN");
tit.id = name + "_title_" + $forum[i].SeqId;
tit.innerHTML = $forum[i].Title;
lab.appendChild(tit);
//content
tdx = trx.insertCell(1);
tdx.width = "42%";
tdx.innerHTML = $forum[i].Content;
//page
tdx = trx.insertCell(2);
tdx.width = "6%";
tdx.align = "center";
tdx.innerHTML = $forum[i].Page;
tdx = trx.insertCell(3);
tdx.width = "10%";
tdx.align = "center";
var ctl = document.createElement("SELECT");
tdx.appendChild(ctl);
ctl.id = name + "_control_" + $forum[i].SeqId;
ctl.className = "sel";
ctl.setAttribute("stat", $forum[i].Hidden);
ctl.onchange = function(ev)
{
switch (this.selectedIndex)
{
case 0:
break;
case 1:
core.modify(this);
break;
case 2:
core.move(this);
break;
case 3:
core.remove(this);
break;
case 4:
core.sort(this);
break;
}
this.selectedIndex = 0;
};
var opt = ctl.options;
opt[opt.length] = new Option("管理", 0);
opt[opt.length] = new Option("编辑", 1);
opt[opt.length] = new Option("移动", 2);
opt[opt.length] = new Option("删除", 3);
opt[opt.length] = new Option("排序", 4);
}
else
{
obj.style.display = (exp == "true" ? "none" : "");
}
}
}
if (obj && frt)
{
obj.setAttribute("last", 1);
frt.src = "images/xw_tree6.gif";
}
if (ptr.getAttribute("child") == "yes")
{
var img = document.getElementById(name + "_icon_" + x);
if (img)
{
img.src = (exp == "true" ? "images/xw_tree2.gif" : "images/xw_tree3.gif");
}
}
ptr.setAttribute("expand", (exp == "true" ? "false" : "true"));
};
this.hasChild = function(x)
{
for (var i = 0; i < $forum.length; i++)
{
if ($forum[i].Follow == x) return(true);
}
return(false);
};
this.getItem = function(x)
{
for (var i = 0; i < $forum.length; i++)
{
if ($forum[i].SeqId == x)
{
return($forum[i]);
}
}
return(null);
};
this.add = function()
{
var box = new xWindow("frmAdd", "width=422,height=300,minButton=false,maxButton=false", true);
box.setCaption(jspp.Caption + " - 新建论坛");
box.draw(Kernel.getRemoteFile("admin_bbs.asp?Handle=Add"), 10, 10);
box.center();
setForum(Form.child("frmTemplet.Follow"), 0, 0);
var _accept = Form.child("frmTemplet.Accept");
if (_accept)
{
_accept.onclick = function()
{
var fol = Form.item("frmTemplet.Follow");
var tit = Form.item("frmTemplet.Title");
var cnt = Form.item("frmTemplet.Content");
var pge = Form.item("frmTemplet.Page");
if (tit == "")
{
MessageBox.show(MSG_HINT, "请输入论坛名称");
}
else
{
core.doAdd(fol, tit, cnt, pge);
}
};
}
var _cancel = Form.child("frmTemplet.Cancel");
if (_cancel)
{
_cancel.onclick = function()
{
box.free();
};
}
};
this.doAdd = function(fol, tit, cnt, pge)
{
MessageBox.show(MSG_WAITING, "初始化服务请求……");
var rpc = new xmlrpc();
rpc.setData("Follow", fol);
rpc.setData("Title", tit);
rpc.setData("Content", cnt);
rpc.setData("Page", pge);
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")
{
initForum();
core.reset();
MessageBox.write("<font color=\"#0000FF\">添加论坛成功</font>");
MessageBox.setType(MSG_HINT);
MessageBox.doAccept(function()
{
jspp.window.frmAdd.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=Add", true);
};
this.modify = function(obj)
{
var id = obj.id.match(/^\w+_control_(\d+)$/)[1];
var box = new xWindow("frmModify", "width=422,height=270,minButton=false,maxButton=false", true);
box.setCaption(jspp.Caption + " - 编辑论坛");
box.draw(Kernel.getRemoteFile("admin_bbs.asp?Handle=Modify&SeqId=" + id), 10, 10);
box.center();
var _accept = Form.child("frmTemplet.Accept");
if (_accept)
{
_accept.onclick = function()
{
var tit = Form.item("frmTemplet.Title");
var cnt = Form.item("frmTemplet.Content");
var pge = Form.item("frmTemplet.Page");
if (tit == "")
{
MessageBox.show(MSG_HINT, "请输入论坛名称");
}
else
{
core.doModify(id, tit, cnt, pge);
}
};
}
var _cancel = Form.child("frmTemplet.Cancel");
if (_cancel)
{
_cancel.onclick = function()
{
box.free();
};
}
};
this.doModify = function(id, tit, cnt, pge)
{
MessageBox.show(MSG_WAITING, "初始化服务请求……");
var rpc = new xmlrpc();
rpc.setData("Title", tit);
rpc.setData("Content", cnt);
rpc.setData("Page", pge);
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 = core.getItem(id);
ptr.Title = tit;
ptr.Content = cnt;
ptr.Page = pge;
core.reset();
MessageBox.write("<font color=\"#0000FF\">编辑论坛成功</font>");
MessageBox.setType(MSG_HINT);
MessageBox.doAccept(function()
{
jspp.window.frmModify.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=Modify&SeqId=" + id, true);
};
this.move = function(obj)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -