Rem ------------------------
Rem 保存部分函数开始
Rem ------------------------
在它上边加一个函数CheckPostTimes:
'连续回复不得超过三次
Private Function CheckPostTimes(AnnounceID)
Dim arrID,i
CheckpostTimes = 0
Set Rs = Dvbbs.iCreateObject("ADODB.Recordset")
SQL = "Select top 3 postuserid From " & TotalUseTable & " Where BoardID=" & Dvbbs.BoardID & " and ParentID=" & AnnounceID & " order by AnnounceID Desc"
Rs.Open SQL,conn,1,1
If Not Rs.Bof And Not Rs.Eof Then arrID = Rs.GetRows(-1)
Rs.close
Set Rs = Nothing
If isArray(arrID) Then
If UBound(arrID,2)=2 Then
For i=0 to UBound(arrID,2)
If arrID(0,i)=Dvbbs.UserID Then
CheckpostTimes = CheckpostTimes + 1
End If
Next
End If
End If
End Function
再在Save_CheckData()函数内插入如下红色部分代码:
ElseIf Action = 6 Then
AnnounceID = Request("followup")
RootID = Request("RootID")
If AnnounceID = "" or Not IsNumeric(AnnounceID) Then Dvbbs.AddErrCode(30)
If RootID = "" or Not IsNumeric(RootID) Then Dvbbs.AddErrCode(30)
TotalUseTable=Request.Form("TotalUseTable")
TotalUseTable=checktable(TotalUseTable)
ShowErr()
AnnounceID = cCur(AnnounceID)
ParentID = AnnounceID
RootID = cCur(RootID)
MyLockTopic=0
[color=Red]If CheckPostTimes(AnnounceID)=3 Then
parameter="showerr.asp?ShowErrType="&Dvbbs.ErrType&"&ErrCodes=<li>同一贴子同一帐号连续回复不得超过三次&action=OtherErr&autoreload=1"
Response.redirect parameter
End If[/color]
ElseIf Action = 8 Then
上边针对的是DvBBS8.1的修改,DvBBS7.1的朋友只须将上边的代码稍做修改即可:
1. CheckPostTimes函数中Set Rs = Dvbbs.iCreateObject("ADODB.Recordset")改为:Set Rs = Server.CreateObject("ADODB.Recordset")
2.第二处修改中parameter="showerr.asp?ShowErrType="&Dvbbs.ErrType&"&ErrCodes=<li>同一贴子同一帐号连续回复不得超过三次&action=OtherErr&autoreload=1"修改为:parameter="showerr.asp?ErrCodes=<li>同一贴子同一帐号连续回复不得超过三次&action=OtherErr&autoreload=1"
评论(0)
暂无评论。