www.gusucode.com > 艺术签名文章资讯网源代码 > 艺术签名文章资讯网源代码/624/GuestBook/showreply.asp

    <!--#include file="config.asp"-->
<!--#include file="../inc/ubbcode.asp"-->
<!--#include file="../inc/cls_editor.asp"-->
<%
Dim TempListContent,ListContent,strClassName
Dim Rs, SQL,i,guestid,j,isAdmin,username,strTopic
Dim maxperpage, totalnumber, TotalPageNum, CurrentPage
Dim strReplyAlt,strTempContent,strPagination
Dim strHomePage,strLockedAlt

ubb.BasePath = ChannelRootDir
ubb.setUbbcode = Join(Newasp.setUserEditor,"|")
ubb.Keyword = Newasp.ContentKeyword

Newasp.LoadTemplates 9999, 2, 0

HtmlContent = Newasp.HtmlContent
HtmlContent = Replace(HtmlContent,"{$InstallDir}", Newasp.InstallDir)
HtmlContent = Replace(HtmlContent, "{$ChannelID}", ChannelID)
'--频道目录
HtmlContent = Replace(HtmlContent,"{$ChannelRootDir}", ChannelRootDir, 1, -1, 1)
HtmlContent = Replace(HtmlContent,"{$CurrentStation}",Newasp.ChannelName)
'HtmlContent = Replace(HtmlContent,"{$PageTitle}","回复留言")
HtmlContent = Replace(HtmlContent,"{$IndexTitle}",strIndexName)
HtmlContent = ReadClassMenu(HtmlContent)
HtmlContent = ReadClassMenubar(HtmlContent)
HtmlContent = HTML.ReadAnnounceList(HtmlContent)
HtmlContent = HTML.ReadStatistic(HtmlContent)
HtmlContent = HTML.ReadUserRank(HtmlContent)
HtmlContent = Replace(HtmlContent,"{$LeastString}", Newasp.LeastString)
HtmlContent = Replace(HtmlContent, "{$MaxString}", Newasp.MaxString)
HtmlContent = Replace(HtmlContent, "{$MemberName}", Newasp.membername)

strClassName = "回复留言"

maxperpage = Newasp.ChkNumeric(Newasp.HtmlSetting(1))   '每页显示帖子数

guestid = Newasp.ChkNumeric(Request("guestid"))
If guestid = 0 Then
	Response.Write"错误的系统参数!"
	Response.End
End If

CurrentPage = Newasp.ChkNumeric(Request("page"))
If CInt(CurrentPage) = 0 Then CurrentPage = 1
Set Rs = Newasp.Execute("SELECT * FROM NC_GuestBook WHERE isAccept > 0 And guestid ="& guestid)
If Rs.BOF And Rs.EOF Then
	Set Rs = Nothing
	Call OutAlertScript("错误的系统参数!")
