📄 cl_clstemplate.asp
字号:
Public Function ReplaceSuperLoopInfoList(ByVal sModule,ByVal Rows,ByVal Cols,ByVal LoopTemplate,Byval ColTemplate,Byval XmlData)
Dim Node,i,j,n,Trows,TNums
Dim sTemp
i = 0 : j = 0 : n = 0
LoopTemplate = Split(LoopTemplate,"||")
Rows = Split(Rows,"|")
TNums = UBound(LoopTemplate)
For Each Node In XMLData.DocumentElement.SelectNodes("info")
If TNums > 0 And j>0 Then
If j >= CLng(Rows(n)) Then
j = 0 : n = n + 1
If n > TNums Then n = 0
End If
sTemp = LoopTemplate(n)
Else
sTemp = LoopTemplate(0)
End If
i = i+1 : j = j+1
ReplaceSuperLoopInfoList = ReplaceSuperLoopInfoList & ReplaceInfoContent(sModule,sTemp,Node)
If i mod Cols = 0 then ReplaceSuperLoopInfoList = ReplaceSuperLoopInfoList & ColTemplate
sTemp = Empty
Next
Set Node = Nothing
End Function
Public Function ReplaceSuperClassLoop(Byval sContent)
On Error Resume next
Dim Matches,Match,TempValue
regEx.Pattern = "【Cl_ClassLoop\((.[^\)]*)\)】(.[^\【]*)\[ColTemplate\](.[^\[]*)\[\/ColTemplate\](.[^\[]*)\[RowTemplate\](.[^\[]*)\[\/RowTemplate\](.[^\[]*)【\/Cl_ClassLoop】"
'"【Cl_ClassLoop\((.[^\)]*)\)】(.[^\[]*)\[RowTemplate\](.[^\[]*)\[\/RowTemplate\](.[^\[]*)\[ColTemplate\](.[^\[]*)\[\/ColTemplate\](.[^\[]*)【\/Cl_ClassLoop】"
Set Matches = regEx.Execute(sContent)
For Each Match in Matches
'Response.write "OK"
Rem 定义变量
Dim sModule,sTopNum,sInfoNum,sChannelID,sClassID,sArrClassID
Dim Rows,RowTemplate,Cols,ColTemplate,LoopTemplate
Dim Rs,SQL,XMLData,i
Rem 设置初始值
sModule = "article"
sTopNum = 6
sInfoNum = 8
sChannelID = ChannelID
sClassID = 0
Rows = "5"
Cols = 2
sArrClassID = "0"
Rem End
TempValue = regEx.Replace(Match.Value,"$1")
LoopTemplate= regEx.Replace(Match.Value,"$2")
ColTemplate= regEx.Replace(Match.Value,"$3")
RowTemplate = regEx.Replace(Match.Value,"$5")
TempValue = Split(TempValue,";")
For i=0 To UBound(TempValue)
TempValue(i)=Split(TempValue(i),":")
Select Case LCase(TempValue(i)(0))
Case "module" : sModule = TempValue(i)(1)
Case "topnum" : sTopNum = Cl.GetCLng(TempValue(i)(1))
Case "infonum" : sInfoNum = Cl.GetCLng(TempValue(i)(1))
Case "channelid" : sChannelID= Cl.GetEval(TempValue(i)(1))
Case "classid" : sClassID = Cl.GetEval(TempValue(i)(1))
Case "arrclassid" : sArrClassID= Trim(TempValue(i)(1))
Case "rows" : Rows = Cl.GetCLng(TempValue(i)(1))
Case "cols" : Cols = Cl.GetCLng(TempValue(i)(1))
End Select
Next
TempValue = Empty
SQL="select Top "&sTopNum&" ClassID,ClassName,arrChildID,Readme From Cl_Class "
if sClassID>0 then
SQL=SQL & " where ChannelID="&sChannelID&" and ParentID="&sClassID&" and IsElite="&TrueType&" and IsOuter=0 order by RootID,OrderID"
ElseIf sArrClassID<>"0" then
SQL=SQL & " where ChannelID="&sChannelID&" and IsElite="&TrueType&" and IsOuter=0 and ClassID In ("&Replace(sArrClassID,"|",",")&") order by RootID,OrderID"
Else
SQL=SQL & " where ChannelID="&sChannelID&" and ParentID=0 and IsElite="&TrueType&" and IsOuter=0 order by RootID,OrderID"
End If
Set Rs= Server.CreateObject("Adodb.RecordSet")
OpenConn : Rs.Open SQL,Conn,1,1
if Rs.bof and Rs.eof then
TempValue = "找不到符合条件的栏目。"
Else
Dim sTemp
i=0
'Response.write Cols
For i=1 To Rs.RecordCount
'Do While Not Rs.Eof
sTemp = LoopTemplate
sTemp = Replace(sTemp,"{$classid}",Rs("ClassID"))
sTemp = Replace(sTemp,"{$classtitle}",Rs("Readme")&"")
sTemp = Replace(sTemp,"{$classname}",Rs("ClassName"))
sTemp = Replace(sTemp,"{$classlinkurl}",Cl.GetClassLinkUrl(Rs("ClassID")))
sTemp = ReplaceSuperClassLoopInfoList(sModule,Rs("arrChildID"),sInfoNum,sTemp)
TempValue = TempValue & sTemp
Rs.MoveNext
If Rs.Eof Then
Exit For
Else
If i mod Cols = 0 then
TempValue = TempValue & RowTemplate
Else
TempValue = TempValue & ColTemplate
End if
End if
'Loop
Next
End If
Rs.Close : Set Rs=Nothing
sContent = Replace(sContent,Match.Value,TempValue)
Next
Set Matches = Nothing
ReplaceSuperClassLoop = sContent
End Function
Public Function ReplaceSuperClassLoopInfoList(ByVal sModule,ByVal sClassID,ByVal sTopNum,ByVal sLoopTemplate)
Dim tSQL,tRs
tSQL = "Select Top "&sTopNum&" InfoID, ChannelID, ChannelDir, ClassID, Prefixion, "
Select Case LCase(sModule)
Case "article"
tSQL = tSQL & "Title, FontColor, FontType, TitleIntact, Author, CopyFrom, Editor, UpdateTime, Censor, CensorTime, Stars, OnTop, Hot, Elite, Hits, DayHits, WeekHits, MonthHits, InfoGroup, InfoPoint, InfoMoney, PicUrl, Intro, Receive, ReceiveType, IsLink, IsHtml, HtmlFileUrl, LastHitTime, CommentCount from Cl_Article "
Case "soft"
tSQL = tSQL & "SoftName, FontColor, FontType, SoftVersion, Author, AuthorEmail, AuthorHomepage, DemoUrl, RegUrl, Editor, UpdateTime, Censor, CensorTime, Stars, OnTop, Hot, Elite, Hits, DayHits, WeekHits, MonthHits, InfoGroup, InfoPoint, InfoMoney, Intro, PicUrl, SoftPassword, OperatingSystem, SoftSize, SoftType, SoftLanguage, CopyrightType, IsHtml, HtmlFileUrl, LastHitTime, CommentCount from Cl_Soft "
Case "photo"
tSQL = tSQL & "PhotoName, FontColor, FontType, Author, AuthorEmail, AuthorHomepage, Editor, UpdateTime, Censor, CensorTime, Stars, OnTop, Hot, Elite, Hits, DayHits, WeekHits, MonthHits, InfoGroup, InfoPoint, InfoMoney, Intro, PicUrl, IsDownLoad, DownLoadNum, IsHtml, HtmlFileUrl, LastHitTime, CommentCount from Cl_Photo "
Case "movie"
tSQL = tSQL & "MovieName, FontColor, FontType, Director, ActName, Editor, UpdateTime, Censor, CensorTime, Stars, OnTop, Hot, Elite, Hits, DayHits, WeekHits, MonthHits, DownNums, InfoGroup, InfoPoint, InfoMoney, IsOnLine, IsDownLoad, Intro, PicUrl, MovieFormat, MovieLong, MovieCorner, MovieLanguage, IsHtml, HtmlFileUrl, LastHitTime, CommentCount from Cl_Movie "
Case "product"
tSQL = tSQL & "ProductName, FontColor, FontType, ProductSn, Producer, Trademark, ProductModel, ProductUnit, Editor, UpdateTime, Censor, CensorTime, Stars, OnTop, Hot, Elite, Hits, DayHits, WeekHits, MonthHits, InfoGroup, InfoPoint, MarketPrice, MemberPrice, TruePrice, Discount, PresentExp, Intro, PicUrl, ProductType, CardPoint, StockNum, BuyTimes, BeginDate, EndDate, NoOver, IsHtml, HtmlFileUrl, LastHitTime, CommentCount from Cl_Product "
Case Else
tSQL = tSQL & "Title, FontColor, FontType, TitleIntact, Author, CopyFrom, Editor, UpdateTime, Censor, CensorTime, Stars, OnTop, Hot, Elite, Hits, DayHits, WeekHits, MonthHits, InfoGroup, InfoPoint, InfoMoney, PicUrl, Intro, Content, Receive, ReceiveType, IsLink, IsHtml, HtmlFileUrl, LastHitTime, CommentCount from Cl_Article "
End Select
tSQL = tSQL & " where Deleted="&FalseType&" and Status=1"
If InStr(sClassID,",")>0 Then
tSQL = tSQL & " and ClassID in (" & sClassID & ")"
Else
tSQL = tSQL & " and ClassID = " & CLng(sClassID) & ""
End If
tSQL = tSQL & " Order By InfoID Desc"
Set tRs = Cl.Execute(tSQL)
Dim ReplaceStr,LoopStr,ContentStr
LoopStr = GetPartContent(sLoopTemplate,"[Cl_Loop]","[/Cl_Loop]")
ReplaceStr = "[Cl_Loop]" & LoopStr & "[/Cl_Loop]"
If Not tRs.Eof Then
Dim XMLData,Node
Set XMLData = Cl.RecordsetToxml(tRs,"info","infolist")
For Each Node In XMLData.DocumentElement.SelectNodes("info")
ContentStr = ContentStr & ReplaceInfoContent(sModule,LoopStr,Node)
Next
Set Node = Nothing
Set XMLData = Nothing
End If
Set tRs = Nothing
tSQL = Empty
ReplaceSuperClassLoopInfoList = Replace(sLoopTemplate,ReplaceStr,ContentStr)
End Function
Public Function ReplaceParameter(Byval sContent)
'On Error Resume next
Dim Matches,Match,TempValue,ArrayStr,DataStr
regEx.Pattern = "{\$.[^{\$}]*}"
Rem {\$([^{\$}])*}
Set Matches = regEx.Execute(sContent)
For Each Match in Matches
TempValue = Match.Value
TempValue = Replace(TempValue,"{$","")
TempValue = Replace(TempValue,"}","")
TempValue = Replace(TempValue,"(",",")
TempValue = Replace(TempValue,")","")
TempValue = Replace(TempValue,Chr(34),"")
ArrayStr = Split(TempValue,",")
Select Case LCase(ArrayStr(0))
'Rem 文章部分
Case "showarticle"
DataStr = ShowArticle(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),Cl.GetEval(ArrayStr(3)),ArrayStr(4),ArrayStr(5),ArrayStr(6),ArrayStr(7),ArrayStr(8),ArrayStr(9),ArrayStr(10),ArrayStr(11),ArrayStr(12),ArrayStr(13),ArrayStr(14),ArrayStr(15),ArrayStr(16))
Case "showpicarticle"
DataStr = ShowPicArticle(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),Cl.GetEval(ArrayStr(3)),ArrayStr(4),ArrayStr(5),ArrayStr(6),ArrayStr(7),ArrayStr(8),ArrayStr(9),ArrayStr(10),ArrayStr(11),ArrayStr(12))
Case "showclassarticle"
DataStr = ShowClassArticle(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4))
Case "showtoparticle"
DataStr = ShowTopArticle(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4),ArrayStr(5),ArrayStr(6))
Case "showneararticle"
DataStr = ShowNearArticle(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),Cl.GetEval(ArrayStr(3)),ArrayStr(4),ArrayStr(5))
'Rem 下载部分
Case "showsoft"
DataStr = ShowSoft(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),Cl.GetEval(ArrayStr(3)),ArrayStr(4),ArrayStr(5),ArrayStr(6),ArrayStr(7),ArrayStr(8),ArrayStr(9),ArrayStr(10),ArrayStr(11),ArrayStr(12),ArrayStr(13),ArrayStr(14),ArrayStr(15),ArrayStr(16))
Case "showpicsoft"
DataStr = ShowPicSoft(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),Cl.GetEval(ArrayStr(3)),ArrayStr(4),ArrayStr(5),ArrayStr(6),ArrayStr(7),ArrayStr(8),ArrayStr(9),ArrayStr(10),ArrayStr(11),ArrayStr(12))
Case "showclasssoft"
DataStr = ShowClassSoft(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4))
Case "showtopsoft"
DataStr = ShowTopSoft(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4),ArrayStr(5),ArrayStr(6))
'Rem 图片部分
Case "showphoto"
DataStr = ShowPhoto(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),Cl.GetEval(ArrayStr(3)),ArrayStr(4),ArrayStr(5),ArrayStr(6),ArrayStr(7),ArrayStr(8),ArrayStr(9),ArrayStr(10),ArrayStr(11),ArrayStr(12),ArrayStr(13),ArrayStr(14),ArrayStr(15),ArrayStr(16))
Case "showpicphoto"
DataStr = ShowPicPhoto(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),Cl.GetEval(ArrayStr(3)),ArrayStr(4),ArrayStr(5),ArrayStr(6),ArrayStr(7),ArrayStr(8),ArrayStr(9),ArrayStr(10),ArrayStr(11),ArrayStr(12))
Case "showclassphoto"
DataStr = ShowClassPhoto(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4))
Case "showtopphoto"
DataStr = ShowTopPhoto(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4),ArrayStr(5),ArrayStr(6))
'Rem 影视部分
Case "showmovie"
DataStr = ShowMovie(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),Cl.GetEval(ArrayStr(3)),ArrayStr(4),ArrayStr(5),ArrayStr(6),ArrayStr(7),ArrayStr(8),ArrayStr(9),ArrayStr(10),ArrayStr(11),ArrayStr(12),ArrayStr(13),ArrayStr(14),ArrayStr(15),ArrayStr(16))
Case "showpicmovie"
DataStr = ShowPicMovie(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),Cl.GetEval(ArrayStr(3)),ArrayStr(4),ArrayStr(5),ArrayStr(6),ArrayStr(7),ArrayStr(8),ArrayStr(9),ArrayStr(10),ArrayStr(11),ArrayStr(12))
Case "showclassmovie"
DataStr = ShowClassMovie(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4))
Case "showtopmovie"
DataStr = ShowTopMovie(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4),ArrayStr(5),ArrayStr(6))
'Rem 商城部分
Case "showproduct"
DataStr = ShowProduct(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),Cl.GetEval(ArrayStr(3)),ArrayStr(4),ArrayStr(5),ArrayStr(6),ArrayStr(7),ArrayStr(8),ArrayStr(9),ArrayStr(10),ArrayStr(11),ArrayStr(12),ArrayStr(13),ArrayStr(14),ArrayStr(15),ArrayStr(16))
Case "showpicproduct"
DataStr = ShowPicProduct(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),Cl.GetEval(ArrayStr(3)),ArrayStr(4),ArrayStr(5),ArrayStr(6),ArrayStr(7),ArrayStr(8),ArrayStr(9),ArrayStr(10),ArrayStr(11),ArrayStr(12))
Case "showclassproduct"
DataStr = ShowClassProduct(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4))
Case "showtopproduct"
DataStr = ShowTopProduct(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4),ArrayStr(5),ArrayStr(6))
Case "showcorrelativearticle","showcorrelativesoft","showcorrelativephoto","showcorrelativemovie"
DataStr = ShowCorrelative(Cl.GetEval(ArrayStr(1)),InfoID,ArrayStr(2),ArrayStr(3),ArrayStr(4))
Case "showcorrelativeproduct"
DataStr = ShowCorrelativeProduct(Cl.GetEval(ArrayStr(1)),ArrayStr(2),ArrayStr(3),ArrayStr(4),ArrayStr(5),ArrayStr(6),ArrayStr(7),ArrayStr(8))
Case "showcorrelative"
DataStr = ShowCorrelative(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4),ArrayStr(5))
'Rem Other
Case "wap"
DataStr = Wap(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)))
Case "rss"
DataStr = Rss(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)))
Case "showlogo"
DataStr = ShowLogo(Cl.GetEval(ArrayStr(1)),ArrayStr(2),ArrayStr(3))
Case "showbanner"
DataStr = ShowBanner(Cl.GetEval(ArrayStr(1)),ArrayStr(2),ArrayStr(3))
Case "showannounce"
DataStr = ShowAnnounce(Cl.GetEval(ArrayStr(1)),ArrayStr(2),ArrayStr(3),ArrayStr(4),ArrayStr(5))
Case "openannounce"
if Cl.Web_Info(15) = "1" then
DataStr = "<script language = ""JavaScript"" type=""text/javascript"" src="""&Cl.WebDir&"Js/Announce/"&ChannelID&"_3.Js"" ></script>"
else
DataStr = "<script language = ""JavaScript"" type=""text/javascript"">" & Vbcrlf & OpenAnnounce(Cl.GetEval(ArrayStr(1))) & Vbcrlf & "</script>"
end If
Case "showchannel"
if Cl.Web_Info(15) = "1" then
DataStr = "<script language = ""JavaScript"" type=""text/javascript"" src="""&Cl.WebDir&"Js/ChannelMenu/ChannelMenu_"&Cl.GetEval(ArrayStr(1))&".Js""></script>"
else
DataStr = Cl.ShowChannelMenu(Cl.GetEval(ArrayStr(1)))
end If
Case "showchannelmenu"
DataStr = Cl.ShowChannelMenu(Cl.GetEval(ArrayStr(1)))
Case "showclassmenu"
if Cl.Web_Info(15) = "1" then
DataStr = "<script language = ""JavaScript"" type=""text/javascript"" src="""&Cl.WebDir&"Js/ClassMenu/ClassMenu_"&Cl.GetEval(ArrayStr(1))&".Js""></script>"
else
DataStr = "<script language = ""JavaScript"" type=""text/javascript"">"&GetClassMenu(Cl.GetEval(ArrayStr(1)))&"</script>"
end if
Case "showpage"
If Ubound(ArrayStr)<5 Then
DataStr = Cl.ShowPage(FileName,TotalPut,PageSize,Cl.ChannelItemUnit,Cl.ChannelItemName)
Else
DataStr = Cl.ShowPage(ArrayStr(1),ArrayStr(2),ArrayStr(3),ArrayStr(4),ArrayStr(5))
End If
Case "showspecial"
DataStr = ShowSpecial(Cl.GetEval(ArrayStr(1)),ArrayStr(2))
Case "showchildclass"
DataStr = ShowChildClass(Cl.GetEval(ArrayStr(1)),Cl.GetEval(ArrayStr(2)),ArrayStr(3),ArrayStr(4))
Case "showclassnavigation"
DataStr = ShowClassNavigation(Cl.GetEval(ArrayStr(1)),ArrayStr(2),ArrayStr(3))
Case "showcomment"
DataStr = ShowComment(Cl.GetEval(ArrayStr(1)),ArrayStr(2),ArrayStr(3))
Case "showsearchform"
if Cint(ArrayStr(2))>2 and Cl.Web_Info(15) = "1" then
DataStr = "<script type=""text/javascript"" src="""&Cl.WebDir&"Js/Search/Search"&Cl.GetEval(ArrayStr(1))&"_"&ArrayStr(2)&".Js""></script>"
else
DataStr = ShowSearchForm(Cl.GetEval(ArrayStr(1)),ArrayStr(2))
end if
Case "showvote"
if Ubound(ArrayStr)<2 Then
DataStr = ShowVote(ChannelID,1)
Else
DataStr = ShowVote(Cl.GetEval(ArrayStr(1)),ArrayStr(2))
End if
Case "showad"
If Ubound(ArrayStr)<5 Then
DataStr = ShowAd(ArrayStr(1),ArrayStr(2),ArrayStr(3),0,0)
Else
DataStr = ShowAd(ArrayStr(1),ArrayStr(2),ArrayStr(3),ArrayStr(4),ArrayStr(5))
End if
Case "channelcount"
Select Case ChannelID
Case 1
DataStr = "<script type=""text/javascript"" src="""&Cl.WebDir&"Count.asp?style=article""></script>"
Case 2
DataStr = "<script type=""text/javascript"" src="""&Cl.WebDir&"Count.asp?style=soft""></script>"
Case 3
DataStr = "<script type=""text/javascript"" src="""&Cl.WebDir&"Count.asp?style=photo""></script>"
Case 4
DataStr = "<script type=""text/javascript"" src="""&Cl.WebDir&"Count.asp?style=movie""></script>"
Case 5
DataStr = "<script type=""text/javascript"" src="""&Cl.WebDir&"Count.asp?style=product""></script>"
Case 10
DataStr = "<script type=""text/javascript"" src="""&Cl.WebDir&"Count.asp?style=guestbook""></script>"
Case Else
DataStr = "<script type=""text/javascript"" src="""&Cl.WebDir&"Count.asp?style=default""></script>"
End Select
Case "showlinksite"
DataStr = ShowLinkSite(ArrayStr(1),ArrayStr(2),ArrayStr(3),ArrayStr(4),ArrayStr(5))
Case "showtopuser"
DataStr = ShowTopUser(ArrayStr(1),ArrayStr(2),ArrayStr(3))
Case "showguest"
DataStr = ShowGuest(ArrayStr(1),ArrayStr(2),ArrayStr(3))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -