⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admin_batch.asp

📁 功能强大的bbs
💻 ASP
📖 第 1 页 / 共 2 页
字号:

Function Topic_Batch_Move
	Dim ID,Newboard,Trs,ChildNum
	Dim F_announceID,SplitUpBoardID
	ChildNum=0
	If Request.form("newboard")="" or isnull(Request.form("newboard")) or not isnumeric(Request.form("newboard")) Then
		Response.redirect "showerr.asp?ErrCodes=<li>如果您是批量转移帖子请选择相关论坛。&action=OtherErr"
		Exit Function
	ElseIf Cint(Request.form("newboard"))=Cint(Dvbbs.BoardID) Then
		Response.redirect "showerr.asp?ErrCodes=<li>请不要选择相同的论坛进行转移操作。&action=OtherErr"
		Exit Function
	Else
		newboard=Request.form("newboard")
	End If

	For i=1 To Request.Form("Announceid").Count
		Id=Replace(Request.Form("Announceid")(i),"'","")
		ID=CLng(ID)
		Set Rs=Dvbbs.Execute("Select PostTable,Isbest,Child,IsTop from dv_Topic Where BoardID="&Dvbbs.BoardID&" And TopicID="&ID)
		If Not(Rs.Eof And Rs.Bof) Then
			If Rs("IsTop")=0 Then
			TotalUseTable=Rs(0)
			ChildNum=ChildNum + Rs(2)
			Dvbbs.Execute("Update "&TotalUseTable&" Set BoardID="&Newboard&" Where BoardID="&Dvbbs.BoardID&" And RootID=" & ID)
			Dvbbs.Execute("update dv_Topic Set BoardID="&Newboard&" Where BoardID="&Dvbbs.BoardID&" And TopicID="&ID)
			If Rs(1)=1 Then
				Dvbbs.Execute("update dv_Besttopic Set BoardID="&Newboard&" Where BoardID="&Dvbbs.BoardID&" And RootID=" & ID)
			End If
			'shinzeal加入批量移动上传文件数据
			F_announceID=ID & "|"
			Dvbbs.Execute("update DV_Upfile set F_boardid="&Newboard&" where F_boardid="&Dvbbs.Boardid&" and F_announceID like '"& F_announceID&"%'")
			'shinzeal加入批量移动上传文件数据结束
			End If
		End If
	Next
	'更新版面和总数据
	Set Rs=Dvbbs.Execute("Select ParentStr from dv_Board Where BoardID="&Dvbbs.BoardID)
	UpdateBoardID=Rs(0) & "," & Dvbbs.BoardID
	Del_Math_Forum_Count ChildNum,i-1
	UpdateBoardID = Split(UpdateBoardID,",")
	For i = 0 To Ubound(UpdateBoardID)
		Dvbbs.ReloadBoardInfo(UpdateBoardID(i))
	Next

	Set Rs=Dvbbs.Execute("Select ParentStr from dv_Board Where BoardID="&Newboard)
	UpdateBoardID=Rs(0) & "," & Newboard
	Add_Math_Forum_Count ChildNum,i
	SplitUpBoardID = Split(UpdateBoardID,",")
	For i = 0 To Ubound(SplitUpBoardID)
		Dvbbs.ReloadBoardInfo(SplitUpBoardID(i))
	Next
	Dvbbs.Name="setup"
	Dvbbs.ReloadSetup

	LastCount(Dvbbs.BoardID)
	Math_Forum_Today(Dvbbs.BoardID)
	Dvbbs.ReloadBoardInfo(Dvbbs.BoardID)

	LastCount(Newboard)
	Math_Forum_Today(Newboard)
	Dvbbs.ReloadBoardInfo(Newboard)

	SQL="insert into Dv_Log (L_AnnounceID,L_BoardID,L_ToUser,L_UserName,L_Content,L_IP,l_type) Values ("&ID&","&Dvbbs.BoardID&",'More','"&Dvbbs.Membername&"','批量移动','"&IP&"',3)"
	Dvbbs.Execute(SQL)

	sucmsg="<li>帖子批量移动成功。<li>您的操作信息已经记录在案。"

	Dvbbs.Dvbbs_suc(sucmsg)
	Set Rs=Nothing
End Function

Function Topic_Batch_Istop

	Dim ID
	For I=1 To Request.Form("Announceid").Count
		ID=replace(Request.form("Announceid")(i),"'","")
		ID=CLng(ID)
		If IsSqlDataBase=1 Then
		Dvbbs.Execute("update dv_Topic Set Istop=1,LastPostTime=Dateadd(day,100,LastPostTime) Where BoardID="&Dvbbs.BoardID&" And TopicID="&ID)
		else
		Dvbbs.Execute("update dv_Topic Set Istop=1,LastPostTime=Dateadd('d',100,LastPostTime) Where BoardID="&Dvbbs.BoardID&" And TopicID="&ID)
		end if
	Next

	SQL="insert into Dv_Log (L_AnnounceID,L_BoardID,L_ToUser,L_UserName,L_Content,L_IP,l_type) Values ("&ID&","&Dvbbs.BoardID&",'More','"&Dvbbs.Membername&"','批量固顶','"&IP&"',4)"
	Dvbbs.Execute(SQL)
	sucmsg="<li>帖子批量固顶成功。<li>您的操作信息已经记录在案。"

	Dvbbs.ReloadBoardInfo(Dvbbs.BoardID)

	Dvbbs.Dvbbs_suc(sucmsg)

End Function

Function Topic_Batch_Isbest

	Dim ID
	For I=1 To Request.Form("Announceid").Count

		ID=replace(Request.form("Announceid")(i),"'","")
		ID=CLng(ID)
		Set Rs=Dvbbs.Execute("Select PostTable from dv_Topic Where BoardID="&Dvbbs.BoardID&" And TopicID="&ID)
		TotalUseTable=Rs(0)

		Set Rs=Dvbbs.Execute("Select Top 1 * From "&TotalUseTable&" Where RootID="&ID&" Order By AnnounceID")
		If Not (Rs.Eof And Rs.Bof) Then

		SQL="insert into Dv_bestTopic (Title,BoardID,Announceid,Rootid,Postusername,Postuserid,Dateandtime,Expression) Values ('"&Dvbbs.Checkstr(Rs("Topic"))&"',"&Rs("BoardID")&","&Rs("Announceid")&","&Rs("Rootid")&",'"&Dvbbs.Checkstr(Rs("Username"))&"',"&Rs("Postuserid")&",'"&Rs("Dateandtime")&"','"&Rs("Expression")&"')"
		Dvbbs.Execute(SQL)
	
		Dvbbs.Execute("Update "&TotalUseTable&" Set Isbest=1 Where AnnounceID=" & Rs("AnnounceID"))
		Dvbbs.Execute("update dv_Topic Set Isbest=1 Where TopicID="&ID)

		End If

	Next

	SQL="insert into Dv_Log (L_AnnounceID,L_BoardID,L_ToUser,L_UserName,L_Content,L_IP,l_type) values ("&ID&","&Dvbbs.BoardID&",'more','"&Dvbbs.Membername&"','批量精华','"&IP&"',3)"
	Dvbbs.Execute(SQL)

	sucmsg="<li>帖子批量精华成功。<li>您的操作信息已经记录在案。"

	Dvbbs.Dvbbs_suc(sucmsg)
	Set Rs=Nothing

End Function

'更新指定论坛信息
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 SplitLastPost(1)="" or 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))
				Dvbbs.ReloadBoardInfo(SplitUpBoardID(i))
			End If
		End If

	Next

	Set Rs=Nothing
End Function

Function Del_Math_Forum_Count(TopicNum,BBSNUM)

	Dvbbs.Execute("Update dv_setup Set Forum_postNum=Forum_postNum-"&TopicNum&",Forum_TopicNum=Forum_TopicNum-"&BBSNUM&"")
	Dvbbs.Execute("update dv_Board Set postnum=postnum-"&TopicNum&",topicnum=topicnum-"&BBSNUM&" Where BoardID In ("&UpdateBoardID&")")

End Function

Function Add_Math_Forum_Count(TopicNum,BBSNUM)

	Dvbbs.Execute("Update dv_setup Set Forum_postNum=Forum_postNum+"&TopicNum&",Forum_TopicNum=Forum_topicNum+"&BBSNUM&"")
	Dvbbs.Execute("update dv_Board Set postnum=postnum+"&TopicNum&",topicnum=topicnum+"&BBSNUM&" Where BoardID In ("&UpdateBoardID&")")

End Function


'今日帖子
Function Math_Forum_Today(BoardID)

	Dim MathForumToday
	if IsSqlDataBase=1 then
	Set Rs=Dvbbs.Execute("Select Count(*) From "&dvbbs.NowUseBBS&" Where BoardID="&BoardID&" And Datediff(d,Dateandtime,"&SqlNowString&")=0")
	else
	Set Rs=Dvbbs.Execute("Select Count(*) From "&dvbbs.NowUseBBS&" Where BoardID="&BoardID&" And Datediff('d',Dateandtime,"&SqlNowString&")=0")
	end if
	MathForumToday=Rs(0)
	Set Rs=Nothing
	If Isnull(MathForumToday) Then MathForumToday=0
	Dvbbs.Execute("update dv_Board Set Todaynum="&MathForumToday&" Where Boardid="&BoardID)

	if IsSqlDataBase=1 then
	Set Rs=Dvbbs.Execute("Select Count(*) From "&dvbbs.NowUseBBS&" Where (Not BoardID in (444,777)) And Datediff(d,Dateandtime,"&SqlNowString&")=0")
	else
	Set Rs=Dvbbs.Execute("Select Count(*) From "&dvbbs.NowUseBBS&" Where (Not BoardID in (444,777)) And Datediff('d',Dateandtime,"&SqlNowString&")=0")
	end if
	MathForumToday=Rs(0)
	Set Rs=Nothing
	If Isnull(MathForumToday) Then MathForumToday=0
	Dvbbs.Execute("Update dv_setup Set Forum_Todaynum="&MathForumToday)

End Function 
%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -