📄 flashchannel.asp
字号:
strContent = Replace(strContent, "{$postime}", rsComment("postime"))
strContent = Replace(strContent, "{$postip}", rsComment("postip"))
ArrayTemp(i) = strContent
rsComment.MoveNext
i = i + 1
Loop
End If
rsComment.Close
strRearrange = Join(ArrayTemp, vbCrLf)
Set rsComment = Nothing
FlashComment = strRearrange
End Function
'================================================
'过程名:BuildFlashComment
'作 用:显示FLASH评论
'================================================
Public Sub BuildFlashComment()
Dim title, HtmlFileUrl, HtmlFileName
Dim AverageGrade, TotalComment, TempListContent
Dim strComment, strCheckBox, strAdminComment
Newasp.PreventInfuse
strCheckBox = ""
strAdminComment = ""
On Error Resume Next
flashid = Newasp.ChkNumeric(Request("flashid"))
If flashid = 0 Then
Response.Write "<Br><Br><Br>Sorry!错误的系统参数,请选择正确的连接方式。"
Response.End
End If
skinid = CLng(Newasp.ChannelSkin)
Newasp.LoadTemplates ChannelID, 8, skinid
HtmlContent = Newasp.HtmlContent
HtmlContent = Replace(HtmlContent, "{$ChannelRootDir}", ChannelRootDir)
HtmlContent = Replace(HtmlContent, "{$InstallDir}", strInstallDir)
HtmlContent = Replace(HtmlContent, "{$ChannelID}", ChannelID)
HtmlContent = Replace(HtmlContent, "{$ModuleName}", Newasp.ModuleName)
HtmlContent = Replace(HtmlContent, "{$FlashIndex}", strIndexName)
HtmlContent = Replace(HtmlContent, "{$IndexTitle}", strIndexName)
HtmlContent = Replace(HtmlContent, "{$PageTitle}", Newasp.ModuleName & "评论")
HtmlContent = Replace(HtmlContent, "{$flashid}", flashid)
HtmlContent = Replace(HtmlContent, "{$FlashID}", flashid)
'获得软件标题
SQL = "SELECT TOP 1 A.flashid,A.ClassID,A.title,A.HtmlFileDate,A.ForbidEssay,C.HtmlFileDir,C.UseHtml FROM [NC_FlashList] A INNER JOIN [NC_Classify] C ON A.ClassID=C.ClassID WHERE A.ChannelID=" & ChannelID & " And A.isAccept > 0 And A.flashid = " & flashid
Set Rs = Newasp.Execute(SQL)
If Rs.EOF And Rs.BOF Then
Response.Write "已经没有了"
Set Rs = Nothing
Exit Sub
Else
If CreateHtml <> 0 Then
HtmlFileUrl = ChannelRootDir & Rs("HtmlFileDir") & Newasp.ShowDatePath(Rs("HtmlFileDate"), Newasp.HtmlPath)
HtmlFileName = Newasp.ReadFileName(Rs("HtmlFileDate"), Rs("flashid"), Newasp.HtmlExtName, Newasp.HtmlPrefix, Newasp.HtmlForm, "")
title = "<a href=" & HtmlFileUrl & HtmlFileName & ">" & Rs("title") & "</a>"
Else
title = "<a href=show.asp?id=" & Rs("flashid") & ">" & Rs("title") & "</a>"
End If
ForbidEssay = Rs("ForbidEssay")
End If
Rs.Close
Set Rs = CreateObject("adodb.recordset")
SQL = "SELECT COUNT(CommentID) As TotalComment,AVG(Grade) As avgGrade FROM NC_Comment WHERE ChannelID=" & ChannelID & " And postid = " & flashid
Set Rs = Newasp.Execute(SQL)
TotalComment = Rs("TotalComment")
AverageGrade = Round(Rs("avgGrade"))
If IsNull(AverageGrade) Then AverageGrade = 0
Rs.Close: Set Rs = Nothing
HtmlContent = Replace(HtmlContent, "{$FlashTitle}", title)
HtmlContent = Replace(HtmlContent, "{$TotalComment}", TotalComment)
HtmlContent = Replace(HtmlContent, "{$AverageGrade}", AverageGrade)
If Not IsNumeric(Request("page")) And Len(Request("page")) <> 0 Then
Response.Write ("错误的系统参数!请输入整数")
Response.End
End If
If Not IsEmpty(Request("page")) And Len(Request("page")) <> 0 Then
CurrentPage = CInt(Request("page"))
Else
CurrentPage = 1
End If
If CInt(CurrentPage) = 0 Then CurrentPage = 1
'每页显示评论数
maxperpage = CInt(Newasp.PaginalNum)
'记录总数
TotalNumber = TotalComment
TotalPageNum = CInt(TotalNumber / maxperpage) '得到总页数
If TotalPageNum < TotalNumber / maxperpage Then TotalPageNum = TotalPageNum + 1
If CurrentPage < 1 Then CurrentPage = 1
If CurrentPage > TotalPageNum Then CurrentPage = TotalPageNum
Set Rs = CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM NC_Comment WHERE ChannelID=" & ChannelID & " And postid = " & flashid & " ORDER BY postime DESC,CommentID DESC"
If isSqlDataBase = 1 Then
Set Rs = Newasp.Execute(SQL)
Else
Rs.Open SQL, Conn, 1, 1
End If
If Rs.BOF And Rs.EOF Then
'如果没有找到相关内容,清除掉无用的标签代码
HtmlContent = Replace(HtmlContent, "{$ReadListPage}", "暂时无人参加评论", 1, 1, 1)
HtmlContent = Replace(HtmlContent, "{$ReadListPage}", "")
HtmlContent = Replace(HtmlContent, Newasp.CutFixContent(HtmlContent, "[ShowRepetend]", "[/ShowRepetend]", 1), "")
Else
Rs.MoveFirst
i = 0
If TotalPageNum > 1 Then Rs.Move (CurrentPage - 1) * maxperpage
ListContent = ""
'获取模板标签[ShowRepetend][/ReadArticleList]中的字符串
TempListContent = Newasp.CutFixContent(HtmlContent, "[ShowRepetend]", "[/ShowRepetend]", 1)
Do While Not Rs.EOF And i < CInt(maxperpage)
If Not Response.IsClientConnected Then Response.End
ListContent = ListContent & TempListContent
strComment = Newasp.HTMLEncode(Rs("Content"))
ListContent = Replace(ListContent, "{$CommentContent}", strComment)
ListContent = Replace(ListContent, "{$UserName}", Newasp.HTMLEncode(Rs("username")))
ListContent = Replace(ListContent, "{$CommentGrade}", Rs("Grade"))
ListContent = Replace(ListContent, "{$PostTime}", Rs("postime"))
ListContent = Replace(ListContent, "{$PostIP}", Rs("postip"))
If Session("AdminName") <> "" Or Newasp.membergrade = "999" Then
strCheckBox = "<input type='checkbox' name='selCommentID' value='" & Rs("CommentID") & "'>"
End If
ListContent = Replace(ListContent, "{$SelCheckBox}", strCheckBox)
Rs.MoveNext
i = i + 1
If i >= maxperpage Then Exit Do
Loop
End If
Rs.Close: Set Rs = Nothing
HtmlContent = Replace(HtmlContent, TempListContent, ListContent)
HtmlContent = Replace(HtmlContent, "[ShowRepetend]", "")
HtmlContent = Replace(HtmlContent, "[/ShowRepetend]", "")
If Session("AdminName") <> "" Or Newasp.membergrade = "999" Then
strAdminComment = "<input class=Button type=button name=chkall value='全选' onClick=""CheckAll(this.form)""><input class=Button type=button name=chksel value='反选' onClick=""ContraSel(this.form)"">" & vbNewLine
strAdminComment = strAdminComment & "<input type=hidden name=flashid value='" & flashid & "'>" & vbNewLine
strAdminComment = strAdminComment & "<input type=hidden name=action value='del'>" & vbNewLine
strAdminComment = strAdminComment & "<input class=Button type=submit name=Submit2 value='删除选中的评论' onclick=""{if(confirm('您确定执行该操作吗?')){this.document.selform.submit();return true;}return false;}"">"
End If
HtmlContent = Replace(HtmlContent, "{$AdminComment}", strAdminComment)
Call ShowCommentPage
Call ReplaceString
If Newasp.CheckStr(LCase(Request.Form("action"))) = "del" Then
Call CommentDel
End If
If Newasp.CheckStr(LCase(Request.Form("action"))) = "save" Then
Call CommentSave
End If
Response.Write HtmlContent
End Sub
'================================================
'过程名:ShowCommentPage
'作 用:评论分页
'================================================
Private Sub ShowCommentPage()
Dim FileName, ii, n, strTemp
FileName = "comment.asp"
On Error Resume Next
If TotalNumber Mod maxperpage = 0 Then
n = TotalNumber \ maxperpage
Else
n = TotalNumber \ maxperpage + 1
End If
strTemp = "<table cellspacing=1 width='100%' border=0><tr><td align=center> " & vbCrLf
If CurrentPage < 2 Then
strTemp = strTemp & " 共有评论 <font COLOR=#FF0000>" & TotalNumber & "</font> 个 首 页 上一页 "
Else
strTemp = strTemp & "共有评论 <font COLOR=#FF0000>" & TotalNumber & "</font> 个 <a href=" & FileName & "?page=1&flashid=" & Request("flashid") & ">首 页</a> "
strTemp = strTemp & "<a href=" & FileName & "?page=" & CurrentPage - 1 & "&flashid=" & Request("flashid") & ">上一页</a> "
End If
If n - CurrentPage < 1 Then
strTemp = strTemp & "下一页 尾 页 " & vbCrLf
Else
strTemp = strTemp & "<a href=" & FileName & "?page=" & (CurrentPage + 1) & "&flashid=" & Request("flashid") & ">下一页</a>"
strTemp = strTemp & " <a href=" & FileName & "?page=" & n & "&flashid=" & Request("flashid") & ">尾 页</a>" & vbCrLf
End If
strTemp = strTemp & " 页次:<strong><font color=red>" & CurrentPage & "</font>/" & n & "</strong>页 "
strTemp = strTemp & " <b>" & maxperpage & "</b>个/页 " & vbCrLf
strTemp = strTemp & "</td></tr></table>" & vbCrLf
HtmlContent = Replace(HtmlContent, "{$ReadListPage}", strTemp)
End Sub
'================================================
'过程名:CommentDel
'作 用:评论删除
'================================================
Private Sub CommentDel()
Dim selCommentID
If Newasp.CheckPost = False Then
Call OutAlertScript("您提交的数据不合法,请不要从外部提交表单。")
Exit Sub
End If
If Not IsEmpty(Request.Form("selCommentID")) Then
selCommentID = Newasp.CheckStr(Request("selCommentID"))
If Session("AdminName") <> "" Or Newasp.membergrade = "999" Then
Newasp.Execute ("delete from NC_Comment WHERE ChannelID=" & ChannelID & " And CommentID in (" & selCommentID & ")")
Call OutHintScript("评论删除成功!")
Else
Call OutAlertScript("非法操作!你没有删除评论的权限。")
Exit Sub
End If
End If
End Sub
'================================================
'过程名:CommentSave
'作 用:软件评论添加保存
'================================================
Public Sub CommentSave()
If Newasp.CheckPost = False Then
Call OutAlertScript("您提交的数据不合法,请不要从外部提交表单。")
Exit Sub
End If
On Error Resume Next
Call PreventRefresh
If CInt(Newasp.AppearGrade) <> 0 And Session("AdminName") = "" Then
If CInt(Newasp.AppearGrade) > CInt(Newasp.membergrade) Then
Call OutAlertScript("您没有发表评论的权限,如果您是会员请登陆后再参与评论。")
Exit Sub
End If
End If
If ForbidEssay <> 0 Then
Call OutAlertScript("此" & Newasp.ModuleName & "禁止发表评论!")
Exit Sub
End If
If Trim(Request.Form("UserName")) = "" Then
Call OutAlertScript("用户名不能为空!")
Exit Sub
End If
If Len(Trim(Request.Form("UserName"))) > 15 Then
Call OutAlertScript("用户名不能大于15个字符!")
Exit Sub
End If
If Newasp.strLength(Request.Form("content")) < Newasp.LeastString Then
Call OutAlertScript("评论内容不能小于" & Newasp.LeastString & "字符!")
Exit Sub
End If
If Newasp.strLength(Request.Form("content")) > Newasp.MaxString Then
Call OutAlertScript("评论内容不能大于" & Newasp.MaxString & "字符!")
Exit Sub
End If
flashid = Newasp.ChkNumeric(Request.Form("flashid"))
Set Rs = CreateObject("ADODB.RecordSet")
SQL = "SELECT * FROM NC_Comment WHERE (CommentID is null)"
Rs.Open SQL, Conn, 1, 3
Rs.AddNew
Rs("ChannelID") = ChannelID
Rs("postid") = flashid
Rs("UserName") = Trim(Request.Form("UserName"))
Rs("Grade") = Trim(Request.Form("Grade"))
Rs("content") = Request.Form("content")
Rs("postime") = Now()
Rs("postip") = Newasp.GetUserip
Rs.Update
Rs.Close: Set Rs = Nothing
If CreateHtml <> 0 Then LoadFlashInfo(flashid)
Session("UserRefreshTime") = Now()
Response.Redirect (Request.ServerVariables("HTTP_REFERER"))
Exit Sub
End Sub
Public Sub PreventRefresh()
Dim RefreshTime
RefreshTime = 20
If DateDiff("s", Session("UserRefreshTime"), Now()) < RefreshTime Then
Response.Write "<META http-equiv=Content-Type content=text/html; chaRset=gb2312><meta HTTP-EQUIV=REFRESH CONTENT=" & RefreshTime & "><br>本页面起用了防刷新机制,请不要在" & RefreshTime & "秒内连续刷新本页面<BR>正在打开页面,请稍后……"
Response.End
End If
End Sub
Private Function ReadPagination(n)
Dim HtmlFileName, CurrentPage
CurrentPage = n
HtmlFileName = Newasp.ReadFileName(Rs("HtmlFileDate"), Rs("flashid"), Newasp.HtmlExtName, Newasp.HtmlPrefix, Newasp.HtmlForm, CurrentPage)
ReadPagination = HtmlFileName
End Function
Private Function ReadListPageName(ClassID, CurrentPage)
ReadListPageName = Newasp.ClassFileName(ClassID, Newasp.HtmlExtName, Newasp.HtmlPrefix, CurrentPage)
End Function
Public Function ASPCurrentPage(stype)
Dim CurrentUrl
Select Case stype
Case "1"
CurrentUrl = "&classid=" & Trim(Request("classid"))
Case "2"
CurrentUrl = "&sid=" & Trim(Request("sid"))
Case "3"
CurrentUrl = ""
Case "4"
CurrentUrl = ""
Case "6"
CurrentUrl = "&type=" & Newasp.CheckStr(Request("type"))
Case Else
If Trim(Request("word")) <> "" Then
CurrentUrl = "&word=" & Trim(Request("word"))
Else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -