木子屋 Dnawo's BLOG

DvBBS同一贴子同一帐号连续回复不得超过三次

👤 dnawo 📅 2007-10-29 👁 5294 👍 0 💬 0 🔄 来源:本站原创
昨天下午老迷在动网官方论坛上发贴宣布ASP8.1版正式发布,点进去一看,只见前两页都是同一会员在做毫无意义的顶贴(今天已经删除)。想起以前在CSDN上有见限制同一贴子同一帐号连续回复不得超过三次,那我们来给DvBBS也加上这功能。打开savepost.asp,找到如下内容:

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)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 小试牛刀——一篇jQuery小教程 下一篇 → DvBBS增加回贴时间限制