Else
	strTopic = Newasp.HTMLEncode(Newasp.CheckTopic(Rs("title")))
	HtmlContent = Replace(HtmlContent,"{$GuestID}", guestid)
	HtmlContent = Replace(HtmlContent,"{$GuestTopic}", strTopic)
	If Rs("ReplyNum") <> 0 Then
		strReplyAlt = "<img src='images/collapsed_yes.gif' border=0 alt='有回复(共 " & Rs("ReplyNum") & " 条)'>"
	Else
		strReplyAlt = "<img src='images/collapsed_no.gif' border=0 alt='无回复'>"
	End If
	HtmlContent = Replace(HtmlContent,"{$ReplyAlt}", strReplyAlt)
	
	If CurrentPage = 1 Then
		strTempContent = Newasp.HtmlSetting(3)
		strTempContent = Replace(strTempContent,"{$GuestID}", guestid)
		strTempContent = Replace(strTempContent,"{$GuestTopic}", strTopic)
		strTempContent = Replace(strTempContent,"{$UserName}", Rs("username"))
		strTempContent = Replace(strTempContent,"{$GuestStatus}", GuestStation(Rs("userid")))
		strTempContent = Replace(strTempContent,"{$UserFace}", Newasp.CheckTopic(Rs("face")))
		strTempContent = Replace(strTempContent,"{$ComeFrom}", Rs("ComeFrom"))
		strTempContent = Replace(strTempContent,"{$GuestQQ}", Rs("GuestOicq"))
		strTempContent = Replace(strTempContent,"{$Emotion}", Rs("emot"))
		strTempContent = Replace(strTempContent,"{$GuestEmail}", Newasp.CheckTopic(Rs("GuestEmail")))
		strTempContent = Replace(strTempContent,"{$WriteTime}", Rs("WriteTime"))
		strTempContent = Replace(strTempContent,"{$GuestIP}", Rs("GuestIP"))
		
		If IsNull(Rs("Topicformat")) Then
			strTempContent = Replace(strTempContent, "{$Topicformat}", "")
		Else
			strTempContent = Replace(strTempContent, "{$Topicformat}", " "& Rs("Topicformat"))
		End If
		If Rs("ForbidReply") <> 0 Then
			strLockedAlt = "      <img src='images/a_lock.gif' align=""absmiddle"" alt=""此留言已锁定,禁止回复"">"
		Else
			strLockedAlt = ""
		End If
		strTempContent = Replace(strTempContent,"{$LockedAlt}", strLockedAlt)
		
		If Newasp.CheckNull(Rs("HomePage")) Then
			strHomePage = Rs("HomePage")
			If LCase(Left(strHomePage,4)) <> "http" Then strHomePage = "http://" & strHomePage
		Else
			strHomePage = "#"
		End If
		strTempContent = Replace(strTempContent,"{$HomePage}", strHomePage)

		If Rs("isAdmin") <> 0 Then
			If Rs("username") = Newasp.membername Or Newasp.membergrade = "999" Or Trim(Session("AdminName")) <> "" Then
				strTempContent = Replace(strTempContent, "{$GuestContent}", Newasp.ChkBadWords(ubb.UBBCode(Rs("Content"))))
			Else
				strTempContent = Replace(strTempContent, "{$GuestContent}",Newasp.HtmlSetting(2))
			End If
		Else
			strTempContent = Replace(strTempContent, "{$GuestContent}", Newasp.ChkBadWords(ubb.UBBCode(Rs("Content"))))
		End If

	End If
	HtmlContent = Replace(HtmlContent,"{$TopContent}", strTempContent)
	HtmlContent = Replace(HtmlContent,"{$PageTitle}",strTopic)
	isAdmin = Rs("isAdmin")
	username = Rs("username")
	Rs.Close:Set Rs = Nothing

	'记录总数
	totalnumber = Newasp.Execute("SELECT COUNT(id) FROM NC_GuestReply WHERE guestid="& guestid)(0)
	TotalPageNum = CLng(totalnumber / maxperpage)  '得到总页数
	If TotalPageNum < totalnumber / maxperpage Then TotalPageNum = TotalPageNum + 1
	If CurrentPage < 1 Then CurrentPage = 1
	If CurrentPage > TotalPageNum Then CurrentPage = TotalPageNum
	Set Rs = Server.CreateObject("ADODB.Recordset")
	SQL = "SELECT * FROM NC_GuestReply WHERE guestid="& guestid &" ORDER BY id ASC"
	Rs.Open SQL, Conn, 1, 1
	If Rs.BOF And Rs.EOF Then
		HtmlContent = Replace(HtmlContent, Newasp.CutFixContent(HtmlContent, "[ShowRepetend]", "[/ShowRepetend]", 1), "")
	Else
		i = 0
		If TotalPageNum > 1 then Rs.Move (CurrentPage - 1) * maxperpage
		j = (CurrentPage - 1) * maxperpage + 1
		TempListContent = Newasp.CutFixContent(HtmlContent, "[ShowRepetend]", "[/ShowRepetend]", 0)
		Do While Not Rs.EOF And i < CInt(maxperpage)
			If Not Response.IsClientConnected Then Response.End
			ListContent = ListContent & TempListContent
			ListContent = Replace(ListContent,"{$ReplyID}", Rs("id"))
			ListContent = Replace(ListContent,"{$Several}", j)
			ListContent = Replace(ListContent,"{$ReplyTopic}", Newasp.HTMLEncode(Newasp.CheckTopic(Rs("rtitle"))))
			ListContent = Replace(ListContent,"{$ReplyUserName}", Rs("rUserName"))
			ListContent = Replace(ListContent,"{$UserStatus}", GuestStation(Rs("userid")))
			ListContent = Replace(ListContent,"{$ReplyFace}", Newasp.CheckTopic(Rs("rface")))
			ListContent = Replace(ListContent,"{$ReplyTime}", Rs("ReplyTime"))
			ListContent = Replace(ListContent,"{$ReplyIP}", Rs("ReplyIP"))

			If IsNull(Rs("Topicformat")) Then
				ListContent = Replace(ListContent, "{$ReplyTopicformat}", "")
			Else
				ListContent = Replace(ListContent, "{$ReplyTopicformat}", " "& Rs("Topicformat"))
			End If
			If isAdmin <> 0 Then
				If username = Newasp.membername Or Newasp.membergrade = "999" Or Trim(Session("AdminName")) <> "" Then
					ListContent = Replace(ListContent, "{$ReplyContent}", Newasp.ChkBadWords(ubb.UBBCode(Rs("rContent"))))
				Else
					ListContent = Replace(ListContent, "{$ReplyContent}",Newasp.HtmlSetting(2))
				End If
			Else
				ListContent = Replace(ListContent, "{$ReplyContent}", Newasp.ChkBadWords(ubb.UBBCode(Rs("rContent"))))
			End If

			Rs.movenext
			i = i + 1
			j = j + 1
			If i >= maxperpage Then Exit Do
		Loop
		HtmlContent = Replace(HtmlContent, TempListContent, ListContent)
	End If
	Rs.Close:Set Rs = Nothing
End If

strPagination = ShowListPage(CurrentPage, TotalPageNum, TotalNumber, maxperpage, "", strClassName)
HtmlContent = Replace(HtmlContent, "[ShowRepetend]", "")
HtmlContent = Replace(HtmlContent, "[/ShowRepetend]", "")
HtmlContent = Replace(HtmlContent, "{$ReadListPage}", strPagination)

Dim Facestr,FaceOption
FaceOption = ""
For i=1 to 20 
	FaceOption = FaceOption & "<option "
	Facestr="images/" & i & ".gif"
	FaceOption = FaceOption & "value='" & Facestr &"'>头像" &i &"</option>"
Next
HtmlContent = Replace(HtmlContent, "{$FaceOption}", FaceOption)
'-- 编辑器设置
Dim oEditor,EditorCode
Set oEditor = New Editor_Cls
oEditor.UserMode	= 1
oEditor.setEditMode	= Newasp.setUserEditor(0)
oEditor.ChannelID	= ChannelID
oEditor.Width		= Newasp.setUserEditor(2)
oEditor.Height		= Newasp.setUserEditor(3)
oEditor.BasePath	= Newasp.InstallDir & Newasp.setAdminEditor(4)
oEditor.ToolbarSet	= Newasp.setUserEditor(1)'Default,AdminMode,Simple,UserMode,Basic
oEditor.InstanceName	= "content"
EditorCode = oEditor.CreateEditor()
Set oEditor = Nothing
HtmlContent = Replace(HtmlContent, "{$EditorCode}", EditorCode)
Response.Write HtmlContent

If Newasp.CheckStr(LCase(Request.Form("action"))) = "save" And Request.Form("action") <> "" Then
	Call SaveGuestReply
End If

