classforum.asp

来自「依蓝旅游网站管理系统Elan2008.SP2」· ASP 代码 · 共 1,287 行 · 第 1/5 页

ASP
1,287
字号
	  Select Case Action
	     Case "Delete":  Setting_TypeName = EL_Common.Lang("Forum.TopicSetting.Delete", "删除")
		 Case "Lock":    Setting_TypeName = EL_Common.Lang("Forum.TopicSetting.Lock", "屏蔽")
		 Case "Up":      Setting_TypeName = EL_Common.Lang("Forum.TopicSetting.Up", "提升")
		 Case "Down":    Setting_TypeName = EL_Common.Lang("Forum.TopicSetting.Down", "沉底")
		 Case "Elite":   Setting_TypeName = EL_Common.Lang("Forum.TopicSetting.Elite", "加为精华")
		 Case "Top":     Setting_TypeName = EL_Common.Lang("Forum.TopicSetting.Top", "设置版块固顶")
		 Case "AllTop":  Setting_TypeName = EL_Common.Lang("Forum.TopicSetting.AllTop", "设置全站固顶")
		 Case "Move":    Setting_TypeName = EL_Common.Lang("Forum.TopicSetting.Move", "移动")
	  End Select	  
	  Message = EL_Common.RegExpStaticLabel(Message, "{$Title}", Title)
	  Message = EL_Common.RegExpStaticLabel(Message, "{$SettingType}", Setting_TypeName)
	  
	  HTML = EL_Common.Template(ChannelID, 30, 0)
	  HTML = EL_Common.ReplaceCommonLabels(HTML)
	    
	  HTML = EL_Common.RegExpStaticLabel(HTML, "{$PageTitle}", Setting_Title)
	  HTML = EL_Common.RegExpStaticLabel(HTML, "{$DefaultSkin}", EL_Common.Skin(ChannelID, EL_Board.BoardID, EL_Board.SkinID))
	  
	  StrPath = EL_Common.Lang("BaseConfig.Path", " >> ")
	  EL_Common.ShowPath = EL_Common.ShowPath & StrPath &"<a href='"& InstallDir & EL_Channel.ChannelDir &"'>"& EL_Channel.ChannelName &"</a>"
	  If EL_Board.ParentID <> 0 Then
	     EL_Common.ShowPath = EL_Common.ShowPath & StrPath &"<a href='"& InstallDir & EL_Channel.ChannelDir &"/ShowBoard.asp?BoardID="& EL_Board.ParentID &"'>"& EL_Board.ParentName &"</a>"
	  End If
	  EL_Common.ShowPath = EL_Common.ShowPath & StrPath &"<a href='"& InstallDir & EL_Channel.ChannelDir &"/ShowBoard.asp?BoardID="& EL_Board.BoardID &"'>"& EL_Board.BoardName &"</a>"
	  EL_Common.ShowPath = EL_Common.ShowPath & StrPath & EL_Common.ServerHTMLEncode(Title) & StrPath & Setting_Title
	  HTML = EL_Common.RegExpStaticLabel(HTML, "{$ShowPath}", EL_Common.ShowPath)
	  HTML = ChannelCommonLabels(HTML)
	  
	  If Action = "Success" Then
	     Dim Success, BackURL, ReplyPageSizes, PageNum
		 Success = EL_Common.Lang("Forum.TopicSetting.Success", "")
		 ReplyPageSizes = EL_Common.Lang("Forum.ReplyPageSizes", 10)
		 If ParentID = 0 Then
		    PageNum = 1
			BackURL = "ShowTopic.asp?BoardID="& EL_Board.BoardID &"&TopicID="& TopicID &"&page="& PageNum &"#"& TopicID
		 Else
			Replys = Replys + 1
			If Replys > ReplyPageSizes Then
			   PageNum = Replys / ReplyPageSizes
			   If PageNum > Int(PageNum) Then
			      PageNum = Int(PageNum) + 1
			   Else
			      PageNum = Int(PageNum)
			   End If
			Else
			   PageNum = 1   
			End If
			BackURL = "ShowTopic.asp?BoardID="& EL_Board.BoardID &"&TopicID="& ParentID &"&page="& PageNum &"#"& TopicID
		 End If		 
		 Success = EL_Common.RegExpStaticLabel(Success, "{$BackURL}", BackURL)
		 SettingHTML = Success
	  Else
	  SettingHTML = "<script language='javascript'>function CheckSetting(frm){if(frm.SetReason.value==''){alert('请输入操作原因');frm.SetReason.focus();return false;}}</script>"
	  SettingHTML = SettingHTML &"<form name='setting' action='TopicSetting.asp' method='post' onsubmit='return CheckSetting(this)'>"
	  SettingHTML = SettingHTML &"<table border='0' cellspacing='1' cellpadding='0' class='setting_tb'>"
	  SettingHTML = SettingHTML &"<tr><td colspan='2' class='setting_title'>"& Setting_Title &" [ "& Setting_TypeName &" ]</td></tr>"
	  
	  SettingHTML = SettingHTML &"<tr>"
	  SettingHTML = SettingHTML &"<td class='setting_item'>"& EL_Common.Lang("Forum.TopicTitle", "帖子标题:") &"</td>"
	  SettingHTML = SettingHTML &"<td class='setting_input'>"& EL_Common.ServerHTMLEncode(Title) &"</td>"
	  SettingHTML = SettingHTML &"</tr>"
	  SettingHTML = SettingHTML &"<tr>"
	  SettingHTML = SettingHTML &"<td class='setting_item'>"& EL_Common.Lang("Forum.TopicAuthor", "作&nbsp;&nbsp;&nbsp;&nbsp;者:") &"</td>"
	  SettingHTML = SettingHTML &"<td class='setting_input'>"& EL_Common.ServerHTMLEncode(Author) &"</td>"
	  SettingHTML = SettingHTML &"</tr>"
	  SettingHTML = SettingHTML &"<tr>"
	  SettingHTML = SettingHTML &"<td class='setting_item'>"& EL_Common.Lang("Forum.TopicPostDateTime", "发表日期:") &"</td>"
	  SettingHTML = SettingHTML &"<td class='setting_input'>"& EL_Common.ServerHTMLEncode(PostDateTime) &"</td>"
	  SettingHTML = SettingHTML &"</tr>"
	  SettingHTML = SettingHTML &"<tr>"
	  SettingHTML = SettingHTML &"<td class='setting_item'>"& EL_Common.Lang("Forum.TopicSetting.Item1", "操作原因:") &"</td>"
	  SettingHTML = SettingHTML &"<td class='setting_input'><input type='text' name='SetReason' id='SetReason' value='' size='54' /></td>"
	  SettingHTML = SettingHTML &"</tr>"
	  If Action = "Move" Then
	     SettingHTML = SettingHTML &"<tr>"
	     SettingHTML = SettingHTML &"<td class='setting_item'>"& EL_Common.Lang("Forum.TopicSetting.Item2", "目标版面:") &"</td>"
	     SettingHTML = SettingHTML &"<td class='setting_input'><select name='ToBoardID' id='ToBoardID'><script language='javascript' src='"& InstallDir & EL_Channel.ChannelDir &"/Js/BoardOptions.js'></script></select></td>"
	     SettingHTML = SettingHTML &"</tr>"
	  End If
	  SettingHTML = SettingHTML &"<tr>"
	  SettingHTML = SettingHTML &"<td class='setting_item'>"& EL_Common.Lang("Forum.TopicSetting.Item3", "短信通知:") &"</td>"
	  SettingHTML = SettingHTML &"<td class='setting_input'><textarea name='Message' id='Message' cols='45' rows='4'>"& EL_Common.ServerHTMLEncode(Message) &"</textarea></td>"
	  SettingHTML = SettingHTML &"</tr>"
	  SettingHTML = SettingHTML &"<tr>"
	  SettingHTML = SettingHTML &"<td class='setting_item'></td>"
	  SettingHTML = SettingHTML &"<td class='setting_input'><input type='submit' value='"& EL_Common.Lang("Forum.TopicSetting.Submit", "提交") &"' /> <input type='button' value='"& EL_Common.Lang("Forum.TopicSetting.Cancel", "取消") &"' onclick='history.back()' /></td>"
	  SettingHTML = SettingHTML &"</tr>"
	  SettingHTML = SettingHTML &"</table>"
	  SettingHTML = SettingHTML &"<input type='hidden' name='Action' id='Action' value='"& Action &"' />"
	  SettingHTML = SettingHTML &"<input type='hidden' name='BoardID' id='BoardID' value='"& EL_Board.BoardID &"' />"
	  SettingHTML = SettingHTML &"<input type='hidden' name='TopicID' id='TopicID' value='"& TopicID &"' />"
	  SettingHTML = SettingHTML &"<input type='hidden' name='SetAction' id='SetAction' value='Save' />"
	  SettingHTML = SettingHTML &"</form>"
	  End If
	  HTML = EL_Common.RegExpStaticLabel(HTML, "{$ShowSetting}", SettingHTML)	  	  
	  
	  Set EL_Board = Nothing	 
	  
	  Response.Write HTML
   End Sub
   
   Public Sub SaveTopic()
      If CheckComeURL = False Then
	     EL_Common.ShowErrorMsg(EL_Common.Lang("BaseConfig.ComeURLError", "禁止从本站外部提交数据"))
		 Exit Sub
	  End If
	  
      If EL_User.UserIsLogin = False Then
	     Dim TempURL
		 TempURL = InstallDir & EL_Channel.ChannelDir &"/"& EL_CurrentScriptName
		 If Request.ServerVariables("QUERY_STRING") <> "" Then
		    TempURL = TempURL  &"?"& Request.ServerVariables("QUERY_STRING")
		 End If
		 Response.Redirect InstallDir &"User/User_Login.asp?url="& EL_Common.ServerURLEncode(TempURL)
	  End If
	  
	  If EL_User.EnablePost = False Then
	     EL_Common.ShowErrorMsg(EL_Common.Lang("Forum.Error3", "对不起,您被禁止发帖"))
		 Exit Sub
	  End If
	  
	  Dim LastPostDateTime
	  LastPostDateTime = Session("EL_Forum_LastPostDateTime")
	  If Not IsDate(LastPostDateTime) Then
	     LastPostDateTime = Now()
	  Else
	     If DateDiff("s", LastPostDateTime, Now()) < PostInterval Then
	        EL_Common.ShowErrorMsg(EL_Common.RegExpStaticLabel(EL_Common.Lang("Forum.Error11", "对不起,您发帖速度过快,请{$PostInterval}秒后再发帖"), "{$PostInterval}", PostInterval))
		    Exit Sub
	     End If
	  End If
	  
	  Dim TopicID, ParentID, Title, Color, Icon, Content, Uploadfiles, CheckCode, TopicType, VoteItems, VoteTimeOut, VoteType
	  Dim EL_Board, EL_Topic, NewTopicCmd, UpdateType
	  Dim Form_Action, Form_UserName, StrPath, ActionTitle
	  Dim UserID, UserName, ArrTemp
	  Set EL_Board = New ClassBoard
	  If EL_Board.ErrorCode = 1 Then
	     Set EL_Board = Nothing
	     EL_Common.ShowErrorMsg(EL_Common.Lang("Forum.Error1", "指定"& EL_Channel.ClassItemName &"不存在或已被禁用"))
	     Exit Sub
	  End If  
	  
	  Set EL_Topic = New ClassTopic	  
	  
	  TopicID = EL_Common.ELRequest("TopicID", 2)
	  Title = EL_Common.ELRequest("Title", 1)
	  Color = EL_Common.ELRequest("Color", 1)
	  Icon = EL_Common.ELRequest("Icon", 2)
	  Content = EL_Common.ELRequest("Content", 1)
	  Uploadfiles = EL_Common.ELRequest("Uploadfiles", 1)
	  CheckCode = UCase(EL_Common.ELRequest("CheckCode", 1))
	  TopicType = EL_Common.ELRequest("TopicType", 2)
	  VoteItems = EL_Common.ELRequest("VoteItems", 1)
	  VoteTimeOut = EL_Common.ELRequest("VoteTimeOut", 2)
	  VoteType = EL_Common.ELRequest("VoteType", 2)
	  ParentID = 0
	  
	  If EL_Board.EnableCheckCode = True And Action <> "SaveVote" Then
	     If Trim(CheckCode) <> Session("CheckCode") Or Trim(CheckCode) = "" Then
		    EL_Common.ShowErrorMsg(EL_Common.Lang("BaseCongif.CheckCodeError", "验证码错误"))
			Exit Sub
		 End If
	  End If
	  
	  '过滤
	  Content = EL_Common.FliterScript(Content, "Iframe", 1)
	  Content = EL_Common.FliterScript(Content, "Object", 2)
	  Content = EL_Common.FliterScript(Content, "Script", 2)
	  Content = EL_Common.FliterScript(Content, "Event", 5)	  	  
	  Content = EL_Common.ReplaceKeyLink(Content, 1)
	  Title = EL_Common.ReplaceKeyLink(Title, 1)
	  
	  If EL_Common.RemoveHTML(Title) = "" And Action <> "SaveVote" Then
	     EL_Common.ShowErrorMsg(EL_Common.Lang("Forum.Error5", "帖子标题不能为空"))
		 Exit Sub
	  End If
	  
	  If Content = "" And Action <> "SaveVote" Then
	     EL_Common.ShowErrorMsg(EL_Common.Lang("Forum.Error6", "帖子内容不能为空"))
		 Exit Sub
	  End If
	  
	  Select Case Action
	     Case "SaveNew":
		    UpdateType = 0
			UserID = EL_User.UserID
			UserName = EL_User.UserName
			If TopicType = 1 Then
			   VoteItems = Replace(VoteItems, "|", "")
			   If VoteItems = "" Then
			      EL_Common.ShowErrorMsg(EL_Common.Lang("Forum.Error7", "投票项目不能为空"))
				  Exit Sub
			   End If
			   VoteItems = Replace(VoteItems, VBCRLF, "|")
			   Select Case VoteTimeOut
			      Case 0: VoteTimeOut = DateAdd("y", 9999, Now())
				  Case 1: VoteTimeOut = DateAdd("d", 1, Now())
				  Case 2: VoteTimeOut = DateAdd("d", 3, Now())
				  Case 3: VoteTimeOut = DateAdd("d", 7, Now())
				  Case 4: VoteTimeOut = DateAdd("d", 15, Now())
				  Case 5: VoteTimeOut = DateAdd("m", 1, Now())
				  Case 6: VoteTimeOut = DateAdd("m", 3, Now())
				  Case 7: VoteTimeOut = DateAdd("m", 6, Now())
				  Case 8: VoteTimeOut = DateAdd("y", 1, Now())
			   End Select
			Else
			   VoteItems = ""
			End If
		 Case "SaveReply":
		    EL_Topic.BoardID = EL_Board.BoardID
		    Call EL_Topic.GetTopicInfo()
			If EL_Topic.ErrorCode = 1 Or EL_Topic.Deleted = True Then
			   EL_Common.ShowErrorMsg(EL_Common.Lang("Forum.Error2", "指定帖子不存在或已被管理员删除"))
			   Set EL_Board = Nothing
			   Set EL_Topic = Nothing
			   Exit Sub
			End If	
		    ParentID = EL_Topic.TopicID
			UpdateType = 0
			TopicType = 0
			VoteItems = ""
			UserID = EL_User.UserID
			UserName = EL_User.UserName
		 Case "SaveEdit":
			ArrTemp = EL_Common.GetFieldValue("TopicID,ParentID,UserID,UserName", "EL_ForumTopic", "ChannelID="& ChannelID &" AND BoardID="& EL_Board.BoardID &" AND Deleted="& EL_False &" AND TopicID="& TopicID)
		    If TopicID <> ArrTemp(0) Then
			   EL_Common.ShowErrorMsg(EL_Common.Lang("Forum.Error2", "指定帖子不存在或已被管理员删除"))
			   Set EL_Board = Nothing
			End If
				
			If EL_User.BoardSuperManager = False Then
			   If EL_User.UserName <> ArrTemp(3) Or EL_User.UserID <> ArrTemp(2) Then
			      If EL_Common.FoundInArray(Split(EL_Board.ArrManager, "|"), EL_User.UserName) = False Then
			         EL_Common.ShowErrorMsg(EL_Common.Lang("Forum.Error4", "对不起,您没有编辑的权限"))
				     Set EL_Board = Nothing
				     Exit Sub
			      End If
			   End If
			End If
						
			ParentID = ArrTemp(1)
			UpdateType = 1
			TopicType = 0
			VoteItems = ""
			UserID = EL_User.UserID
			UserName = EL_User.UserName
	     Case "SaveVote":
		    UpdateType = 2
			ParentID = EL_Common.ELRequest("VoteID", 2)
			VoteItems = Replace(VoteItems, " ", "")
			If VoteItems = "" Then
			   EL_Common.ShowErrorMsg(EL_Common.Lang("Vote.Error3", "请选择投票项目"))
			   Set EL_Board = Nothing
			   Set EL_Topic = Nothing
			   Exit Sub
			End If

⌨️ 快捷键说明

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