📄 admin_postings.asp
字号:
body=rs(1)
LastRootID=rs(2)
LastPostTime=rs(3)
LastPostUser=replace(rs(4),"$","")
LastTopic=left(replace(body,"$",""),20)
LastPostUserID=rs(5)
LastID=rs(6)
Dvbbs.BoardID=rs(7)
Else
LastTopic="无"
LastRootID=0
LastPostTime=now()
LastPostUser="无"
LastPostUserID=0
LastID=0
Dvbbs.BoardID=0
End If
set rs=nothing
LastPost=LastPostUser & "$" & LastRootID & "$" & LastPostTime & "$" & replace(left(LastTopic,20),"$","") & "$" & uploadpic_n & "$" & LastPostUserID & "$" & LastID & "$" & Dvbbs.BoardID
Dvbbs.Execute("update Dv_topic set LastPost='"&LastPost&"' where topicID="&ID)
End If
End Function
'更新指定论坛信息
Public Function LastCount(boardID)
Dim LastTopic,body,LastRootID,LastPostTime,LastPostUser
Dim LastPost,uploadpic_n,LastpostuserID,LastID
set rs=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="&boardID&" order by b.announceID desc")
If not(rs.eof and rs.bof) Then
Lasttopic=replace(left(rs(0),15),"$","")
LastRootID=rs(1)
LastPostTime=rs(2)
LastPostUser=rs(3)
LastPostUserID=rs(4)
LastID=rs(5)
Else
LastTopic="无"
LastRootID=0
LastPostTime=now()
LastPostUser="无"
LastPostUserID=0
LastID=0
End If
set rs=nothing
LastPost=LastPostUser & "$" & LastRootID & "$" & LastPostTime & "$" & LastTopic & "$" & uploadpic_n & "$" & LastPostUserID & "$" & LastID & "$" & BoardID
Dim SplitUpBoardID,SplitLastPost
SplitUpBoardID=split(UpdateBoardID,",")
For i=0 to ubound(SplitUpBoardID)
set rs=Dvbbs.Execute("select LastPost from dv_board where boardID="&SplitUpBoardID(i))
If not (rs.eof and rs.bof) Then
SplitLastPost=split(rs(0),"$")
If IsNumeric(LastRootID) and IsNumeric(SplitLastPost(1)) Then
If ubound(SplitLastPost)=7 and clng(LastRootID)<>clng(SplitLastPost(1)) Then
Dvbbs.Execute("update dv_board set LastPost='"&LastPost&"' where boardID="&SplitUpBoardID(i))
Dvbbs.ReloadBoardCache SplitUpBoardID(i),LastPost,14,0
End If
End If
End If
Next
set rs=nothing
End Function
'版面发帖数增加
Public Sub BoardNumAdd(boardID,topicNum,postNum,todayNum)
Dim iUpdateBoardID
Dvbbs.Execute("update dv_board set postnum=postnum+"&postNum&",topicNum=topicNum+"&topicNum&",todayNum=todayNum+"&todayNum&" where boardID in ("&UpdateBoardID&")")
iUpdateBoardID = Split(UpdateBoardID,",")
For i=0 To Ubound(iUpdateBoardID)
Dvbbs.ReloadBoardCache iUpdateBoardID(i),PostNum,9,1
Dvbbs.ReloadBoardCache iUpdateBoardID(i),TopicNum,10,1
Dvbbs.ReloadBoardCache iUpdateBoardID(i),TodayNum,12,1
Next
End Sub
'版面发帖数减少
Public Sub BoardNumSub(boardID,topicNum,postNum,todayNum)
Dim iUpdateBoardID
Dvbbs.Execute("update dv_board set postnum=postnum-"&postNum&",topicNum=topicNum-"&topicNum&",todayNum=todayNum-"&todayNum&" where boardID in ("&UpdateBoardID&")")
Dim trs,LastPostTime,LastpostuserID,Lastid,uploadpic_n
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="&boardid&" order by b.Announceid desc")
If not(trs.eof and trs.bof) Then
Lasttopic=replace(left(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
trs.close
Set trs=nothing
LastPost=LastPostUser & "$" & LastRootid & "$" & LastPostTime & "$" & LastTopic & "$" & uploadpic_n & "$" & LastPostUserID & "$" & LastID & "$" & BoardID
iUpdateBoardID = Split(UpdateBoardID,",")
For i=0 To Ubound(iUpdateBoardID)
Dvbbs.ReloadBoardCache iUpdateBoardID(i),0 - PostNum,9,1
Dvbbs.ReloadBoardCache iUpdateBoardID(i),0 - TopicNum,10,1
Dvbbs.ReloadBoardCache iUpdateBoardID(i),0 - TodayNum,12,1
Dvbbs.ReloadBoardCache iUpdateBoardID(i),LastPost,14,0
Next
End Sub
'所有论坛发帖数增加
Public Function AllboardNumAdd(todayNum,postNum,topicNum)
Dvbbs.Execute("Update dv_Setup Set Forum_TodayNum=Forum_todayNum+"&todaynum&",Forum_PostNum=Forum_PostNum+"&postNum&",Forum_TopicNum=Forum_topicNum+"&TopicNum)
Dvbbs.ReloadSetupCache CLng(Dvbbs.CacheData(7,0))+TopicNum,7
Dvbbs.ReloadSetupCache CLng(Dvbbs.CacheData(8,0))+postNum,8
Dvbbs.ReloadSetupCache CLng(Dvbbs.CacheData(9,0))+todaynum,9
End Function
'所有论坛发帖数减少
Public Function AllboardNumSub(todayNum,postNum,topicNum)
Dvbbs.Execute("Update dv_Setup Set Forum_TodayNum=Forum_TodayNum-"&todaynum&",Forum_PostNum=Forum_PostNum-"&postNum&",Forum_TopicNum=Forum_TopicNum-"&TopicNum)
Dvbbs.ReloadSetupCache CLng(Dvbbs.CacheData(7,0))-TopicNum,7
Dvbbs.ReloadSetupCache CLng(Dvbbs.CacheData(8,0))-postNum,8
Dvbbs.ReloadSetupCache CLng(Dvbbs.CacheData(9,0))-todaynum,9
End Function
Public Sub Get_RequestInfo()
sucmsg=""
title=Dvbbs.htmlencode(Request.form("title"))
content=Dvbbs.htmlencode(Request.form("content"))
content="原因:" & title & content
If Request.form("title")="" and Request.form("content")="" Then
Dvbbs.AddErrCode(39)
Dvbbs.ShowErr()
End If
sucmsg=ActionInfo&"《"&server.htmlencode(topic)&"》,"&server.htmlencode(content)& ","&allmsg&""
End Sub
Private Function SucMsgInfo(GetMsg)
SucMsgInfo="<li>"+GetMsg
SucMsgInfo=SucMsgInfo+"<li>"+"<a href=list.asp?boardid="&Dvbbs.boardid&">返回论坛列表</a>"
SucMsgInfo=SucMsgInfo+"<li>"+"<a href=dispbbs.asp?boardid="&Dvbbs.boardid&"&id="&ID&" >返回主题:《"&server.htmlencode(Topic)&"》</a>"
End Function
'专题管理操作
Public Sub TopicMode()
Dim ModeID
ModeID=Request.Form("mode")
If Request.form("title")="" and Request.form("content")="" Then
Dvbbs.AddErrCode(39)
Exit Sub
End If
If ModeID<>"" And IsNumeric(ModeID) Then
LogType=5
Get_RequestInfo
ModeID=Cint(ModeID)
DVbbs.Execute("Update Dv_Topic Set Mode="&ModeID&" Where BoardID="&Dvbbs.BoardID&" And TopicID=" & ID)
Insert_Forum_Log()
Update_User_Point("")
Topic_Manage_Sms()
Dvbbs.Dvbbs_Suc(SucMsgInfo(sucmsg))
Else
title=Dvbbs.htmlencode(Request.form("title"))
content=Dvbbs.htmlencode(Request.form("content"))
content=title & content
Dim BoardTopic,SelectBoardTopic,TempStr
BoardTopic=Split(Dvbbs.Board_Setting(48),"$$")
If Ubound(BoardTopic)>0 Then
For i=0 to Ubound(BoardTopic)-1
SelectBoardTopic=SelectBoardTopic+"<option value="&(i+1)
SelectBoardTopic=SelectBoardTopic+" >"&BoardTopic(i)&"</option>"
Next
End If
TempStr = template.html(4)
TempStr = Replace(TempStr,"{$reaction}",request("action"))
TempStr = Replace(TempStr,"{$boardid}",Request("boardID"))
TempStr = Replace(TempStr,"{$id}",Request("ID"))
TempStr = Replace(TempStr,"{$title}",content)
TempStr = Replace(TempStr,"{$doWealth}",doWealth)
TempStr = Replace(TempStr,"{$dousercp}",dousercp)
TempStr = Replace(TempStr,"{$douserep}",douserep)
TempStr = Replace(TempStr,"{$msg}",Request.form("msg"))
TempStr = Replace(TempStr,"{$ismsg}",Request.form("ismsg"))
TempStr = Replace(TempStr,"{$TopicMode}",SelectBoardTopic)
Response.Write TempStr
End If
End Sub
'奖励用户
Public Sub award()
LogType=5
Get_RequestInfo
If TopicUserName=Dvbbs.MemberName Then
Dvbbs.AddErrCode(38)
Exit Sub
End If
Insert_Forum_Log()
Update_User_Point("")
Topic_Manage_Sms()
Dvbbs.Dvbbs_Suc(SucMsgInfo(sucmsg))
End Sub
'惩罚用户
Public Sub punish()
LogType=5
Get_RequestInfo
Insert_Forum_Log()
Update_User_Point("")
Topic_Manage_Sms()
Dvbbs.Dvbbs_Suc(SucMsgInfo(sucmsg))
End Sub
'锁定帖子
Public Sub lock()
LogType=5
Get_RequestInfo
Dvbbs.Execute("Update Dv_topic Set locktopic=1 where boardID="&Dvbbs.boardID&" and topicID="&ID)
Insert_Forum_Log()
Update_User_Point("")
Topic_Manage_Sms()
Dvbbs.Dvbbs_Suc(SucMsgInfo(sucmsg))
End Sub
'解除锁定帖子
Public Sub unlock()
LogType=3
Get_RequestInfo
Dvbbs.Execute("Update Dv_topic Set locktopic=0 where boardID="&Dvbbs.boardID&" and topicID="&ID)
Insert_Forum_Log()
Update_User_Point("")
Topic_Manage_Sms()
Dvbbs.Dvbbs_Suc(SucMsgInfo(sucmsg))
End Sub
'提升帖子
Public Sub uptopic()
LogType=3
Get_RequestInfo
Dvbbs.Execute("Update dv_topic set LastPostTime="&SqlNowString&" where boardID="&Dvbbs.BoardID&" and IsTop=0 and topicID="&ID)
Insert_Forum_Log()
Update_User_Point("")
Topic_Manage_Sms()
Dvbbs.Dvbbs_Suc(SucMsgInfo(sucmsg))
End Sub
'固顶帖子,包括总固顶、区固顶和固顶
Public Sub Getistop()
Dim IsTop
Dim iForum_AllTopNum,mForum_AllTopNum
Dim getBoard,BoardTopStr,iBoardTopStr
Dim Bn
LogType=4
Get_RequestInfo
If Request("istopaction")="1" Then
'如果原来是固顶、区域固顶或总固顶,判断其是否有需要清理数据
Set Rs=Dvbbs.Execute("Select IsTop From Dv_Topic Where TopicID="& ID)
IsTop = Rs(0)
'如果有总固顶需要清理
If IsTop = 3 And Request("alltop")="" And CanTopTopic_a Then
If IsSqlDataBase=1 Then
Dvbbs.Execute("update dv_topic set istop=0,LastPostTime=dateadd(day,-300,LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
Else
Dvbbs.Execute("update dv_topic set istop=0,LastPostTime=dateadd('d',-300,LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
End If
IsTop = 0
'将总固顶ID从总设置表去除
Set Rs=Dvbbs.Execute("Select Forum_AllTopNum From Dv_Setup")
iForum_AllTopNum = "," & Rs(0) & ","
If Instr(iForum_AllTopNum,"," & ID & ",")>0 Then
iForum_AllTopNum = Split(iForum_AllTopNum,",")
For i=1 To Ubound(iForum_AllTopNum)-1
If Cstr(Trim(iForum_AllTopNum(i)))<>Cstr(ID) Then
If mForum_AllTopNum="" Then
mForum_AllTopNum = iForum_AllTopNum(i)
Else
mForum_AllTopNum = mForum_AllTopNum & "," & iForum_AllTopNum(i)
End If
End If
Next
Dvbbs.Execute("Update Dv_Setup Set Forum_AllTopNum='"&mForum_AllTopNum&"'")
Dvbbs.Name="setup"
Dvbbs.ReloadSetup
End If
Set Rs=Nothing
End If
'如果有固顶需要清理
If IsTop = 1 And CanTopTopic And Trim(Request("getboard"))="" Then
If IsSqlDataBase=1 Then
Dvbbs.Execute("update dv_topic set istop=0,LastPostTime=dateadd(day,-100,LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
Else
Dvbbs.Execute("update dv_topic set istop=0,LastPostTime=dateadd('d',-100,LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
End If
IsTop = 0
'清理对应版面中的帖子ID
Set Rs=Dvbbs.Execute("Select BoardID,BoardTopStr From Dv_Board Where BoardID="&Dvbbs.BoardID)
If Not (Rs.Eof And Rs.Bof) Then
If Rs(1)="" Or IsNull(Rs(1)) Then
iBoardTopStr = ""
Else
If InStr(","&Rs(1)&",",","&ID&",")>0 Then
BoardTopStr = "," & Rs(1) & ","
BoardTopStr = Split(BoardTopStr,",")
For i = 1 To Ubound(BoardTopStr)-1
If Cstr(Trim(BoardTopStr(i)))<>Cstr(ID) Then
If iBoardTopStr="" Then
iBoardTopStr = BoardTopStr(i)
Else
iBoardTopStr = iBoardTopStr & "," & BoardTopStr(i)
End If
End If
Next
Else
iBoardTopStr = Rs(1)
End If
End If
Dvbbs.Execute("Update Dv_Board Set BoardTopStr='"&iBoardTopStr&"' Where BoardID="&Rs(0))
Dvbbs.ReloadBoardInfo(Rs(0))
BoardTopStr = ""
End If
End If
'如果有区域固顶需要清理
If IsTop = 2 And CanTopTopic_m Then
'如果返回的getboard为空,则已经解除该贴的区域固顶,应清理所有含有该ID的版面
If Trim(Request("getboard"))="" Then
If IsSqlDataBase=1 Then
Dvbbs.Execute("update dv_topic set istop=0,LastPostTime=dateadd(day,-200,LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
Else
Dvbbs.Execute("update dv_topic set istop=0,LastPostTime=dateadd('d',-200,LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
End If
IsTop = 0
'查询得出原来该贴所固顶的版面
Set Rs=Dvbbs.Execute("Select BoardID,BoardTopStr From Dv_Board Where BoardTopStr Like '%"&ID&"%'")
Rem 以数组代替循环查询。 2004-5-7 Dvbbs.YangZheng
If Not (Rs.Eof And Rs.Bof) Then
Sql = Rs.GetRows(-1)
Rs.Close:Set Rs = Nothing
For Bn = 0 To Ubound(Sql,2)
If Sql(1,Bn) = "" Or IsNull(Sql(1,Bn)) Then
iBoardTopStr = ""
Else
If InStr("," & Sql(1,Bn) & ",", "," & ID & ",") > 0 Then
BoardTopStr = "," & Sql(1,Bn) & ","
BoardTopStr = Split(BoardTopStr,",")
For i = 1 To Ubound(BoardTopStr)-1
If Cstr(Trim(BoardTopStr(i))) <> Cstr(ID) Then
If iBoardTopStr="" Then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -