www.gusucode.com > 艺术签名文章资讯网源代码 > 艺术签名文章资讯网源代码/624/GuestBook/index.asp
<!--#include file="config.asp"--> <!--#include file="../inc/ubbcode.asp"--> <% Dim TempListContent,ListContent Dim Rs, SQL, foundsql, j, keyword,rsGuest Dim maxperpage, totalnumber, TotalPageNum, CurrentPage, i Dim strReplyAlt,strHomePage,strLockedAlt,strPagination,strClassName Dim maxstrlen,IsReply,GuestContent,ReplyContent ubb.BasePath = ChannelRootDir ubb.setUbbcode = Join(Newasp.setUserEditor,"|") ubb.Keyword = Newasp.ContentKeyword maxperpage = CInt(Newasp.PaginalNum) '--每页显示留言数 Newasp.LoadTemplates 9999, 1, 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 = Replace(HtmlContent, "{$MemberName}", Newasp.membername) maxstrlen = Newasp.ChkNumeric(Newasp.HtmlSetting(5)) '--留言内容最多字符长度 IsReply = Newasp.ChkNumeric(Newasp.HtmlSetting(6)) '--是否显示回复 strClassName = Newasp.ChannelName CurrentPage = Newasp.ChkNumeric(Request("page")) If CInt(CurrentPage) = 0 Then CurrentPage = 1 If Not IsNull(Request("keyword")) And Request("keyword") <> "" Then keyword = Newasp.ChkQueryStr(Request("keyword")) If LCase(Request("act")) = "topic" Then foundsql = "WHERE isAccept > 0 And title like '%" & keyword & "%'" ElseIf LCase(Request("act")) = "username" Then foundsql = "WHERE isAccept > 0 And username like '%" & keyword & "%'" Else foundsql = "WHERE isAccept > 0 And title like '%" & keyword & "%'" End If Else foundsql = "WHERE isAccept > 0" End If '记录总数 totalnumber = Newasp.Execute("SELECT COUNT(guestid) FROM NC_GuestBook " & foundsql & "")(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_GuestBook " & foundsql & " ORDER BY isTop DESC,lastime DESC,guestid DESC" If IsSqlDataBase = 1 Then If CurrentPage > 100 Then Rs.Open SQL, Conn, 1, 1 Else Set Rs = Newasp.Execute(SQL) End If Else Rs.Open SQL, Conn, 1, 1 End If If Rs.BOF And Rs.EOF Then HtmlContent = Replace(HtmlContent, Newasp.CutFixContent(HtmlContent, "[ShowRepetend]", "[/ShowRepetend]", 1), Newasp.HtmlSetting(1)) Else i = 0 If IsSqlDataBase<>1 Or Trim(Request("keyword"))<>"" Then If TotalPageNum > 1 then Rs.Move (CurrentPage - 1) * maxperpage End If j = totalnumber - ((CurrentPage - 1) * maxperpage) TempListContent = Newasp.CutFixContent(HtmlContent, "[ShowRepetend]", "[/ShowRepetend]", 0) Do While Not Rs.EOF And i < CLng(maxperpage) If Not Response.IsClientConnected Then Response.End ListContent = ListContent & TempListContent ListContent = Replace(ListContent,"{$GuestID}", Rs("guestid")) ListContent = Replace(ListContent,"{$Several}", j) ListContent = Replace(ListContent,"{$GuestTopic}", Newasp.HTMLEncode(Newasp.CheckTopic(Rs("title")))) ListContent = Replace(ListContent,"{$UserName}", Rs("username")) ListContent = Replace(ListContent,"{$UserStatus}", GuestStation(Rs("userid"))) ListContent = Replace(ListContent,"{$UserFace}", Newasp.CheckTopic(Rs("face"))) ListContent = Replace(ListContent,"{$ComeFrom}", Rs("ComeFrom")) ListContent = Replace(ListContent,"{$GuestQQ}", Rs("GuestOicq")) ListContent = Replace(ListContent,"{$Emotion}", Rs("emot")) ListContent = Replace(ListContent,"{$GuestEmail}", Newasp.CheckTopic(Rs("GuestEmail"))) ListContent = Replace(ListContent,"{$WriteTime}", Rs("WriteTime")) ListContent = Replace(ListContent,"{$GuestIP}", Rs("GuestIP")) If IsNull(Rs("Topicformat")) Then ListContent = Replace(ListContent, "{$Topicformat}", "") Else ListContent = Replace(ListContent, "{$Topicformat}", " "& Rs("Topicformat")) End If If Rs("ForbidReply") <> 0 Then strLockedAlt = " <img src=""images/a_lock.gif"" align=""absmiddle"" alt=""此留言已锁定,禁止回复""/>" Else strLockedAlt = "" End If ListContent = Replace(ListContent,"{$LockedAlt}", strLockedAlt) 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 ListContent = Replace(ListContent,"{$ReplyAlt}", strReplyAlt) If Newasp.CheckNull(Rs("HomePage")) Then strHomePage = Rs("HomePage") If LCase(Left(strHomePage,4)) <> "http" Then strHomePage = "http://" & strHomePage Else strHomePage = "#" End If ListContent = Replace(ListContent,"{$HomePage}", strHomePage) GuestContent = Rs("Content") If maxstrlen > 0 Then GuestContent = Newasp.CutString(GuestContent,maxstrlen) GuestContent = Newasp.ChkBadWords(ubb.UBBCode(GuestContent)) 'If maxstrlen > 0 Then GuestContent = ubb.UBBCode(GuestContent) 'GuestContent = Newasp.ChkBadWords(ubb.SplitLines(GuestContent,maxstrlen)) If Rs("isAdmin") <> 0 Then If Rs("username") = Newasp.membername Or Newasp.membergrade = "999" Or Trim(Session("AdminName")) <> "" Then ListContent = Replace(ListContent, "{$GuestContent}", GuestContent) Else ListContent = Replace(ListContent, "{$GuestContent}",Newasp.HtmlSetting(2)) End If Else ListContent = Replace(ListContent, "{$GuestContent}", GuestContent) End If If IsReply > 0 And InStr(ListContent, "{$ReplyMessage}") > 0 Then ListContent = Replace(ListContent,"{$ReplyMessage}", ReplyMessage) Else ListContent = Replace(ListContent,"{$ReplyMessage}", vbNullString) 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 strPagination = ShowListPage(CurrentPage, TotalPageNum, TotalNumber, maxperpage, "", strClassName) HtmlContent = Replace(HtmlContent, "[ShowRepetend]", "") HtmlContent = Replace(HtmlContent, "[/ShowRepetend]", "") HtmlContent = Replace(HtmlContent, "{$ReadListPage}", strPagination) HtmlContent = HTML.ReadAnnounceContent(HtmlContent, ChannelID) HtmlContent = HTML.ReadAnnounceList(HtmlContent) HtmlContent = HTML.ReadStatistic(HtmlContent) HtmlContent = HTML.ReadUserRank(HtmlContent) Response.Write HtmlContent Set HTML = Nothing CloseConn Public Function ReplyMessage() Dim strTempContent Set rsGuest = Newasp.Execute("SELECT rUserName,rTitle,rContent,ReplyTime,ReplyIP,Topicformat FROM NC_GuestReply WHERE guestid="& Rs("guestid") & " ORDER BY id DESC") If Not (rsGuest.BOF And rsGuest.EOF) Then strTempContent = Newasp.HtmlSetting(3) If IsNull(rsGuest("Topicformat")) Then strTempContent = Replace(strTempContent, "{$Topicformat}", "") Else strTempContent = Replace(strTempContent, "{$Topicformat}", " "& rsGuest("Topicformat")) End If strTempContent = Replace(strTempContent, "{$ReplyTopic}", Newasp.HTMLEncode(rsGuest("rTitle"))) ReplyContent = rsGuest("rContent") If maxstrlen > 0 Then ReplyContent = Newasp.CutString(ReplyContent,maxstrlen) ReplyContent = Newasp.ChkBadWords(ubb.UBBCode(ReplyContent)) If Rs("isAdmin") <> 0 Then If Rs("username") = Newasp.membername Or Newasp.membergrade = "999" Or Trim(Session("AdminName")) <> "" Then strTempContent = Replace(strTempContent, "{$ReplyContent}", ReplyContent) Else strTempContent = Replace(strTempContent, "{$ReplyContent}",Newasp.HtmlSetting(2)) End If Else strTempContent = Replace(strTempContent, "{$ReplyContent}", ReplyContent) End If strTempContent = Replace(strTempContent, "{$ReplyUserName}", Newasp.HTMLEncode(rsGuest("rUserName"))) strTempContent = Replace(strTempContent, "{$ReplyTime}", rsGuest("ReplyTime")) End If Set rsGuest = Nothing ReplyMessage = strTempContent End Function Function SplitLines(Content,ContentNums) '切割内容 Dim i Dim Str,SplitCode If IsNull(Content) or Not IsNumeric(ContentNums) Then Exit Function Str = Content SplitCode = Split(Str,"<br/>",ContentNums+1) If Ubound(SplitCode)>=Cint(ContentNums) Then Str=Replace(Str,SplitCode(ContentNums),"") End If If Len(Str) > 500 Then Str = Left(Str,500) End If SplitLines = Str End Function %>