Sub SaveGuestReply()
	On Error Resume Next
	Call PreventRefresh
	Dim ForbidReply,TextContent,ChkPostData
	If CInt(Newasp.PostGrade) > 0 And Trim(Session("AdminName")) = Empty Then
		If CInt(Newasp.PostGrade) > CInt(Newasp.membergrade) Then
			ErrMsg = ErrMsg + "对不起!你没有回复留言的权限。\n\n如果你是本站会员, 请先登陆"
			FoundErr = True
		End If
	End If
	If Not Newasp.CodeIsTrue() Then
		ErrMsg = ErrMsg + "验证码校验失败,请返回刷新页面再试。两秒后自动返回\n"
		Founderr = True
	End If
	Session("GetCode") = ""
	If Trim(Request.Form("username")) = "" Then
		ErrMsg = ErrMsg + "用户名不能为空\n"
		Founderr = True
	End If
	If Newasp.IsValidStr(Request.Form("username")) = False Then
		ErrMsg = ErrMsg + "用户名中含有非法字符\n"
		Founderr = True
	End If
	If Trim(Request.Form("topic")) = "" Then
		ErrMsg = ErrMsg + "回复主题不能为空\n"
		Founderr = True
	End If
	If Trim(Request.Form("content")) = "" Then
		ErrMsg = ErrMsg + "回复内容不能为空\n"
		Founderr = True
	End If
	If Len(Request.Form("content")) < Clng(Newasp.LeastString) Then
		ErrMsg = ErrMsg + ("回复内容不能小于" & Newasp.LeastString & "字符!")
		Founderr = True
	End If
	If Len(Request.Form("content")) > Clng(Newasp.MaxString) Then
		ErrMsg = ErrMsg + ("回复内容不能大于" & Newasp.MaxString & "字符!")
		Founderr = True
	End If
	TextContent = Request.Form("content")
	If Newasp.setUserEditor(0) <> 0 Then
		TextContent = Newasp.HTMLEncodes(TextContent)
	End If
	ChkPostData = Newasp.NeedIsAudit(TextContent,Request.Form("topic") & " " & Request.Form("username"))
	If ChkPostData > 0 Then
		ErrMsg = "请不要发表含有不适当内容的留言,请不要发表广告信息"
		Founderr = True
	End If
	If Newasp.membergrade <> "999" And Trim(Session("AdminName")) = "" Then
		ForbidReply =Newasp.Execute("SELECT ForbidReply FROM NC_GuestBook WHERE guestid=" & guestid)(0)
		If ForbidReply <> 0 Then
			ErrMsg = ErrMsg + Newasp.HtmlSetting(4)
			Founderr = True
		End If
	End If
	If Founderr = True Then
		Call OutAlertScript(ErrMsg)
		Exit Sub
	End If
	Set Rs = Server.CreateObject("ADODB.Recordset")
	SQL = "SELECT * FROM NC_GuestReply WHERE (id is null)"
	Rs.Open SQL,Conn,1,3
	Rs.Addnew
		If Newasp.membername <> "" And Newasp.memberid <> "" Then
			Rs("userid") = Newasp.memberid
			Rs("rusername") = Newasp.membername
		Else
			Rs("userid") = 0
			Rs("rusername") = Left(Request.Form("username"),50)
		End If
		Rs("guestid") = Trim(Request.Form("guestid"))
		Rs("Topicformat") = ""
		Rs("rTitle") = Newasp.ChkFormStr(Left(Request.Form("topic"),100))
		Rs("rContent") = Html2Ubb(TextContent)
		Rs("rFace") = Trim(Request.Form("face"))
		Rs("ReplyTime") = Now()
		Rs("ReplyIP") = Newasp.GetUserIP
	Rs.update
	Rs.Close:Set Rs = Nothing
	
	Dim GroupSetting
	If Newasp.membername <> "" And Newasp.membergrade <> "" Then
		GroupSetting = Split(Newasp.UserGroupSetting(CInt(Newasp.membergrade)), "|||")
		Newasp.Execute ("UPDATE NC_User SET userpoint = userpoint + " & CLng(GroupSetting(27)) & " WHERE userid="& CLng(Newasp.memberid))
	End If
	Newasp.Execute ("UPDATE NC_GuestBook SET ReplyNum = ReplyNum + 1,lastime = " & NowString & " WHERE guestid="& guestid)
	Call OutputScript(Newasp.HtmlSetting(5),Request.ServerVariables("HTTP_REFERER"))
End Sub
Set HTML = Nothing
CloseConn
%>