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

📄 admin_postings.asp

📁 品泡女人香XI8.NET文章管理系统的源码
💻 ASP
📖 第 1 页 / 共 5 页
字号:
				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 + -