DvBBS增加回贴时间限制

在蓝色论坛上如果最后回贴到现在的时间太长了,则会出现提示"提醒:最后回贴距现在xxx天,请不要无意义回复",今天我们也给DvBBS8.1加上这个功能:当最后回贴到现在超过一个月时阻止发贴。

打开savepost.asp,在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)
    Dvbbs.ShowErr()
    AnnounceID = cCur(AnnounceID)
    ParentID = AnnounceID
    RootID = cCur(RootID)
    MyLockTopic=0
    i = 0
    Set Rs = Dvbbs.iCreateObject("ADODB.RecordSet")
    SQL = "Select top 1 DateAndTime From " & TotalUseTable & " Where BoardID=" & Dvbbs.BoardID & " and ParentID=" & AnnounceID & " or AnnounceID=" & AnnounceID & " order by AnnounceID Desc"
    Rs.open SQL,conn,1,1
    If Not Rs.Bof And Not Rs.Eof Then i=DateDiff("d",Rs(0),Now())
    Rs.close
    Set Rs = Nothing
    If i>30 Then
        parameter="showerr.asp?ShowErrType="&Dvbbs.ErrType&"&ErrCodes=<li>提醒:最后回贴距现在" & i & "天,请不要无意义回复&action=OtherErr&autoreload=1"    
        Response.redirect parameter
    End If

ElseIf Action = 8 Then

上边针对的是DvBBS8.1的修改,DvBBS7.1的朋友只须将上边的代码稍做修改即可:

1. 找到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 | 引用: 0 | 查看次数: 3947
发表评论
登录后再发表评论!