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

📄 admin_postings.asp

📁 品泡女人香XI8.NET文章管理系统的源码
💻 ASP
📖 第 1 页 / 共 5 页
字号:
												iBoardTopStr = BoardTopStr(i)
											Else
												iBoardTopStr = iBoardTopStr & "," & BoardTopStr(i)
											End If
										End If								
									Next
								Else
									iBoardTopStr = Sql(1,Bn)
								End If
							End If
							Dvbbs.Execute("Update Dv_Board Set BoardTopStr='" & iBoardTopStr & "' Where BoardID = " & Sql(0,Bn))
							Dvbbs.ReloadBoardInfo(Sql(0,Bn))
							BoardTopStr = ""
							iBoardTopStr = ""
						Next
					End If
				'如果返回的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 & "%'")
						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
													iBoardTopStr = BoardTopStr(i)
												Else
													iBoardTopStr = iBoardTopStr & "," & BoardTopStr(i)
												End If
											End If								
										Next
									Else
										iBoardTopStr = Sql(1,Bn)
									End If
								End If
								Dvbbs.Execute("UPDATE Dv_Board SET BoardTopStr = '" & iBoardTopStr & "' WHERE BoardID = " & Sql(0,Bn))
								Dvbbs.ReloadBoardInfo(Sql(0,Bn))
								BoardTopStr = ""
								iBoardTopStr = ""
							Next
						End If
						IsTop = 0
					Else
						Set Rs = Dvbbs.Execute("SELECT BoardID, BoardTopStr FROM Dv_Board WHERE (NOT BoardID IN (" & Request("getboard") & ")) AND BoardTopStr LIKE '%" & ID & "%'")
						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
													iBoardTopStr = BoardTopStr(i)
												Else
													iBoardTopStr = iBoardTopStr & "," & BoardTopStr(i)
												End If
											End If								
										Next
										ii = ii + 1
									Else
										iBoardTopStr = Sql(1,Bn)
									End If
								End If
								Dvbbs.Execute("UPDATE Dv_Board SET BoardTopStr = '" & iBoardTopStr & "' WHERE BoardID = " & Sql(0,Bn))
								Dvbbs.ReloadBoardInfo(Sql(0,Bn))
								BoardTopStr = ""
								iBoardTopStr = ""
							Next
						End If
						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")&")")
						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(0,Bn) = Dvbbs.BoardID And CanTopTopic Then
									If Sql(1,Bn) = "" Or IsNull(Sql(1,Bn)) Then
										BoardTopStr = ID
										i = i + 1
									Else
										If InStr("," & Sql(1,Bn) & ",", "," & ID & ",") > 0 Then
											BoardTopStr = Sql(1,Bn)
										Else
											BoardTopStr = Sql(1,Bn) & "," & ID
											i = i + 1
										End If
									End If
									Dvbbs.Execute("UPDATE Dv_Board SET BoardTopStr = '" & BoardTopStr & "' WHERE BoardID = " & Sql(0,Bn))
									Dvbbs.ReloadBoardInfo(Sql(0,Bn))
								ElseIf CanTopTopic_m Then
									If Sql(1,Bn) = "" Or IsNull(Sql(1,Bn)) Then
										BoardTopStr = ID
										i = i + 1
									Else
										If InStr("," & Sql(1,Bn) & ",", "," & ID & ",") > 0 Then
											BoardTopStr = Sql(1,Bn)
										Else
											BoardTopStr = Sql(1,Bn) & "," & ID
											i = i + 1
										End If
									End If
									Dvbbs.Execute("UPDATE Dv_Board SET BoardTopStr = '" & BoardTopStr & "' WHERE BoardID = " & Sql(0,Bn))
									Dvbbs.ReloadBoardInfo(Sql(0,Bn))
								End If
								BoardTopStr = ""
							Next
						End If
						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}","√")
			TempStr = Replace(TempStr,"{$boardtop}","<font color=red>×</font>")
			If Dvbbs.GroupSetting(54)="1" Then TempStr = Replace(TempStr,"{$areatop}","√")
			TempStr = Replace(TempStr,"{$areatop}","<font color=red>×</font>")
			If Dvbbs.GroupSetting(38)="1" Then TempStr = Replace(TempStr,"{$alltop}","√")
			TempStr = Replace(TempStr,"{$alltop}","<font color=red>×</font>")
			
			Response.Write TempStr
		End If
	End Sub

	'单帖屏蔽帖子
	Public Sub islockpage()
		LogType=5
		Get_RequestInfo
		Dvbbs.Execute("Update "&TotalUseTable&" Set LockTopic=2 where boardID="&Dvbbs.BoardID&" and announceID="&replyID)
		GetUserID
		Insert_Forum_Log()
		Update_User_Point("")
		Topic_Manage_Sms()
		Dvbbs.Dvbbs_Suc(SucMsgInfo(sucmsg))
	End Sub
	Sub GetUserID()
		Dim Rs
		Set Rs=Dvbbs.Execute("Select PostUserid,UserName From "&TotalUseTable&" Where announceID="&replyID&"")
		If Not Rs.EOF Then
			TopicUserID=Rs(0)
			TopicUsername=Rs(1)
		End If 
		Set Rs=Nothing	
	End Sub 
	'解除单帖屏蔽帖子
	Public Sub nolockpage()
		LogType=3
		Get_RequestInfo
		Dvbbs.Execute("Update "&TotalUseTable&" set LockTopic=0 Where boardID="&Dvbbs.BoardID&" and announceID="&replyID)
		GetUserID
		Insert_Forum_Log()
		Update_User_Point("")
		Topic_Manage_Sms()
		Dvbbs.Dvbbs_Suc(SucMsgInfo(sucmsg))
	End Sub

⌨️ 快捷键说明

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