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

📄 admin_postings.asp

📁 一个很不错的论坛系统
💻 ASP
📖 第 1 页 / 共 5 页
字号:
				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&"%'")
					Do While Not Rs.Eof
						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 = ""
						iBoardTopStr = ""
					Rs.Movenext
					Loop
				'如果返回的getboard不为空,则应清理原来含有该ID且不属于返回的getboard的版面的该帖子ID
				'需同时判断,如果用户将原区域固顶设置升级为总固顶,且忘记取消列表中的版面,则应清理该ID对应的版面
				Else
					Dim ii
					ii = 0
					If Request("alltop")="1" 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&"%'")
					Do While Not Rs.Eof
						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 = ""
						iBoardTopStr = ""
					Rs.Movenext
					Loop
					IsTop=0
					Else
					Set Rs=Dvbbs.Execute("Select BoardID,BoardTopStr From dv_Board Where (Not BoardID in ("&Request("getboard")&")) And BoardTopStr Like '%"&ID&"%'")
					Do While Not Rs.Eof
						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
								ii = ii + 1
							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 = ""
						iBoardTopStr = ""
					Rs.MoveNext
					Loop
					getBoard = Split(Request("getboard"),",")
					'如果单选当前版面,则取消区域固顶,还原为版面固顶,如多选则不做处理
					If Ubound(getBoard)=0 And Clng(getBoard(0))=Dvbbs.BoardID And CanTopTopic Then
						If IsTop = 0 Then TimeAdd = 100
						If IsTop = 1 Then TimeAdd = 0
						If IsTop = 2 Then TimeAdd = -100
						If IsTop = 3 Then TimeAdd = -200
						If IsSqlDataBase=1 Then
							Dvbbs.Execute("update dv_topic set istop=1,LastPostTime=dateadd(day,"&TimeAdd&",LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
						Else
							Dvbbs.Execute("update dv_topic set istop=1,LastPostTime=dateadd('d',"&TimeAdd&",LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
						End If
						IsTop = 1
					End If
					End If 'End By AllTop
				End If
			End If

			'总固顶操作
			Dim TimeAdd
			TimeAdd = 0
			If Request("alltop")="1" And CanTopTopic_a Then
				If IsTop = 0 Then TimeAdd = 300
				If IsTop = 1 Then TimeAdd = 200
				If IsTop = 2 Then TimeAdd = 100
				If IsTop = 3 Then TimeAdd = 0
				If IsSqlDataBase=1 Then
					Dvbbs.Execute("update dv_topic set istop=3,LastPostTime=dateadd(day,"&TimeAdd&",LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
				Else
					Dvbbs.Execute("update dv_topic set istop=3,LastPostTime=dateadd('d',"&TimeAdd&",LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
				End If
				'将总固顶ID插入总设置表
				Set Rs=Dvbbs.Execute("Select Forum_AllTopNum From Dv_Setup")
				iForum_AllTopNum = "," & Rs(0) & ","
				If Instr(iForum_AllTopNum,"," & ID & ",")=0 Then
					If Trim(Rs(0))="" Then
						iForum_AllTopNum = ID
					Else
						iForum_AllTopNum = Rs(0) & "," & ID
					End If
					Dvbbs.Execute("Update Dv_Setup Set Forum_AllTopNum='"&iForum_AllTopNum&"'")
					Dvbbs.Name="setup"
					Dvbbs.ReloadSetup
				End If
				Set Rs=Nothing
			Else
				If Request("getboard")<>"" Then
					getBoard = Split(Request("getBoard"),",")
					'单选且当前版面固顶
					i = 0
					If Ubound(getBoard)=0 And Clng(getBoard(0))=Dvbbs.BoardID And CanTopTopic Then
						Set Rs=Dvbbs.Execute("Select BoardID,BoardTopStr From Dv_Board Where BoardID="&Clng(getBoard(0)))
						If Not (Rs.Eof And Rs.Bof) Then
							If Rs(1)="" Or IsNull(Rs(1)) Then
								BoardTopStr = ID
								i = i + 1
							Else
								If InStr(","&Rs(1)&",",","&ID&",")>0 Then
									BoardTopStr = Rs(1)
								Else
									BoardTopStr = Rs(1) & "," & ID
									i = i + 1
								End If
							End If
							Dvbbs.Execute("Update Dv_Board Set BoardTopStr='"&BoardTopStr&"' Where BoardID="&Rs(0))
							Dvbbs.ReloadBoardInfo(Rs(0))
							BoardTopStr = ""
						End If
						If i > 0 Then
						If IsTop = 0 Then TimeAdd = 100
						If IsTop = 1 Then TimeAdd = 0
						If IsTop = 2 Then TimeAdd = -100
						If IsTop = 3 Then TimeAdd = -200
						If IsSqlDataBase=1 Then
							Dvbbs.Execute("update dv_topic set istop=1,LastPostTime=dateadd(day,"&TimeAdd&",LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
						Else
							Dvbbs.Execute("update dv_topic set istop=1,LastPostTime=dateadd('d',"&TimeAdd&",LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
						End If
						End If
					'多选区域固顶,包含在当前版面固顶操作中单选其它版面
					'在这里不需判断当前用户在其它版面的权限
					'因为只要在用户组或版面权限或用户权限中对当前版面有区域固顶权限,则默认为可添加固顶到其它版面
					Else
						Set Rs=Dvbbs.Execute("Select BoardID,BoardTopStr From Dv_Board Where BoardID In ("&Request("getBoard")&")")
						Do While Not Rs.Eof
							If Rs(0)=Dvbbs.BoardID And CanTopTopic Then
								If Rs(1)="" Or IsNull(Rs(1)) Then
									BoardTopStr = ID
									i = i + 1
								Else
									If InStr(","&Rs(1)&",",","&ID&",")>0 Then
										BoardTopStr = Rs(1)
									Else
										BoardTopStr = Rs(1) & "," & ID
										i = i + 1
									End If
								End If
								Dvbbs.Execute("Update Dv_Board Set BoardTopStr='"&BoardTopStr&"' Where BoardID="&Rs(0))
								Dvbbs.ReloadBoardInfo(Rs(0))
							ElseIf CanTopTopic_m Then
								If Rs(1)="" Or IsNull(Rs(1)) Then
									BoardTopStr = ID
									i = i + 1
								Else
									If InStr(","&Rs(1)&",",","&ID&",")>0 Then
										BoardTopStr = Rs(1)
									Else
										BoardTopStr = Rs(1) & "," & ID
										i = i + 1
									End If
								End If
								Dvbbs.Execute("Update Dv_Board Set BoardTopStr='"&BoardTopStr&"' Where BoardID="&Rs(0))
								Dvbbs.ReloadBoardInfo(Rs(0))
							End If
							BoardTopStr = ""
						Rs.MoveNext
						Loop
						If i > 0 And CanTopTopic_m Then
							If IsTop = 0 Then TimeAdd = 200
							If IsTop = 1 Then TimeAdd = 100
							If IsTop = 2 Then TimeAdd = 0
							If IsTop = 3 Then TimeAdd = -100
							If IsSqlDataBase=1 Then
								Dvbbs.Execute("update dv_topic set istop=2,LastPostTime=dateadd(day,"&TimeAdd&",LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
							Else
								Dvbbs.Execute("update dv_topic set istop=2,LastPostTime=dateadd('d',"&TimeAdd&",LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
							End If
						ElseIf i > 0 And CanTopTopic Then
							If IsTop = 0 Then TimeAdd = 100
							If IsTop = 1 Then TimeAdd = 0
							If IsTop = 2 Then TimeAdd = -100
							If IsTop = 3 Then TimeAdd = -200
							If IsSqlDataBase=1 Then
								Dvbbs.Execute("update dv_topic set istop=1,LastPostTime=dateadd(day,"&TimeAdd&",LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
							Else
								Dvbbs.Execute("update dv_topic set istop=1,LastPostTime=dateadd('d',"&TimeAdd&",LastPostTime) where boardID="&Dvbbs.BoardID&" and topicID="&ID)
							End If
						End If
					End If
					Set Rs=Nothing
				End If
			End If

			Insert_Forum_Log()
			Update_User_Point("")
			Topic_Manage_Sms()
			Dvbbs.Dvbbs_Suc(SucMsgInfo(sucmsg))
		Else
			Dim Body,TempStr,BoardJump
			TempStr = template.html(3)
			Set Rs=Dvbbs.Execute("Select title,Istop From Dv_Topic Where TopicID="&ID)
			IsTop = Rs(1)
			Set Rs=Dvbbs.Execute("Select Body From "&TotalUseTable&" Where RootID="&ID&" And ParentID=0")
			Body = Left(Dvbbs.HtmlEncode(Rs(0)),"250") & "..."
			Set Rs=Nothing
			TempStr = Replace(TempStr,"{$boardid}",Dvbbs.BoardID)
			TempStr = Replace(TempStr,"{$id}",ID)
			TempStr = Replace(TempStr,"{$topic}",Dvbbs.HtmlEncode(Topic))
			TempStr = Replace(TempStr,"{$content}",Body)
			TempStr = Replace(TempStr,"{$reaction}",request("action"))
			'有总固顶和区域固顶权限则显示所有版面列表
			If CanTopTopic_a Or CanTopTopic_m Then
				Set Rs=Dvbbs.Execute("select boardid,boardtype,depth,BoardTopStr from dv_board order by rootid,orders")
			Else
				Set Rs=Dvbbs.Execute("select boardid,boardtype,depth,BoardTopStr from dv_board Where BoardID="&Dvbbs.BoardID)
			End If
			Do While Not Rs.Eof
			BoardJump = BoardJump & "<option "
			If rs(0)=dvbbs.boardid Then
				BoardJump = BoardJump & " selected"
			Else
				If Rs(3)<>"" And Not IsNull(Rs(3)) And IsTop>0 Then
					If Instr("," & Rs(3) & ",","," & ID & ",")>0 Then BoardJump = BoardJump & " selected"
				End If
			End If
			BoardJump = BoardJump & " value="&rs(0)&">"
			Select Case rs(2)
			Case 0
				BoardJump = BoardJump & "╋"
			Case 1
				BoardJump = BoardJump & "&nbsp;&nbsp;├"
			End Select
			If rs(2)>1 Then
				For ii=2 To rs(2)
					BoardJump = BoardJump & "&nbsp;&nbsp;│"
				Next
				BoardJump = BoardJump & "&nbsp;&nbsp;├"
			End If
			BoardJump = BoardJump & rs(1)
			BoardJump = BoardJump & "</option>"
			Rs.MoveNext
			Loop
			Set Rs=Nothing
			TempStr = Replace(TempStr,"{$boardselected}",BoardJump)
			If Not CanTopTopic_a Then TempStr = Replace(TempStr,"{$checkbox1}","disabled")
			If IsTop = 3 Then TempStr = Replace(TempStr,"{$checkbox1}","checked")
			TempStr = Replace(TempStr,"{$checkbox1}","")
			TempStr = Replace(TempStr,"{$title}",Dvbbs.htmlencode(Request.form("title")))
			TempStr = Replace(TempStr,"{$msgcontent}",Dvbbs.htmlencode(Request.form("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"))
			If Dvbbs.GroupSetting(21)="1" Then TempStr = Replace(TempStr,"{$boardtop}","√")

⌨️ 快捷键说明

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