📄 accesstopic.asp
字号:
If not (rs.eof And rs.bof) Then
ID=Rs(0)
Set Rs=Nothing
Dvbbs.Execute("delete from dv_topic where topicid="&ID)
Dvbbs.Execute("delete from "&Dvbbs.NowUsebbs&" where rootid="&ID)
FoundID=ID
Else
Dvbbs.Execute("delete from "&Dvbbs.NowUsebbs&" where Announceid="&id)
FoundID=0
End If
'通过审核
ElseIf cint(request("actiontype"))=1 Then
Set Rs=Dvbbs.Execute("select rootid,dateandtime,PostUserID from "&Dvbbs.NowUsebbs&" where parentid=0 And Announceid="&id)
If not (rs.eof And rs.bof) Then
'如果被审核的是主题帖
bbsnum=bbsnum+1
topicnum=topicnum+1
If datediff("d",rs(1),Now())=0 Then todaynum=todaynum+1
Dvbbs.Execute("update dv_topic set boardid=locktopic,locktopic=0 where topicid="&rs(0))
Dvbbs.Execute("update "&Dvbbs.NowUsebbs&" set boardid=locktopic,locktopic=0 where Announceid="&id)
Dvbbs.Execute("update [dv_user] set userpost=userpost+1,userWealth=userWealth+"&Dvbbs.Forum_user(2)&",UserEP=UserEP+"&Dvbbs.Forum_user(7)&",UserCP=UserCP+"&Dvbbs.Forum_user(12)&" where userid="&rs(2))
Else
set trs=Dvbbs.Execute("select rootid,dateandtime,PostUserID from "&Dvbbs.NowUsebbs&" where Announceid="&id)
If not (trs.eof And trs.bof) Then
'更新主题最后回复数据和回复数
bbsnum=bbsnum+1
topicnum=topicnum+1
If datediff("d",trs(1),Now())=0 Then todaynum=todaynum+1
Dvbbs.Execute("update "&Dvbbs.NowUsebbs&" set boardid=locktopic,locktopic=0 where Announceid="&id)
Dvbbs.Execute("update [dv_user] set userpost=userpost+1,userWealth=userWealth+"&Dvbbs.Forum_user(2)&",UserEP=UserEP+"&Dvbbs.Forum_user(7)&",UserCP=UserCP+"&Dvbbs.Forum_user(12)&" where userid="&trs(2))
IsEndReply(trs(0))
End If
End If
End If
next
Set Rs=Nothing
'更新论坛总数据和版面数据
If CInt(request("actiontype"))=1 Then update Dvbbs.boardid,bbsnum,topicnum,todaynum
Dvbbs.Dvbbs_Suc("<li>帖子操作成功.")
End Sub
'是否最后回复
Function IsEndReply(TopicID)
isEndReply=false
Dim trs
Dim LastPostInfo,iTotalUseTable
Dim LastTopic,body,LastRootid,LastPostTime,LastPostUser
Dim LastPost,uploadpic_n,LastPostUserID,LastID,istop
set trs=Dvbbs.Execute("select LastPost,PostTable,istop from dv_Topic where Topicid="&Topicid)
If not (trs.eof And trs.bof) Then
LastPostInfo=split(trs(0),"$")
iTotalUseTable=trs(1)
istop=trs(2)
End If
set trs=Dvbbs.Execute("select top 1 topic,body,Announceid,dateandtime,username,PostUserid,rootid from "&iTotalUseTable&" where (Not BoardID In (444,777)) And RootID="&TopicID&" order by Announceid desc")
If not(trs.eof And trs.bof) Then
body=trs(1)
LastRootid=trs(2)
LastPostTime=trs(3)
LastPostUser=replace(trs(4),"$","")
LastTopic=left(replace(body,"$",""),20)
LastPostUserID=trs(5)
LastID=trs(6)
Else
LastTopic="无"
LastRootid=0
LastPostTime=now()
LastPostUser="无"
LastPostUserID=0
LastID=0
End If
LastPost=LastPostUser & "$" & LastRootid & "$" & LastPostTime & "$" & replace(left(replace(LastTopic,"'",""),20),"$","") & "$" & LastPostInfo(4) & "$" & LastPostUserID & "$" & LastID & "$" & Dvbbs.boardid
If istop=0 Then
Dvbbs.Execute("update dv_topic set LastPost='"&LastPost&"',child=child+1,LastPostTime='"&LastPostTime&"' where topicid="&TopicID)
Else
Dvbbs.Execute("update dv_topic set LastPost='"&LastPost&"',child=child+1 where topicid="&TopicID)
End If
set trs=Nothing
End Function
'更新论坛总数据和版面数据
Function update(boardid,bbsnum,topicnum,todaynum)
Dim lastpost_1,trs
Dim LastTopic,LastRootid,LastPostTime,LastPostUser
Dim LastPost,uploadpic_n,Lastpostuserid,Lastid
Dim UpdateBoardID
'本论坛和上级论坛ID
UpdateBoardID=Dvbbs.Board_Data(3,0) & "," & Dvbbs.BoardID
'版面最后回复数据
set trs=Dvbbs.Execute("select top 1 T.title,b.Announceid,b.dateandtime,b.username,b.postuserid,b.rootid from "&Dvbbs.NowUsebbs&" b inner join Dv_Topic T on b.rootid=T.TopicID where b.boardid="&Dvbbs.boardid&" order by b.announceid desc")
If not(trs.eof And trs.bof) Then
Lasttopic=replace(left(replace(trs(0),"'",""),15),"$","")
LastRootid=trs(1)
LastPostTime=trs(2)
LastPostUser=trs(3)
LastPostUserid=trs(4)
Lastid=trs(5)
Else
LastTopic="无"
LastRootid=0
LastPostTime=now()
LastPostUser="无"
LastPostUserid=0
Lastid=0
End If
set trs=Nothing
LastPost=LastPostUser & "$" & LastRootid & "$" & LastPostTime & "$" & LastTopic & "$" & uploadpic_n & "$" & LastPostUserID & "$" & LastID & "$" & Dvbbs.boardid
'总版面最后回复数据
set trs=Dvbbs.Execute("select top 1 T.title,b.Announceid,b.dateandtime,b.username,b.postuserid,b.rootid from "&Dvbbs.NowUsebbs&" b inner join Dv_Topic T on b.rootid=T.TopicID order by b.announceid desc")
If not(trs.eof And trs.bof) Then
Lasttopic=replace(left(replace(trs(0),"'",""),15),"$","")
LastRootid=trs(1)
LastPostTime=trs(2)
LastPostUser=trs(3)
LastPostUserid=trs(4)
Lastid=trs(5)
Else
LastTopic="无"
LastRootid=0
LastPostTime=now()
LastPostUser="无"
LastPostUserid=0
Lastid=0
End If
LastPost_1=LastPostUser & "$" & LastRootid & "$" & LastPostTime & "$" & LastTopic & "$" & uploadpic_n & "$" & LastPostUserID & "$" & LastID & "$" & Dvbbs.boardid
Dim SplitUpBoardID,SplitLastPost
SplitUpBoardID=split(UpdateBoardID,",")
For i=0 to ubound(SplitUpBoardID)
set trs=Dvbbs.Execute("select LastPost from dv_board where boardid="&SplitUpBoardID(i))
If not (trs.eof And trs.bof) Then
SplitLastPost=split(trs(0),"$")
If isnull(SplitLastPost(1)) Then SplitLastPost(1)=0
If ubound(SplitLastPost)=7 And clng(LastRootID)<>clng(SplitLastPost(1)) Then
Dvbbs.Execute("update dv_board set LastPost='"&LastPost&"' where boardid="&SplitUpBoardID(i))
End If
End If
Next
Dvbbs.Execute("update dv_board set PostNum=PostNum+"&bbsnum&",TopicNum=TopicNum+"&TopicNum&",TodayNum=TodayNum+"&todaynum&" where boardid in ("&UpdateBoardID&")")
Dvbbs.Execute("update dv_setup set Forum_PostNum=Forum_PostNum+"&bbsnum&",Forum_TopicNum=Forum_TopicNum+"&TopicNum&",Forum_TodayNum=Forum_TodayNum+"&todaynum&",Forum_LastPost='"&LastPost_1&"'")
set trs=Nothing
End Function
Sub View()
dim AnnounceID,replyid
dim username
If request("id")="" Then
Response.redirect "showerr.asp?ErrCodes=<li>请指定所需参数。&action=OtherErr"
ElseIf Not IsNumeric(request("id")) Then
Response.redirect "showerr.asp?ErrCodes=<li>请指定所需参数。&action=OtherErr"
Else
AnnounceID=request("id")
End If
If request("replyid")="" Then
Response.redirect "showerr.asp?ErrCodes=<li>请指定所需参数。&action=OtherErr"
ElseIf Not IsNumeric(request("replyid")) Then
Response.redirect "showerr.asp?ErrCodes=<li>请指定所需参数。&action=OtherErr"
Else
replyid=request("replyid")
End If
Set Rs=server.createobject("adodb.recordset")
set rs=dvbbs.execute("select posttable from dv_topic where topicid="&announceid)
If rs.eof and rs.bof Then
Response.redirect "showerr.asp?ErrCodes=<li>没有找到相关信息&action=OtherErr"
end if
dim tablename
tablename=rs(0)
set rs=dvbbs.execute("select * from "&tablename&" where announceid="&replyid)
if rs.eof and rs.bof then
Response.redirect "showerr.asp?ErrCodes=<li>没有找到相关信息&action=OtherErr"
end if
%>
<table cellpadding=3 cellspacing=1 border=0 align=center class=tableborder1>
<TBODY>
<TR align=middle>
<Th height=24><%=Dvbbs.htmlencode(rs("topic"))%></Th>
</TR>
<TR>
<TD height=24 class=tablebody1>
<p align=center><a href="dispuser.asp?name=<%=Dvbbs.htmlencode(rs("username"))%>" target=_blank><%=Dvbbs.htmlencode(rs("username"))%></a> 发布于 <%=rs("dateandtime")%></p>
<blockquote>
<br>
<%
response.Write server.htmlencode(rs("body"))
%>
</blockquote>
</TD>
</TR>
<TR align=middle>
<TD height=24 class=tablebody2> </TD>
</TR>
</TBODY>
</TABLE>
</td>
</tr>
</table>
<%
rs.close
Set rs=nothing
End Sub
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -