📄 classindex.asp
字号:
<%
Class ClassIndex
Private HTML, CommonRegExp
Private Sub Class_Initialize
Set CommonRegExp = New RegExp
CommonRegExp.IgnoreCase = True
CommonRegExp.Global = True
End Sub
Private Sub Class_Terminate
Set CommonRegExp = Nothing
End Sub
Public Sub Execute()
HTML = EL_Common.Template(0, -1, 0)
HTML = EL_Common.ReplaceCommonLabels(HTML)
HTML = EL_Common.RegExpStaticLabel(HTML, "{$PageTitle}", EL_Common.Join2String(SiteTitle, EL_Common.Lang("BaseConfig.SiteIndex", ""), EL_Common.TitleDivide))
HTML = EL_Common.RegExpStaticLabel(HTML, "{$MetaKeywords}", "<meta name=""keywords"" content="""& MetaKeywords &""" />")
HTML = EL_Common.RegExpStaticLabel(HTML, "{$MetaDescription}", "<meta name=""description"" content="""& MetaDescription &""" />")
HTML = EL_Common.RegExpStaticLabel(HTML, "{$ShowPath}", EL_Common.Lang("BaseConfig.SiteIndex", ""))
HTML = EL_Common.RegExpStaticLabel(HTML, "{$DefaultSkin}", EL_Common.Skin(0, 0, 0))
HTML = Label_GetArticleList(HTML)
HTML = Label_GetArticlePhoto(HTML)
HTML = Label_GetHotelList(HTML)
HTML = Label_GetHotelPhoto(HTML)
HTML = Label_GetProductList(HTML)
HTML = Label_GetProductPhoto(HTML)
HTML = Label_GetFlightList(HTML)
HTML = Label_GetSightList(HTML)
HTML = Label_GetSightPhoto(HTML)
HTML = Label_GetShopList(HTML)
HTML = Label_GetShopPhoto(HTML)
HTML = Label_GetCarList(HTML)
HTML = Label_GetCarPhoto(HTML)
HTML = Label_GetPhotoList(HTML)
Response.Write HTML
End Sub
Private Function Label_GetArticleList(ByVal HTML)
Dim Match, Matches, ReturnString, Parameters, Temp
CommonRegExp.Pattern = "<!--\{\$GetArticleList\(([ 0-9]+),([ 0-9\|]+),([ 0-9]+),([ 0-9]+),[ ]*(True|False)[ ]*,([ 0-9]+),[ ]*(True|False)[ ]*,([ 0-9]+),([ 0-9]+),([ 0-9]+),([ 0-9]+),([ 0-9]+),[ ]*(True|False)[ ]*,[ ]*(True|False)[ ]*,[ \w\""]*,[ \w\""]*,[ \w\""]*\)\}-->"
Set Matches = CommonRegExp.Execute(HTML)
ReturnString = HTML
Temp = ""
For Each Match in Matches
Parameters = EL_Common.GetLabelParameters(Match.Value, "GetArticleList")
Temp = ArticleList(Parameters(0), Parameters(1), Parameters(2), Parameters(3), Parameters(4), Parameters(5), Parameters(6), Parameters(7), Parameters(8), Parameters(9), Parameters(10), Parameters(11), Parameters(12), Parameters(13), Parameters(14), Parameters(15), Parameters(16))
ReturnString = Replace(ReturnString, Match.Value, Temp)
Next
CommonRegExp.Pattern = "\{\$GetArticleList\(([ 0-9]+),([ 0-9\|]+),([ 0-9]+),([ 0-9]+),[ ]*(True|False)[ ]*,([ 0-9]+),[ ]*(True|False)[ ]*,([ 0-9]+),([ 0-9]+),([ 0-9]+),([ 0-9]+),([ 0-9]+),[ ]*(True|False)[ ]*,[ ]*(True|False)[ ]*,[ \w\""]*,[ \w\""]*,[ \w\""]*\)\}"
Set Matches = CommonRegExp.Execute(ReturnString)
For Each Match in Matches
Parameters = EL_Common.GetLabelParameters(Match.Value, "GetArticleList")
Temp = ArticleList(Parameters(0), Parameters(1), Parameters(2), Parameters(3), Parameters(4), Parameters(5), Parameters(6), Parameters(7), Parameters(8), Parameters(9), Parameters(10), Parameters(11), Parameters(12), Parameters(13), Parameters(14), Parameters(15), Parameters(16))
ReturnString = Replace(ReturnString, Match.Value, Temp)
Next
Set Matches = Nothing
Label_GetArticleList = ReturnString
End Function
Private Function ArticleList(ByVal ChannelID, ByVal ArrClassID, ByVal ArticleNum, ByVal TitleLen, ByVal ShowClassName, ByVal ShowDateType, ByVal IsCommend, ByVal OrderType, ByVal OpenType, ByVal ColNum, ByVal ListType, ByVal ShowIcon, ByVal ShowHint, ByVal ShowPage, ByVal ClassA, ByVal Class1, ByVal Class2)
Dim ArticleCmd, rsArticle, i, ReturnString
Dim PageSizes, RowCount, TotalCount, PageCounts
Dim SQLTables, SQLFields, SQLCondition, SQLOrder, SQL
Dim ChannelCmd, rsChannel, ChannelDir, ChannelModule, ItemName, ItemUnit, Disabled
ChannelID = EL_Common.ELClng(Trim(ChannelID))
Call EL_Common.InitCommonCmd(ChannelCmd, rsChannel, "EL_Channel", "ChannelDir,ChannelModule,ShowPageSize,ItemName,ItemUnit,Disabled", "ChannelID="& ChannelID &" AND ChannelType=0")
rsChannel.Close()
If ChannelCmd(0) <> 1 Then
Set rsChannel = Nothing
Set ChannelCmd = Nothing
ArticleList = EL_Common.Lang("BaseConfig.ChannelError", "·频道参数错误")
Exit Function
Else
rsChannel.Open()
ChannelDir = rsChannel(0)
ChannelModule = rsChannel(1)
PageSizes = rsChannel(2)
ItemName = rsChannel(3)
ItemUnit = rsChannel(4)
Disabled = rsChannel(5)
rsChannel.Close()
End If
Set rsChannel = Nothing
Set ChannelCmd = Nothing
If ChannelModule <> 1 Then
ArticleList = EL_Common.Lang("BaseConfig.ChannelModuleError", "·频道模块错误")
Exit Function
End If
If Disabled Then
ArticleList = EL_Common.Lang("BaseConfig.Disabled", "·该频道已被禁用")
Exit Function
End If
ArticleNum = EL_Common.ELClng(ArticleNum)
TitleLen = EL_Common.ELClng(TitleLen)
ShowClassName = Eval(ShowClassName)
ShowDateType = EL_Common.ELClng(ShowDateType)
IsCommend = Eval(IsCommend)
OrderType = EL_Common.ELClng(OrderType)
OpenType = EL_Common.ELClng(OpenType)
ColNum = EL_Common.ELClng(ColNum)
ListType = EL_Common.ELClng(ListType)
ShowIcon = EL_Common.ELClng(ShowIcon)
ShowHint = Eval(ShowHint)
ShowPage = Eval(ShowPage)
ClassA = Replace(ClassA, """", "")
Class1 = Replace(Class1, """", "")
Class2 = Replace(Class2, """", "")
If OpenType > 1 Then OpenType = 1
If ColNum < 1 Then ColNum = 1
SQLTables = "EL_Article,EL_Class"
SQLFields = "EL_Article.ArticleID,EL_Article.Title,EL_Article.Author,EL_Article.UpdateTime"
If ShowClassName Then SQLFields = SQLFields &",EL_Class.ClassID,EL_Class.ClassName"
SQLOrder = "EL_Article.OnTop DESC"
Select Case OrderType
Case 1: SQLOrder = SQLOrder &",EL_Article.ArticleID ASC"
Case 2: SQLOrder = SQLOrder &",EL_Article.ArticleID DESC"
Case 3: SQLOrder = SQLOrder &",EL_Article.UpdateTime ASC"
Case 4: SQLOrder = SQLOrder &",EL_Article.UpdateTime DESC"
Case 5: SQLOrder = SQLOrder &",EL_Article.Hits ASC"
Case 6: SQLOrder = SQLOrder &",EL_Article.Hits DESC"
Case Else: SQLOrder = SQLOrder &",EL_Article.ArticleID DESC"
End Select
SQLCondition = " EL_Article.ChannelID="& ChannelID &" And EL_Article.ClassID=EL_Class.ClassID And EL_Article.Passed="& EL_True &" And EL_Article.Deleted="& EL_False &" "
If ArrClassID = "" Or ArrClassID = "0" Or Replace(ArrClassID, "|", "") = "" Then
'SQLCondition = SQLCondition &""
Else
ArrClassID = EL_Common.GetAllClassID(ArrClassID)
SQLCondition = SQLCondition &"AND EL_Article.ClassID In("& ArrClassID &") "
End If
If IsCommend Then SQLCondition = SQLCondition &" AND EL_Article.Commended="& EL_True &" "
ReturnString = ""
ShowPage = False
If ShowPage = True Then
'=======================================
' 网站首页调用不设置分页
'=======================================
Else
If ArticleNum < 1 Then ArticleNum = EL_Common.Lang("Article.TopNum", 10)
Call EL_Common.InitCommonCmd(ArticleCmd, rsArticle, SQLTables, " TOP "& ArticleNum &" "& SQLFields, SQLCondition &" ORDER BY "& SQLOrder)
rsArticle.Close()
RowCount = ArticleCmd(0)
If RowCount = 0 Then
Set rsArticle = Nothing
Set ArticleCmd = Nothing
ArticleList = EL_Common.RegExpStaticLabel(EL_Common.Lang("BaseConfig.NoList", "·没有任何{$ItemName}"), "{$ItemName}", ItemName)
Exit Function
Else
Dim Title_Name, Title_Author, Title_UpdateTime
If ShowHint = True Then
Title_Name = EL_Common.RegExpStaticLabel(EL_Common.Lang("Article.Name", "{$ItemName}标题"), "{$ItemName}", ItemName)
Title_Author = EL_Common.Lang("Article.Author", "作 者")
Title_UpdateTime = EL_Common.Lang("Article.UpdateTime", "更新日期")
End If
rsArticle.Open()
Select Case ListType
Case 2: ReturnString = "<div class='list'>"
Case 3: ReturnString = "<ul class='list'>"
Case 4: ReturnString = "<ol class='list'>"
Case Else: ReturnString = "<table width='100%' border='0' cellspacing='0' cellpadding='0' class='list'><tr>"
End Select
If ClassA = "" Then ClassA = "lista"
If Class1 = "" Then Class1 = "list1"
If Class2 = "" Then Class2 = "list2"
Dim ArrClass(2)
ArrClass(1) = Class1
ArrClass(2) = Class2
For i = 1 To RowCount
Select Case ListType
Case 2: ReturnString = ReturnString &"<div class='"& ArrClass(2-((i+2) Mod 2))&"'>"
Case 3, 4: ReturnString = ReturnString &"<li class='"& ArrClass(2-((i+2) Mod 2))&"'>"
Case Else: ReturnString = ReturnString &"<td width='"& 100/ColNum &"%' class='"& ArrClass(2-((i+2) Mod 2))&"'>"
End Select
ReturnString = ReturnString &"<span class='listn'>"
If ShowIcon > 0 Then ReturnString = ReturnString &"<img border='0' src='"& InstallDir & ChannelDir &"/Images/icon"& ShowIcon &".gif' /> "
If ShowClassName = True Then ReturnString = ReturnString &"[<a href='"& InstallDir & ChannelDir &"/ShowClass.asp?ClassID="& rsArticle(4) &"' class='"& ClassA &"'>"& EL_Common.ServerHTMLEncode(rsArticle(5)) &"</a>]"
ReturnString = ReturnString &"<a href='"& InstallDir & ChannelDir &"/ShowArticle.asp?ArticleID="& rsArticle(0) &"' class='"& ClassA &"' "
If ShowHint = True Then ReturnString = ReturnString &"title='"& Title_Name &":"& EL_Common.HTMLEncode(rsArticle(1)) & VBCRLF & Title_Author &":"& rsArticle(2) & VBCRLF & Title_UpdateTime &":"& rsArticle(3) &"' "
ReturnString = ReturnString & EL_Common.ArrOpenType(OpenType) &">"& EL_Common.HTMLEncode(EL_Common.GetTopic(rsArticle(1), TitleLen)) &"</a>"
ReturnString = ReturnString &"</span>"
Select Case ShowDateType
Case 1: ReturnString = ReturnString &"<span class='listd'>["& FormatDateTime(rsArticle(3), 2) &"]</span>"
Case 2: ReturnString = ReturnString &"<span class='listd'>["& Right("0"& Month(rsArticle(3)), 2) &"-"& Right("0"& Day(rsArticle(3)), 2) &"]</span>"
End Select
Select Case ListType
Case 2: ReturnString = ReturnString &"</div>"
Case 3, 4: ReturnString = ReturnString &"</li>"
Case Else: ReturnString = ReturnString &"</td>"
End Select
If (i Mod ColNum) = 0 And i<RowCount Then
Select Case ListType
Case 2, 3, 4:
Case Else: ReturnString = ReturnString &"</tr><tr>"
End Select
End If
If i<RowCount Then rsArticle.MoveNext
Next
Select Case ListType
Case 2: ReturnString = ReturnString &"</div>"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -