📄 classarticle.asp
字号:
For i = 1 To RowCount
Field_Title = EL_Common.HTMLEncode(rsSearch("Title"))
Field_Content = EL_Common.GetTopic(EL_Common.RemoveHTML(rsSearch("Content")), EL_Common.Lang("Article.ContentLen", 250))
Field_Author = rsSearch("Author")
Select Case LCase(FieldName)
Case "title": Field_Title = Replace(Field_Title, Keyword, "<font color=red>"& Keyword &"</font>")
Case "content": Field_Content = Replace(Field_Content, Keyword, "<font color=red>"& Keyword &"</font>")
Case "author": Field_Author = Replace(Field_Author, Keyword, "<font color=red>"& Keyword &"</font>")
Case "inputer":
Case Else: Field_Title = Replace(Field_Title, Keyword, "<font color=red>"& Keyword &"</font>")
End Select
ItemHTML = MatchString
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_Index}", (CurrentPage-1)*PageSizes + i)
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_ArticleID}", rsSearch("ArticleID"))
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_ClassName}", "<a href='"& InstallDir & EL_Channel.ChannelDir &"/ShowClass.asp?ClassID="& rsSearch("ClassID") &"'>"& rsSearch("ClassName") &"</a>")
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_Title}", "<a href='"& InstallDir & EL_Channel.ChannelDir &"/ShowArticle.asp?ArticleID="& rsSearch("ArticleID") &"' target='_blank'>"& Field_Title &"</a>")
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_Author}", Field_Author)
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_UpdateTime}", rsSearch("UpdateTime"))
If Trim(rsSearch("DefaultPictrue")) = "" Then
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_DefaultPictrue}", "")
Else
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_DefaultPictrue}", "<img src='"& EL_Common.PictrueURL(rsSearch("DefaultPictrue"), EL_Channel.FilePath) &"' width=120 height=80 border=0>")
End If
ItemHTML = EL_Common.RegExpStaticLabel(ItemHTML, "{$Arr_Content}", Field_Content)
ReturnString = ReturnString & ItemHTML
If i<RowCount Then rsSearch.MoveNext
Next
HTML = Replace(HTML, Match.Value, ReturnString)
Next
rsSearch.Close()
Dim PageHTML
PageHTML = EL_Common.Lang("BaseConfig.ShowPage", "")
PageHTML = EL_Common.ReplaceText(PageHTML, "\{\$PageList\}", EL_Common.ShowPage(URLParameters, CurrentPage, PageSizes, PageCounts, TotalRowCount, EL_Channel.ItemName, EL_Channel.ItemUnit))
HTML = EL_Common.RegExpStaticLabel(HTML, "{$ShowPage}", PageHTML)
End If
HTML = Label_GetArticleList(HTML)
HTML = Label_GetArticlePhoto(HTML)
Set Matches = Nothing
Set rsSearch = Nothing
Set SearchCmd = Nothing
Session("EL_LastSearchDateTime") = Now()
Response.Write HTML
End Sub
Public Sub ShowArticle()
Dim ArticleCmd, rsArticle, i
Dim ArticleID, Title, Keywords, Author, Copyfrom, Content, Hits, UpdateTime, Inputer, Editor, SkinID, TemplateID
Dim KeywordList, NearArticle, StrPath, ArrContent, ArticleAction
ArticleID = EL_Common.ELRequest("ArticleID", 2)
Call EL_Common.InitCommand(ArticleCmd, "EL_SP_GetArticleInfo")
With ArticleCmd
.Parameters.Append .CreateParameter("RETURN", 2, 4)
.Parameters.Append .CreateParameter("@ArticleID", 3, 1, 4, ArticleID)
.Parameters.Append .CreateParameter("@ChannelID", 3, 1, 4, ChannelID)
Set rsArticle = .Execute()
End With
rsArticle.Close()
If ArticleCmd(0) <> 1 Then
EL_Common.ShowErrorMsg(EL_Common.RegExpStaticLabel(EL_Common.Lang("BaseConfig.InfoError", "指定{$ItemName}不存在"), "{$ItemName}", EL_Channel.ItemName))
Set rsArticle = Nothing
Set ArticleCmd = Nothing
Exit Sub
End If
rsArticle.Open()
ClassID = rsArticle("ClassID")
Title = rsArticle("Title")
Keywords = rsArticle("Keywords")
Author = rsArticle("Author")
Copyfrom = rsArticle("Copyfrom")
Content = rsArticle("Content")
Hits = rsArticle("Hits")
UpdateTime = rsArticle("UpdateTime")
Inputer = rsArticle("Inputer")
Editor = rsArticle("Editor")
SkinID = rsArticle("SkinID")
TemplateID = rsArticle("TemplateID")
HTML = EL_Common.Template(ChannelID, 3, TemplateID)
HTML = EL_Common.ReplaceCommonLabels(HTML)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$PageTitle}", EL_Common.Join2String(Title, SiteTitle, EL_Common.TitleDivide))
HTML = EL_Common.RegExpStaticLabel(HTML, "{$DefaultSkin}", EL_Common.Skin(ChannelID, ClassID, SkinID))
StrPath = EL_Common.Lang("BaseConfig.Path", " >> ")
EL_Common.ShowPath = EL_Common.ShowPath & StrPath &"<a href='"& InstallDir & EL_Channel.ChannelDir &"/Index.asp'>"& EL_Channel.ChannelName &"</a>"& EL_Common.GetParentPath(ChannelID, EL_Channel.ChannelDir, ClassID) & StrPath & EL_Common.RegExpStaticLabel(EL_Common.Lang("BaseConfig.Content", "{$ItemName}内容"), "{$ItemName}", EL_Channel.ItemName)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$ShowPath}", EL_Common.ShowPath)
HTML = ChannelCommonLabels(HTML)
'自定义字段标签
Dim FieldCmd, rsField, FieldCount
Call EL_Common.InitCommonCmd(FieldCmd, rsField, "EL_Field", "FieldName", "ChannelID="& ChannelID)
rsField.Close()
FieldCount = FieldCmd(0)
If FieldCount = 0 Then
Set rsField = Nothing
Set FieldCmd = Nothing
Else
rsField.Open()
For i = 1 To FieldCount
HTML = EL_Common.RegExpStaticLabel(HTML, "{$"& rsField(0) &"}", rsArticle(rsField(0).value))
If i<FieldCount Then rsField.MoveNext
Next
rsField.Close()
Set rsField = Nothing
Set FieldCmd = Nothing
End If
HTML = EL_Common.RegExpStaticLabel(HTML, "{$ArticleID}", ArticleID)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$Title}", Title)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$Author}", Author)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$Copyfrom}", Copyfrom)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$UpdateTime}", FormatDateTime(UpdateTime, 2))
HTML = EL_Common.RegExpStaticLabel(HTML, "{$Inputer}", Inputer)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$Editor}", Editor)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$Hits}", Hits)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$KeywordList}", EL_Common.KeywordList(Keywords, EL_Channel.ChannelDir))
HTML = EL_Common.RegExpStaticLabel(HTML, "{$Editor}", Editor)
ArticleAction = EL_Common.Lang("Article.ArticleAction", "")
If ArticleAction<>"" Then
ArticleAction = EL_Common.ReplaceText(ArticleAction, "\{\$SendCommentURL\}", InstallDir & EL_Channel.ChannelDir &"/Comment.asp?InfoID="& ArticleID &"#Add")
ArticleAction = EL_Common.ReplaceText(ArticleAction, "\{\$ShowCommentURL\}", InstallDir & EL_Channel.ChannelDir &"/Comment.asp?InfoID="& ArticleID)
ArticleAction = EL_Common.ReplaceText(ArticleAction, "\{\$AddFavoriteURL\}", InstallDir & "User/User_Favorite.asp?ChannelID="& ChannelID &"&InfoID="& ArticleID &"&Action=Add")
ArticleAction = EL_Common.ReplaceText(ArticleAction, "\{\$SendToFriendURL\}", InstallDir & EL_Channel.ChannelDir &"/SendToFriend.asp?InfoID="& ArticleID )
ArticleAction = EL_Common.ReplaceText(ArticleAction, "\{\$PintURL\}", InstallDir & EL_Channel.ChannelDir &"/Print.asp?InfoID="& ArticleID)
End If
HTML = EL_Common.RegExpStaticLabel(HTML, "{$ArticleAction}", ArticleAction)
Dim NoNearInfo
NoNearInfo = EL_Common.Lang("BaseConfig.NoNearInfo", "没有了")
NearArticle = EL_Common.ShowNearInfo("EL_Article", "ArticleID", "Title", "ChannelID="& ChannelID &" And Passed="& EL_True &" And Deleted="& EL_False &" And ClassID="& ClassID, "UpdateTime", ArticleID)
NearArticle = Split(NearArticle, VBCRLF)
Dim PrevInfo, NextInfo
PrevInfo = EL_Common.RegExpStaticLabel(EL_Common.RegExpStaticLabel(EL_Common.Lang("BaseConfig.PrevInfo", "上一{$ItemUnit}{$ItemName}:"), "{$ItemUnit}", EL_Channel.ItemUnit), "{$ItemName}", EL_Channel.ItemName)
NextInfo = EL_Common.RegExpStaticLabel(EL_Common.RegExpStaticLabel(EL_Common.Lang("BaseConfig.PrevInfo", "下一{$ItemUnit}{$ItemName}:"), "{$ItemUnit}", EL_Channel.ItemUnit), "{$ItemName}", EL_Channel.ItemName)
If NearArticle(0) = "" OR ISNULL(NearArticle(0)) Then
HTML = EL_Common.RegExpStaticLabel(HTML, "{$PrevArticle}", PrevInfo & NoNearInfo)
Else
HTML = EL_Common.RegExpStaticLabel(HTML, "{$PrevArticle}", PrevInfo &"<a href='"& InstallDir & EL_Channel.ChannelDir &"/ShowArticle.asp?ArticleID="& NearArticle(0) &"'>"& EL_Common.HTMLEncode(NearArticle(1)) &"</a>")
End If
If NearArticle(2) = "" OR ISNULL(NearArticle(2)) Then
HTML = EL_Common.RegExpStaticLabel(HTML, "{$NextArticle}", NextInfo & NoNearInfo)
Else
HTML = EL_Common.RegExpStaticLabel(HTML, "{$NextArticle}", NextInfo & "<a href='"& InstallDir & EL_Channel.ChannelDir &"/ShowArticle.asp?ArticleID="& NearArticle(2) &"'>"& EL_Common.HTMLEncode(NearArticle(3)) &"</a>")
End If
HTML = Label_CorrelationArticle(HTML, ArticleID)
HTML = Label_ShowComment(HTML, ArticleID)
HTML = Label_GetArticleList(HTML)
HTML = Label_GetArticlePhoto(HTML)
ArrContent = Split(Content, "[NextPage]")
Dim LenArrContent
LenArrContent = UBound(ArrContent)
If LenArrContent>0 Then
Dim ResponseContent
If CurrentPage>(LenArrContent+1) Then CurrentPage = LenArrContent
ResponseContent = EL_Common.ReplaceKeyLink(ArrContent(CurrentPage-1), ReplaceKeyType)
ResponseContent = ResponseContent &"<table width='100%' border='0' cellpadding='0' cellspacing='0'><tr><td align=center>"
For i = 1 To LenArrContent + 1
If i = CurrentPage Then
ResponseContent = ResponseContent &"<a href='"& InstallDir & EL_Channel.ChannelDir &"/ShowArticle.asp?ArticleID="& ArticleID &"&page="& i &"'><strong style='color:red'>["& i &"]</strong></a> "
Else
ResponseContent = ResponseContent &"<a href='"& InstallDir & EL_Channel.ChannelDir &"/ShowArticle.asp?ArticleID="& ArticleID &"&page="& i &"'><strong>["& i &"]</strong></a> "
End If
Next
ResponseContent = ResponseContent &"</td></tr></table>"
HTML = EL_Common.RegExpStaticLabel(HTML, "{$Content}", ResponseContent)
Else
HTML = EL_Common.RegExpStaticLabel(HTML, "{$Content}", EL_Common.ReplaceKeyLink(Content, ReplaceKeyType))
End If
Call EL_Common.UpdateHits(ChannelID, ArticleID)
rsArticle.Close()
Set rsArticle = Nothing
Set ArticleCmd = Nothing
Response.Write HTML
End Sub
Public Sub Print()
Dim ArticleCmd, rsArticle, StrPath
Dim ArticleID, Title, Keywords, Author, Copyfrom, Content, Hits, UpdateTime, Inputer, Editor, SkinID
ArticleID = EL_Common.ELRequest("InfoID", 2)
Call EL_Common.InitCommand(ArticleCmd, "EL_SP_GetArticleInfo")
With ArticleCmd
.Parameters.Append .CreateParameter("RETURN", 2, 4)
.Parameters.Append .CreateParameter("@ArticleID", 3, 1, 4, ArticleID)
.Parameters.Append .CreateParameter("@ChannelID", 3, 1, 4, ChannelID)
Set rsArticle = .Execute()
End With
rsArticle.Close()
If ArticleCmd(0) <> 1 Then
EL_Common.ShowErrorMsg(EL_Common.RegExpStaticLabel(EL_Common.Lang("BaseConfig.InfoError", "指定{$ItemName}不存在"), "{$ItemName}", EL_Channel.ItemName))
Set rsArticle = Nothing
Set ArticleCmd = Nothing
Exit Sub
End If
rsArticle.Open()
ClassID = rsArticle("ClassID")
Title = rsArticle("Title")
Keywords = rsArticle("Keywords")
Author = rsArticle("Author")
Copyfrom = rsArticle("Copyfrom")
Content = rsArticle("Content")
Hits = rsArticle("Hits")
UpdateTime = rsArticle("UpdateTime")
Inputer = rsArticle("Inputer")
Editor = rsArticle("Editor")
SkinID = rsArticle("SkinID")
HTML = EL_Common.Template(ChannelID, 7, 0)
HTML = EL_Common.ReplaceCommonLabels(HTML)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$PageTitle}", Title &" - "& EL_Common.Lang("BaseConfig.Print", "打印") &" - "& SiteTite)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$DefaultSkin}", EL_Common.Skin(ChannelID, ClassID, SkinID))
StrPath = EL_Common.Lang("BaseConfig.Path", " >> ")
EL_Common.ShowPath = EL_Common.ShowPath & StrPath &"<a href='"& InstallDir & EL_Channel.ChannelDir &"/Index.asp'>"& EL_Channel.ChannelName &"</a>"& EL_Common.GetParentPath(ChannelID, EL_Channel.ChannelDir, ClassID) & StrPath & EL_Common.RegExpStaticLabel(EL_Common.Lang("BaseConfig.Content", "{$ItemName}内容"), "{$ItemName}", EL_Channel.ItemName)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$ShowPath}", EL_Common.ShowPath)
HTML = ChannelCommonLabels(HTML)
'自定义字段标签
Dim FieldCmd, rsField, FieldCount
Call EL_Common.InitCommonCmd(FieldCmd, rsField, "EL_Field", "FieldName", "ChannelID="& ChannelID)
rsField.Close()
FieldCount = FieldCmd(0)
If FieldCount = 0 Then
Set rsField = Nothing
Set FieldCmd = Nothing
Else
rsField.Open()
For i = 1 To FieldCount
HTML = EL_Common.RegExpStaticLabel(HTML, "{$"& rsField(0) &"}", rsArticle(rsField(0).value))
If i<FieldCount Then rsField.MoveNext
Next
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -