📄 admin_forum.asp
字号:
<!-- #include file="AdminCls.asp" -->
<%
CheckLogin()
Log("")
TimeLimit=ChkNumeric(Request("TimeLimit"))
UserName=HTMLEncode(Request("UserName"))
ForumID=ChkNumeric(Request("ForumID"))
RoleID=ChkNumeric(Request("RoleID"))
Posts=HTMLEncode(Request("Posts"))
select case Request("menu")
case ""
Error2("请选择您要操作的项目")
case "ManageByName"
Set Rs=Conn.Execute("select top 1 ForumID from [WxForums] where ForumName='"&HTMLEncode(Request.Form("ForumName"))&"'")
if Rs.Eof Then Error2("该版块不存在")
ForumID=Rs(0)
Rs.Close
Response.redirect "Admin_Forum.asp?menu=ForumAdd&ForumID="&ForumID
case "bbsManage1"
bbsManage1
case "bbsManage3"
bbsManage3
case "bbsManage4"
bbsManage4
case "bbsManage4Ok"
bbsManage4Ok
case "ForumStyle0"
Conn.Execute("update [WxForums] set BoardStyle=1 where id="&ForumID&"")
AdminSucc "将该版块修改为简洁模式","?menu=ManageForums"
case "ForumStyle1"
Conn.Execute("update [WxForums] set BoardStyle=0 where id="&ForumID&"")
AdminSucc "将该版块修改为详细模式","?menu=ManageForums"
case "ForumSort0"
if Conn.Execute("select SortNum from [WxForums] where id="&Request("id")&"")(0)=0 then error2("对不起,已经是最顶层了!")
Conn.Execute("update [WxForums] set SortNum=SortNum-1 where id="&Request("id")&"")
ManageForums
case "ForumSort1"
Conn.Execute("update [WxForums] set SortNum=SortNum+1 where id="&Request("id")&"")
ManageForums
case "ViewForumPermissions"
ViewForumPermissions
case "DelPermissions"
Conn.Execute("delete from [WxForumPermissions] where ForumID="&ForumID&" and RoleID="&RoleID&"")
Response.redirect "Admin_Forum.asp?menu=ForumAdd&ForumID="&ForumID&""
case "RoleAdd"
if Conn.Execute("select RoleID from [WxForumPermissions] where ForumID="&ForumID&" and RoleID="&RoleID&"" ).Eof then
Conn.Execute("insert into [WxForumPermissions] (ForumID,RoleID) values ('"&ForumID&"','"&RoleID&"')")
end if
Response.redirect "Admin_Forum.asp?menu=ForumAdd&ForumID="&ForumID&""
case "ForumPermissionsUP"
Rs.Open "[WxForumPermissions] where ForumID="&ForumID&" and RoleID="&RoleID&"",Conn,1,3
for each ho in Request.Form
Rs(ho)=Request(ho)
next
Rs.update
Rs.close
Response.redirect "Admin_Forum.asp?menu=ForumAdd&ForumID="&ForumID&""
case "ForumAdd"
ForumAdd
case "ForumAddUp"
ForumAddUp
case "ManageForums"
ManageForums
case "bbsManageDel"
Conn.Execute("delete from [WxForums] where id="&ForumID&"")
Error2("已经将该版块的所有数据删除了!")
case "DelThreads"
if ForumID>0 then ForumIDList="and ForumID="&ForumID&""
if TimeLimit=0 then
Response.write "请选择距今日期"
Else
Conn.Execute("delete from [WxThreads] where LastViewedDate<"&SqlNowString&"-"&TimeLimit&" "&ForumIDList&"")
Response.write "操作成功"
end if
CloseDataBase
case "DelUserTopicok"
if UserName="" then
Response.write "您没有输入用户名"
Else
if ForumID>0 then ForumIDList="and ForumID="&ForumID&""
Conn.Execute("delete from [WxThreads] where UserName='"&UserName&"' "&ForumIDList&"")
Response.write "操作成功"
end if
CloseDataBase
case "DelUserPost"
if UserName="" then
Response.write "您没有输入用户名"
Else
if ForumID>0 then ForumIDList="and ForumID="&ForumID&""
Conn.Execute("delete from ["&Posts&"] where UserName='"&UserName&"' and IsTopic=0 "&ForumIDList&"")
Response.write "操作成功"
end if
CloseDataBase
case "DellikeTopicok"
Topic=HTMLEncode(Request("Topic"))
if Topic="" then
Response.write "您没有输入字符"
Else
if ForumID>0 then ForumIDList="and ForumID="&ForumID&""
Conn.Execute("delete from [WxThreads] where Topic like '%"&Topic&"%' "&ForumIDList&" ")
Response.write "操作成功"
end if
CloseDataBase
case "clean"
Conn.Execute("delete from [WxThreads] where IsDel=1 and lasttime<"&SqlNowString&"-"&TimeLimit&"")
AdminSucc "已经清空 "&TimeLimit&" 天以前的主题",""
case "uniteok"
hbbs=Request("hbbs")
YBBs=Request("YBBs")
if hbbs = YBBs then
Response.write "不能选择相同版块"
Else
if UserName<>"" then UserNamelist="and UserName='"&UserName&"'"
Conn.Execute("update [WxThreads] set ForumID="&int(hbbs)&" where ForumID="&int(YBBs)&" and lasttime<"&SqlNowString&"-"&TimeLimit&" "&UserNamelist&"")
Response.write "移动版块帖子完毕"
end if
CloseDataBase
case "BatchCensorship"
for each ho in Request.Form("ThreadID")
ho=int(ho)
Conn.Execute("update [WxThreads] set IsDel=0 where id="&ho&"")
next
AdminSucc "激活/还原 所选帖子",""
case "BatchDel"
for each ho in Request.Form("ThreadID")
ho=int(ho)
Conn.Execute("delete from [WxThreads] where id="&ho&"")
next
AdminSucc "删除所选帖子",""
case "makehtml"
makehtml
case "makehtmlok"
j=0
Server.ScriptTimeOut=99999999
'On Error Resume Next
Select case Request.Form("way")
case "id"
FirstID=int(Request.Form("FirstID"))
LastID=int(Request.Form("LastID"))
tj=" where ID<="&LastID&" and ID>="&FirstID
case "forum"
tj=" where ForumID="&ForumID
case "view"
LastViewedDate=Request.Form("LastViewedTime")
tj=" where LastViewedDate>="&SqlDateChar&LastViewedDate&SqlDateChar&""
end Select
TotalCount=Conn.Execute("select count(ID) from [WxThreads]"&tj)(0)
Set Rs=Conn.Execute("select ID from [WxThreads]"&tj&" order by ID Desc")
if Not Rs.Eof Then IdArr=Rs.GetRows(TotalCount)
Rs.Close
if IsArray(IdArr) Then
set obj = Server.CreateObject("Microsoft.XMLHTTP")
For j=0 to UBound(IdArr,2)
ID=IdArr(0,j)
Url=Cache("SiteUrl")&"Archiver/?t-"&ID&".htm"
obj.open "GET",Url,false
obj.setRequestHeader "Referer",Url
obj.send()
binFileData = bytes2bstr(obj.responseBody)
SaveToFile binFileData,"Archiver/tid-"&ID&".html"
Next
Set obj=Nothing
end if
Response.write "共生成 "&j&" 篇主题的存档"
CloseDataBase
end select
sub makehtml
Set Rs=Conn.Execute("select top 1 ID from [WxThreads] order By ID Desc")
if Not Rs.Eof Then
LastID=Rs(0)
Else
LastID=0
end if
%>
<div class="tb dt">
<form method="post" name="form" action="Admin_Forum.asp?menu=makehtmlok">
<div id="tt">手动生成Archiver</div>
<div class="tc b"><input type="radio" name="way" value="forum" checked="checked" /><b>方法1</b> 更新 <select name="ForumID"><%BBSList(0)%><%=ForumsList%></select> 版块的所有主题</div>
<div class="tc b"><input type="radio" name="way" value="id" /><b>方法2</b> 更新ID从 <input type="text" name="FirstID" value="1" /> 到 <input type="text" name="LastID" value="<%=LastID%>" /> 的所有主题</div>
<div class="tc b"><input type="radio" name="way" value="view" /><b>方法3</b> 更新在日期 <input type="text" name="LastViewedTime" value="<%=Date-31%>" /> 后有更新的主题</div>
<div class="tc ac"><input type="button" value=" 开始 " onclick="XmlPost('form','result')" /><span id="result"></span></div>
</div>
</form>
<%
end sub
sub ManageForums%>
<div class="tb dt">
<div id="tt">版块数据管理</div>
<div class="tc cb">
<div class="fl">
<form method="post" name="form" action="?menu=ForumAddUp&ForumID=0">
添加一个新分类:<input name="ForumName" onclick="this.value=''" onchange="javascript:VerifyText(this,'名称','bt0')" value="名称" /> <input type="submit" value="建立" id="bt0" disabled="disabled" /></form></div>
<div class="fr">
<form method="post" action="?menu=ForumAdd">
查找版块ID:<input size="2" name="id" onclick="this.value=''" onchange="javascript:VerifyText(this,'0','bt1');ChkNaN(this);" value="0" /> <input type="submit" value="确定" id="bt1" disabled="disabled" /></form></div>
</div>
</div>
<div class="tb dt">
<%sort(0)%>
</div>
<%
end sub
sub sort(selec)
sql="select ID,ForumName,BoardStyle from [WxForums] where ParentID="&selec&" order by SortNum Asc"
Set Rsx=Conn.Execute(sql)
Do While Not Rsx.Eof
ID=Rsx(0)
BoardStyle=Rsx(2)
if selec=0 then%>
<div id="tt" class="cb">
<div class="fl w3"><a target="_blank" href="Forums.asp?Fid=<%=ID%>"><%=Rsx(1)%></a> <%if BoardStyle=1 then%>
<a href="?menu=ForumStyle1&ForumID=<%=ID%>" title="转到详细模式">目前简洁样式</a>
<%else%>
<a href="?menu=ForumStyle0&ForumID=<%=ID%>" title="转到简洁模式">目前详细样式</a>
<%end if%>
</div>
<%else%>
<div class="tc cb">
<div class="fl w3"> <%=string(ii*2," ")%><a target="_blank" href="Forums.asp?Fid=<%=ID%>"><%=Rsx("ForumName")%></a></div>
<%end if%>
<div class="fl ac w2">(排序:<%=Conn.Execute("select SortNum from [WxForums] where id="&ID&"")(0)%>)</div><div class="fl ac w1a"> <%if Conn.Execute("select SortNum from [WxForums] where id="&ID&"")(0)=0 then%> <%else%><a href="?menu=ForumSort0&id=<%=ID%>">上移</a><%end if%> | <a href="?menu=ForumSort1&id=<%=ID%>">下移</a></div>
<div class="fr ar"><a href="?menu=ForumAdd&ForumID=0&ParentID=<%=ID%>">建立版块</a>
| <a href="?menu=ForumAdd&ForumID=<%=ID%>">编辑版块</a> |
<a onclick="return confirm('您确定要删除该版块的所有资料?')" href="?menu=bbsManageDel&ForumID=<%=ID%>">
删除版块</a></div>
</div>
<%
ii=ii+1
sort ID
ii=ii-1
Rsx.MoveNext
loop
Rsx.Close
Set Rsx=Nothing
end sub
sub ForumAddUp
if Request("ForumName")="" then Error2("请输入版块名称")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -