📄 board.asp
字号:
Boarduser_1 = "" & Boarduser_1 & "" & Boarduser(i) & ","
End If
Else
Boarduser_1 = "" & Boarduser_1 & "" & Boarduser(i) & ","
End If
End If
Next
userlen=len(boarduser_1)
if boarduser_1<>"" then
boarduser=left(boarduser_1,userlen-1)
updateinfo=" boarduser='"&boarduser&"' "
Dvbbs.Execute("update dv_board set "&updateinfo&" where boardid="&request("boardid"))
Dv_suc("论坛设置成功!<LI>成功添加认证用户:"&boarduser&"<LI><a href=""?action=RestoreBoardCache"" >请执行重建版面缓存才能生效</a><br>")
RestoreBoardCache()
else
Errmsg = errmsg + "你没有添加认证用户!"'response.write "你没有添加认证用户!"
Dvbbs_Error()
Exit Sub
end if
Else
Errmsg = errmsg + "你没有添加认证用户!"'response.write "<p><font color=red>你没有添加认证用户</font><br><br>"
Dvbbs_Error()
End If
End Sub
'保存添加论坛信息
Sub savenew()
If request("boardtype")="" Then
Errmsg=Errmsg+"<br>"+"<li>请输入论坛名称。"
founderr=true
End If
If request("class")="" Then
Errmsg=Errmsg+"<br>"+"<li>请选择论坛分类。"
founderr=true
End If
If request("readme")="" Then
Errmsg=Errmsg+"<br>"+"<li>请输入论坛说明。"
founderr=true
End If
If founderr=true Then
dvbbs_error()
exit sub
End If
Dim boardid,rootid,parentid,depth,orders,Fboardmaster,maxrootid,parentstr,rs,SQL
If request("class")<>"0" Then
Set rs=Dvbbs.Execute("select rootid,boardid,depth,orders,boardmaster,ParentStr from dv_board where boardid="&request("class"))
rootid=rs(0)
parentid=rs(1)
depth=rs(2)
orders=rs(3)
If depth+1>20 Then
Errmsg="本论坛限制最多只能有20级分类"
dvbbs_error()
Exit Sub
End If
parentstr=rs(5)
Else
Set rs=Dvbbs.Execute("select max(rootid) from dv_board")
maxrootid=rs(0)+1
If IsNull(MaxRootID) Then MaxRootID=1
End If
sql="select boardid from dv_board where boardid="&request("newboardid")
Set rs=Dvbbs.Execute(sql)
If not (rs.eof and rs.bof) then
Errmsg="您不能指定和别的论坛一样的序号。"
dvbbs_error()
exit sub
Else
boardid=request("newboardid")
End If
Dim trs,forumuser,setting
Set trs=Dvbbs.Execute("select * from dv_setup")
Setting=Split(trs("Forum_Setting"),"|||")
forumuser=Setting(2)
set rs = server.CreateObject ("adodb.recordset")
sql = "select * from dv_board"
rs.Open sql,conn,1,3
rs.AddNew
If request("class")<>"0" Then
rs("depth")=depth+1
rs("rootid")=rootid
rs("orders") = Request.form("newboardid")
rs("parentid") = Request.Form("class")
if ParentStr="0" then
rs("ParentStr")=Request.Form("class")
Else
rs("ParentStr")=ParentStr & "," & Request.Form("class")
End If
Else
rs("depth")=0
rs("rootid")=maxrootid
rs("orders")=0
rs("parentid")=0
rs("parentstr")=0
end if
rs("boardid") = Request.form("newboardid")
rs("boardtype") = request.form("boardtype")
rs("readme") = Request.form("readme")
rs("Rules") = Request.form("Rules")
rs("TopicNum") = 0
rs("PostNum") = 0
rs("todaynum") = 0
rs("child")=0
rs("LastPost")="$0$"&Now()&"$$$$$"
rs("Board_Setting")="0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,16240,3,0,gif|jpg|jpeg|bmp|png|rar|txt|zip|mid,0,0,1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1|1,0,1,100,20,10,9,normal,1,10,10,0,0,0,0,1,0,0,1,4,0,0,0,200,0,0,,$$,0,0,0,1,0|0|0|0|0|0|0|0|0,0|0|0|0|0|0|0|0|0,0,0,0,0,0,0,0,0,0,灌水|广告|奖励|惩罚|好文章|内容不符|重复发帖,0,1,0,24,0,0"
rs("sid")=request.form("sid")
rs("cid")=request.form("cid")
rs("board_ads")=trs("forum_ads")
rs("board_user")=forumuser
If Request("boardmaster")<>"" Then
rs("boardmaster") = Request.form("boardmaster")
End If
If request.form("indexIMG")<>"" Then
rs("indexIMG")=request.form("indexIMG")
End If
rs.Update
rs.Close
If Request("boardmaster")<>"" Then Call addmaster(Request("boardmaster"),"none",0)
dv_suc("论坛添加成功!<br>该论坛目前高级设置为默认选项,建议您返回论坛管理中心重新设置该论坛的高级选项,<A HREF=BoardSetting.asp?editid="&Request.form("newboardid")&">点击此处进入该版面高级设置</A><br>" & str)
set rs=nothing
trs.close
set trs=nothing
CheckAndFixBoard 0,1
RestoreBoardCache()
End Sub
'保存编辑论坛信息
Sub savedit()
if clng(request("editid"))=clng(request("class")) then
Errmsg="所属论坛不能指定自己"
dvbbs_error()
exit sub
end if
dim newboardid,maxrootid,readme,Rules
dim parentid,boardmaster,depth,child,ParentStr,rootid,iparentid,iParentStr
dim trs,brs,mrs
Dim iii,rs,sql
set rs = server.CreateObject ("adodb.recordset")
sql = "select * from dv_board where boardid="&request("editid")
rs.Open sql,conn,1,3
newboardid=rs("boardid")
parentid=rs("parentid")
iparentid=rs("parentid")
boardmaster=rs("boardmaster")
ParentStr=rs("ParentStr")
depth=rs("depth")
child=rs("child")
rootid=rs("rootid")
'判断所指定的论坛是否其下属论坛
if ParentID=0 then
if clng(request("class"))<>0 then
set trs=Dvbbs.Execute("select rootid from dv_board where boardid="&request("class"))
if rootid=trs(0) then
errmsg="您不能指定该版面的下属论坛作为所属论坛1"
dvbbs_error()
exit sub
end if
end if
else
set trs=Dvbbs.Execute("select boardid from dv_board where ParentStr like '%"&ParentStr&","&newboardid&"%' and boardid="&request("class"))
if not (trs.eof and trs.bof) then
errmsg="您不能指定该版面的下属论坛作为所属论坛2"
dvbbs_error()
exit sub
end if
end if
if parentid=0 then
parentid=rs("boardid")
iparentid=0
end if
rs("boardtype") = Request.Form("boardtype") '取消JS过滤。
rs("parentid") = Request.Form("class")
rs("boardmaster") = Request("boardmaster")
rs("readme") = Request("readme")
rs("Rules") = Request.form("Rules")
rs("indexIMG")=request.form("indexIMG")
rs("sid")=Cint(request.form("sid"))
rs("cid")=Cint(request.form("cid"))
rs.Update
rs.Close
set rs=nothing
if request("oldboardmaster")<>Request("boardmaster") then call addmaster(Request("boardmaster"),request("oldboardmaster"),1)
set mrs=Dvbbs.Execute("select max(rootid) from dv_board")
Maxrootid=mrs(0)+1
mrs.close:set mrs=nothing
dv_suc("论坛修改成功!<br>" & str)
CheckAndFixBoard 0,1
Boardchild()
RestoreBoardCache()
End sub
'删除版面,删除版面帖子,入口:版面ID
Sub Del()
Dim Trs
'更新其上级版面论坛数,如果该论坛含有下级论坛则不允许删除
Set tRs = Dvbbs.Execute("SELECT RootID FROM Dv_Board WHERE BoardID = " & Request("editid"))
Dim UpdateRootID,Rs,sql,i
UpdateRootID = tRs(0)
Set Rs = Dvbbs.Execute("SELECT ParentStr, Child, Depth FROM Dv_Board WHERE BoardID = " & Request("editid"))
If Not (Rs.Eof And Rs.Bof) Then
If Rs(1) > 0 Then
Response.Write "该论坛含有下属论坛,请删除其下属论坛后再进行删除本论坛的操作"
Exit Sub
End If
'如果有上级版面,则更新数据
If Rs(2) > 0 Then
Dvbbs.Execute("UPDATE Dv_Board SET Child = Child - 1 WHERE BoardID IN (" & Rs(0) & ")")
End If
Sql = "DELETE FROM Dv_Board WHERE Boardid = " & Request("editid")
Dvbbs.Execute(Sql)
For i = 0 To Ubound(AllPostTable)
Sql = "DELETE FROM " & AllPostTable(i) & " WHERE BoardID = " & Request("editid")
Dvbbs.Execute(Sql)
Next
Dvbbs.Execute("DELETE FROM Dv_Topic WHERE BoardID = " & Request("editid"))
Dvbbs.Execute("DELETE FROM Dv_BestTopic WHERE BoardID = " & Request("editid"))
Dvbbs.Execute("DELETE FROM Dv_Upfile WHERE F_BoardID = " & Request("editid"))
Dvbbs.Execute("DELETE FROM Dv_Appraise WHERE BoardID = " & Request("editid"))
'删除被删除论坛的自定义用户权限 2004-11-15 Dv.Yz
Dvbbs.Execute("DELETE FROM Dv_UserAccess WHERE NOT Uc_BoardID IN (SELECT BoardID FROM Dv_Board)")
End If
Set Rs = Nothing
CheckAndFixBoard 0,1
RestoreBoardCache()
Dv_suc("论坛删除成功!")
End Sub
sub orders()
Dim rs,SQL
%>
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr>
<th style="text-align:center;">论坛一级分类重新排序修改(请在相应论坛分类的排序表单内输入相应的排列序号)
</th>
</tr>
<tr>
<td class="td1"><table width="50%">
<%
set rs = server.CreateObject ("Adodb.recordset")
sql="select * from dv_Board where ParentID=0 order by RootID"
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "还没有相应的论坛分类。"
else
do while not rs.eof
response.write "<form action=board.asp?action=updatorders method=post><tr><td width=""50%"">"&rs("boardtype")&"</td>"
response.write "<td width=""50%""><input type=text name=""OrderID"" size=4 value="""&rs("rootid")&"""><input type=hidden name=""cID"" value="""&rs("rootid")&"""> <input type=submit name=Submit value=修改 class=button></td></tr></form>"
rs.movenext
loop
%>
</table>
<BR> <font color=red>请注意,这里系统会<B>自动修复</B>不正确的序号!</font>
<%
end if
rs.close
set rs=nothing
%>
</td>
</tr>
</table>
<%
end sub
sub updateorders()
dim cID,OrderID,ClassName,rs
cID=replace(request.form("cID"),"'","")
OrderID=replace(request.form("OrderID"),"'","")
set rs=Dvbbs.Execute("select boardid from dv_board where rootid="&orderid)
If rs.eof and rs.bof Then
Dvbbs.Execute("update dv_board set rootid="&OrderID&" where rootid="&cID)
Dv_suc("设置成功")
Else
Errmsg = errmsg + "请不要和其他论坛设置相同的序号"'response.write "请不要和其他论坛设置相同的序号"
Dvbbs_Error()
end if
RestoreBoardCache()
end sub
Sub Boardorders()
%>
<table width="100%" border="0" cellspacing="1" cellpadding="3" align="center">
<tr>
<th style="text-align:center;">论坛N级分类重新排序修改(请在相应论坛分类的排序表单内输入相应的排列序号)
</th>
</tr>
<tr>
<td class="td1"><table width="90%">
<%
Dim Trs,Uporders,Doorders,Rs,SQL,i
Set Rs = Server.CreateObject ("Adodb.recordset")
Sql = "SELECT Depth, Child, Parentid, Boardtype, Orders, BoardId FROM Dv_Board ORDER BY RootID, Orders"
Set Rs = Dvbbs.Execute(Sql)
If Rs.Eof And Rs.Bof Then
Response.Write "还没有相应的论坛分类。"
Else
Sql = Rs.GetRows(-1)
Dim Bn
Rs.Close:Set Rs = Nothing
For Bn = 0 To Ubound(Sql,2)
Response.Write "<form action=board.asp?action=updatboardorders method=post><tr><td width=""50%"">"
If Sql(0,Bn) > 0 Then
For i = 1 To Sql(0,Bn)
Response.Write " "
Next
End If
If Sql(1,Bn) > 0 Then
Response.Write "<img src=../skins/default/plus.gif>"
Else
Response.Write "<img src=../skins/default/nofollow.gif>"
End If
If Sql(2,Bn) = 0 Then
Response.Write "<b>"
End If
Response.Write Sql(3,Bn)
If Sql(1,Bn) > 0 Then
Response.Write "(" & Sql(1,Bn) & ")"
End If
Response.Write "</td><td width=""50%"">"
If Sql(2,Bn) > 0 Then
'算出相同深度的版面数目,得到该版面在相同深度的版面中所处位置(之上或者之下的版面数)
'所能提升最大幅度应为For i=1 to 该版之上的版面数
Set Trs = Dvbbs.Execute("SELECT COUNT(*) FROM Dv_Board WHERE ParentID = " & Sql(2,Bn) & " AND ORDERS < " & Sql(4,Bn) &"")
Uporders = Trs(0)
If Isnull(Uporders) Then Uporders = 0
'所能降低最大幅度应为For i=1 to 该版之下的版面数
Set Trs = Dvbbs.Execute("SELECT COUNT(*) FROM Dv_Board WHERE ParentID = " & Sql(2,Bn) &" AND ORDERS > " & Sql(4,Bn) &"")
Doorders = Trs(0)
If Isnull(doorders) Then Doorders = 0
If Uporders > 0 Then
Response.Write "<select name=uporders size=1><option value=0>向上移动</option>"
For i = 1 To Uporders
Response.Write "<option value=" & i & ">" & i & "</option>"
Next
Response.Write "</select>"
End If
If Doorders > 0 Then
If uporders > 0 Then Response.Write " "
Response.Write "<select name=doorders size=1><option value=0>向下移动</option>"
For i = 1 To Doorders
Response.Write "<option value=" & i & ">" & i & "</option>"
Next
Response.Write "</select>"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -