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

📄 admin_postings.asp

📁 公司企业网站管理系统全站源码,用于企业内部对网站的管理
💻 ASP
📖 第 1 页 / 共 5 页
字号:
				ActionInfo = "清除总固顶"
				Dvbbs.Execute("update dv_topic set istop=0  where boardID="&Dvbbs.BoardID&" and topicID="&ID)
				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.ReloadSetupCache mForum_AllTopNum,28
				End If
				Set Rs=Nothing
			End If

			'如果有固顶需要清理
			If IsTop = 1 And CanTopTopic And Trim(Request("getboard"))="" Then
				ActionInfo = "解除固顶"
				Dvbbs.Execute("update dv_topic set istop=0 where boardID="&Dvbbs.BoardID&" and topicID="&ID)
				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.LoadBoardinformation Rs(0)
					BoardTopStr = ""
				End If
			End If

			'如果有区域固顶需要清理
			UpBoardID = ""
			If IsTop = 2 And CanTopTopic_m Then
				'如果返回的getboard为空,则已经解除该贴的区域固顶,应清理所有含有该ID的版面
				If Trim(Request("getboard"))="" Then
					ActionInfo = "解除区域固顶"
					
						Dvbbs.Execute("update dv_topic set istop=0  where boardID="&Dvbbs.BoardID&" and topicID="&ID)
					
					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)
							UpBoardID = UpBoardID & Sql(0,Bn) &","
							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))
							BoardTopStr = ""
							iBoardTopStr = ""
						Next
						Dvbbs.ReloadBoardInfo(UpBoardID & Dvbbs.BoardID)
					End If
				'如果返回的getboard不为空,则应清理原来含有该ID且不属于返回的getboard的版面的该帖子ID
				'需同时判断,如果用户将原区域固顶设置升级为总固顶,且忘记取消列表中的版面,则应清理该ID对应的版面
				Else
					Dim ii
					ii = 0
					If Request("alltop")="1" Then
						
							Dvbbs.Execute("update dv_topic set istop=0 where boardID="&Dvbbs.BoardID&" and topicID="&ID)
					
					
						IsTop = 0
						'查询得出原来该贴所固顶的版面
						UpBoardID = ""
						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)
								UpBoardID = UpBoardID & Sql(0,Bn) &","
								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))	
								BoardTopStr = ""
								iBoardTopStr = ""
							Next
							Dvbbs.ReloadBoardInfo(UpBoardID & Dvbbs.BoardID)
						End If
						IsTop = 0
					Else
						UpBoardID = ""
						Set Rs = Dvbbs.Execute("SELECT BoardID, BoardTopStr FROM Dv_Board WHERE (NOT BoardID IN (" & Dvbbs.Checkstr(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)
								UpBoardID = UpBoardID & Sql(0,Bn) &","
								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))
								BoardTopStr = ""
								iBoardTopStr = ""
							Next
							Dvbbs.ReloadBoardInfo(UpBoardID & Dvbbs.BoardID)
						End If
						GetBoard = Split(Request("getboard"),",")
						'如果单选当前版面,则取消区域固顶,还原为版面固顶,如多选则不做处理
						If Ubound(getBoard)=0 And Clng(getBoard(0))=Dvbbs.BoardID And CanTopTopic Then
							'Select Case IsTop
							'	Case 0 : TimeAdd = 100
							'	Case 1 : TimeAdd = 0
							'	Case 2 : TimeAdd = -100
							'	Case 3 : TimeAdd = -200
							'	Case Else : TimeAdd = 0
							'End Select
						
							Dvbbs.Execute("UPDATE Dv_Topic SET Istop = 1 WHERE BoardID = " & Dvbbs.BoardID & " AND TopicID = " & ID)
						
							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
					Dvbbs.Execute("update dv_topic set istop=3  where boardID="&Dvbbs.BoardID&" and topicID="&ID)
			
				'将总固顶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.ReloadSetupCache iForum_AllTopNum,28
				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.LoadBoardinformation Rs(0)
							BoardTopStr = ""
						End If
						Dvbbs.Execute("update dv_topic set istop=1 where boardID="&Dvbbs.BoardID&" and topicID="&ID)
					
					'多选区域固顶,包含在当前版面固顶操作中单选其它版面
					'在这里不需判断当前用户在其它版面的权限
					'因为只要在用户组或版面权限或用户权限中对当前版面有区域固顶权限,则默认为可添加固顶到其它版面
					Else
						Set Rs=Dvbbs.Execute("Select BoardID,BoardTopStr From Dv_Board Where BoardID In ("&Dvbbs.Checkstr(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))
								End If
								BoardTopStr = ""
							Next
							Dvbbs.ReloadBoardInfo(Dvbbs.Checkstr(Request("getBoard")))
						End If
						If i > 0 And CanTopTopic_m Then
								Dvbbs.Execute("update dv_topic set istop=2  where boardID="&Dvbbs.BoardID&" and topicID="&ID)
					
						ElseIf i > 0 And CanTopTopic Then
									Dvbbs.Execute("update dv_topic set istop=1  where boardID="&Dvbbs.BoardID&" and topicID="&ID)
						End If
					End If
					Set Rs=Nothing
				End If
			End If
			sucmsg=ActionInfo&"《"&Server.htmlencode(topic)&"》,"&Server.htmlencode(content)& ","&allmsg&""
			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 Boardid="&Dvbbs.boardid&" and TopicID="&ID)
			IsTop = Rs(1)
			Set Rs=Dvbbs.Execute("Select Body From "&TotalUseTable&" Where Boardid="&Dvbbs.boardid&" and 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;│"

⌨️ 快捷键说明

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