%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%option explicit%>
<%
Dim SqlNowString,SiteSN,Conn,DBPath,CollectDBPath,DataServer,DataUser,DataBaseName,DataBasePsw,ConnStr,CollcetConnStr
Const DataBaseType=0 '系统数据库类型,"1"为MS SQL2000数据库,"0"为MS ACCESS 2000数据库
Const SysVer=1
Const MsxmlVersion=".3.0" '系统采用XML版本设置
If DataBaseType=0 then
'如果是ACCESS数据库,请认真修改好下面的数据库的文件名
DBPath= "/fangfangonline_Data/fangfangonline_Datacenter.asp" 'ACCESS数据库的文件名,请使用相对于网站根目录的的绝对路径
SqlNowString = "Now()"
Else
'如果是SQL数据库,请认真修改好以下数据库选项
DataServer = "(local)" '数据库服务器IP
DataUser = "sa" '访问数据库用户名
DataBaseName = "kesioncms4" '数据库名称
DataBasePsw = "989066" '访问数据库密码
SqlNowString = "getdate()"
End if
'采集数据库路径
CollectDBPath="\fangfangonline_Data\Collect\KS_Collect.Mdb"
Call OpenConn
Sub OpenConn()
On Error Resume Next
If DataBaseType = 1 Then
ConnStr="Provider = Sqloledb; User ID = " & datauser & "; Password = " & databasepsw & "; Initial Catalog = " & databasename & "; Data Source = " & dataserver & ";"
Else
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DBPath)
End If
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnStr
If Err Then Err.Clear:Set conn = Nothing:Response.Write "数据库连接出错,请检查Conn.asp文件中的数据库参数设置。":Response.End
CollcetConnStr ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(CollectDBPath)
End Sub
Sub CloseConn()
On Error Resume Next
Conn.close:Set Conn=nothing
End sub
%>
<%
Class Thumb
Private KS
Private Sub Class_Initialize()
Set KS=New PublicCls
End Sub
Private Sub Class_Terminate()
' Call CloseConn()
Set KS=Nothing
End Sub
'为图片添加水印
Function AddWaterMark(FileName)
Dim objFileSystem, strFileExtName, objImage
If InStr(FileName, ":") = 0 Then
FileName = Server.MapPath(FileName)
End If
If FileName <> "" And Not IsNull(FileName) Then
strFileExtName = ""
If InStr(FileName, ".") <> 0 Then
strFileExtName = LCase(Trim(Mid(FileName, InStrRev(FileName, ".") + 1)))
End If
If strFileExtName <> "jpg" And strFileExtName <> "gif" And strFileExtName <> "bmp" And strFileExtName <> "png" Then
Exit Function
End If
Set objFileSystem = Server.CreateObject(KS.Setting(99))
If objFileSystem.FileExists(FileName) Then
If KS.TbSetting(5) <> "0" Then
Select Case KS.TbSetting(5)
Case "1"
If KS.IsObjInstalled("Persits.Jpeg") Then
If KS.IsExpired("Persits.Jpeg") Then
Response.Write ("对不起,Persits.Jpeg组件已过期!")
Response.End
End If
If KS.TbSetting(6) = "1" Then
AddWordMark 1, KS.TbSetting(8), KS.TbSetting(10), KS.TbSetting(11), KS.TbSetting(12), KS.TbSetting(9), KS.TbSetting(7), FileName
Else
AddPhotoMark 1, KS.TbSetting(16), KS.TbSetting(17), KS.TbSetting(13), KS.TbSetting(14), KS.TbSetting(15), KS.TbSetting(7), FileName
End If
End If
Case "2"
If strFileExtName = "png" Then
Exit Function
End If
If KS.IsObjInstalled("wsImage.Resize") Then
If KS.IsExpired("wsImage.Resize") Then
Response.Write ("对不起,sImage.Resize组件已过期!")
Response.End
End If
If KS.TbSetting(6) = "1" Then
AddWordMark 2, KS.TbSetting(8), KS.TbSetting(10), KS.TbSetting(11), KS.TbSetting(12), KS.TbSetting(9), KS.TbSetting(7), FileName
Else
AddPhotoMark 2, KS.TbSetting(16), KS.TbSetting(17), KS.TbSetting(13), KS.TbSetting(14), KS.TbSetting(15), KS.TbSetting(7), FileName
End If
End If
Case "3"
If KS.IsObjInstalled("SoftArtisans.ImageGen") Then
If KS.IsExpired("SoftArtisans.ImageGen") Then
Response.Write ("对不起,SoftArtisans.ImageGen组件已过期!")
Response.End
End If
If KS.TbSetting(6) = "1" Then
AddWordMark 3, KS.TbSetting(8), KS.TbSetting(10), KS.TbSetting(11), KS.TbSetting(12), KS.TbSetting(9), KS.TbSetting(7), FileName
Else
AddPhotoMark 3, KS.TbSetting(16), KS.TbSetting(17), KS.TbSetting(13), KS.TbSetting(14), KS.TbSetting(15), KS.TbSetting(7), FileName
End If
End If
End Select
End If
End If
Set objFileSystem = Nothing
End If
End Function
'为图片添加文字水印
Function AddWordMark(MarkComponentID, MarkText, MarkFontColor, MarkFontName, MarkFontBond, MarkFontSize, MarkPosition, FileName)
Dim objImage, x, y, Text, TextWidth, FontColor, FontName, FondBond, FontSize, OriginalWidth, OriginalHeight
If InStr(FileName, ":") = 0 Then
FileName = Server.MapPath(FileName)
End If
Text = Trim(MarkText)
If Text = "" Then
Exit Function
End If
FontColor = Replace(MarkFontColor, "#", "&H")
FontName = MarkFontName
If MarkFontBond = "1" Then
FondBond = True
Else
FondBond = False
End If
FontSize = CInt(MarkFontSize)
Select Case MarkComponentID
Case 1
If Not KS.IsObjInstalled("Persits.Jpeg") Then
Exit Function
End If
Set objImage = Server.CreateObject("Persits.Jpeg")
objImage.Open FileName
objImage.Canvas.Font.Color = FontColor
objImage.Canvas.Font.Family = FontName
objImage.Canvas.Font.Bold = FondBond
objImage.Canvas.Font.size = FontSize
TextWidth = objImage.Canvas.GetTextExtent(Text)
If objImage.OriginalWidth < TextWidth Or objImage.OriginalHeight < FontSize Then
Exit Function
End If
GetPostion CInt(MarkPosition), x, y, objImage.OriginalWidth, objImage.OriginalHeight, TextWidth, FontSize
With objImage.Canvas
.Print x, y, Text
End With
objImage.Save FileName
Case 2
If Not KS.IsObjInstalled("wsImage.Resize") Then
Exit Function
End If
Set objImage = Server.CreateObject("wsImage.Resize")
objImage.LoadSoucePic CStr(FileName)
objImage.TxtMarkFont = CStr(FontName)
objImage.TxtMarkBond = FondBond
objImage.TxtMarkHeight = FontSize
FontColor = "&H" & Mid(FontColor, 7) & Mid(FontColor, 5, 2) & Mid(FontColor, 3, 2)
objImage.AddTxtMark CStr(FileName), CStr(Text), CLng(FontColor), 1, 1
Case 3
If Not KS.IsObjInstalled("SoftArtisans.ImageGen") Then
Exit Function
End If
Set objImage = Server.CreateObject("SoftArtisans.ImageGen")
objImage.LoadImage FileName
objImage.Font.Height = FontSize
objImage.Font.name = FontName
FontColor = "&H" & Mid(FontColor, 7) & Mid(FontColor, 5, 2) & Mid(FontColor, 3, 2)
objImage.Font.Color = CLng(FontColor)
objImage.Text = Text
GetPostion CInt(MarkPosition), x, y, objImage.Width, objImage.Height, objImage.TextWidth, objImage.TextHeight
objImage.DrawTextOnImage x, y, objImage.TextWidth, objImage.TextHeight
objImage.SaveImage 0, objImage.ImageFormat, FileName
End Select
Set objImage = Nothing
End Function
Function AddPhotoMark(MarkComponentID, MarkWidth, MarkHeight, MarkPicture, MarkOpacity, MarkTranspColor, MarkPosition, FileName)
Dim objImage, objMark, x, y, OriginalWidth, OriginalHeight, Position
If InStr(FileName, ":") = 0 Then
FileName = Server.MapPath(FileName)
End If
If IsNull(MarkWidth) Or MarkWidth = "" Then
MarkWidth = 0
Else
MarkWidth = CInt(MarkWidth)
End If
If IsNull(MarkHeight) Or MarkHeight = "" Then
MarkHeight = 0
Else
MarkHeight = CInt(MarkHeight)
End If
If Trim(MarkPicture) = "" Or IsNull(MarkPicture) Then
Exit Function
End If
If IsNull(MarkOpacity) Or MarkOpacity = "" Then
MarkOpacity = 1
Else
MarkOpacity = CSng(MarkOpacity)
End If
If MarkTranspColor <> "" Then
MarkTranspColor = Replace(MarkTranspColor, "#", "&H")
Else
End If
Select Case MarkComponentID
Case 1
If Not KS.IsObjInstalled("Persits.Jpeg") Then
Exit Function
End If
Set objImage = Server.CreateObject("Persits.Jpeg")
Set objMark = Server.CreateObject("Persits.Jpeg")
objImage.Open FileName
If objImage.OriginalWidth < MarkWidth Or objImage.OriginalHeight < MarkHeight Then
Exit Function
End If
objMark.Open Server.MapPath(MarkPicture)
GetPostion CInt(MarkPosition), x, y, objImage.OriginalWidth, objImage.OriginalHeight, MarkWidth, MarkHeight
If MarkTranspColor <> "" Then
objImage.DrawImage x, y, objMark, MarkOpacity, MarkTranspColor
Else
objImage.DrawImage x, y, objMark, MarkOpacity
End If
objImage.Save FileName
Case 2
If Not KS.IsObjInstalled("wsImage.Resize") Then
Exit Function
End If
Set objImage = Server.CreateObject("wsImage.Resize")
objImage.LoadSoucePic CStr(FileName)
objImage.LoadImgMarkPic Server.MapPath(MarkPicture)
objImage.GetSourceInfo OriginalWidth, OriginalHeight
GetPostion CInt(MarkPosition), x, y, OriginalWidth, OriginalHeight, MarkWidth, MarkHeight
If MarkTranspColor = "" Then
MarkTranspColor = 0
Else
MarkTranspColor = "&H" & Mid(MarkTranspColor, 7) & Mid(MarkTranspColor, 5, 2) & Mid(MarkTranspColor, 3, 2)
End If
objImage.AddImgMark CStr(FileName), Int(x), Int(y), CLng(MarkTranspColor), Int(CSng(MarkOpacity) * 100)
Case 3
If Not KS.IsObjInstalled("SoftArtisans.ImageGen") Then
Exit Function
End If
Set objImage = Server.CreateObject("SoftArtisans.ImageGen")
objImage.LoadImage FileName
Select Case CInt(MarkPosition)
Case 1
Position = 3
Case 2
Position = 5
Case 3
Position = 1
Case 4
Position = 6
Case 5
Position = 8
End Select
If MarkTranspColor <> "" Then
MarkTranspColor = "&H" & Mid(MarkTranspColor, 7) & Mid(MarkTranspColor, 5, 2) & Mid(MarkTranspColor, 3, 2)
objImage.AddWaterMark Server.MapPath(MarkPicture), Position, CSng(MarkOpacity), CLng(MarkTranspColor)
Else
objImage.AddWaterMark Server.MapPath(MarkPicture), Position, CSng(MarkOpacity)
End If
objImage.SaveImage 0, objImage.ImageFormat, FileName
End Select
Set objImage = Nothing
Set objMark = Nothing
End Function
Function GetPostion(MarkPosition, x, y, ImageWidth, ImageHeight, MarkWidth, MarkHeight)
Select Case CInt(MarkPosition)
Case 1
x = 1
y = 1
Case 2
x = 1
y = Int(ImageHeight - MarkHeight - 1)
Case 3
x = Int((ImageWidth - MarkWidth) / 2)
y = Int((ImageHeight - MarkHeight) / 2)
Case 4
x = Int(ImageWidth - MarkWidth - 1)
y = 1
Case 5
x = Int(ImageWidth - MarkWidth - 1)
y = Int(ImageHeight - MarkHeight - 1)
End Select
End Function
'由原图片根据数据里保存的设置生成缩略图
Function CreateThumbs(FileName, ThumbFileName)
CreateThumbs = False
If KS.TbSetting(0) <> "0" And (Not IsNull(KS.TbSetting(0))) Then
If KS.TbSetting(1) = "0" Then
CreateThumbs = CreateThumb(FileName, CInt(KS.TbSetting(2)), CInt(KS.TbSetting(3)), 0, ThumbFileName)
Else
CreateThumbs = CreateThumb(FileName, 0, 0, CSng(KS.TbSetting(4)), ThumbFileName)
End If
End If
End Function
'由原图片生成指定宽度和高度的缩略图
Function CreateThumb(FileName, Width, Height, Rate, ThumbFileName)
On Error Resume Next
Dim strSql, RsSetting, objImage, iWidth, iHeight, strFileExtName
CreateThumb = False
If IsNull(FileName) Then '如果原图片未指定直接退出
Exit Function
ElseIf FileName = "" Then
Exit Function
End If
If InStr(FileName, ".") <> 0 Then
strFileExtName = LCase(Trim(Mid(FileName, InStrRev(FileName, ".") + 1)))
End If
If strFileExtName <> "jpg" And strFileExtName <> "gif" And strFileExtName <> "bmp" And strFileExtName <> "png" Then '文件不是可用图片则退出
Exit Function
End If
If IsNull(ThumbFileName) Then
Exit Function
ElseIf ThumbFileName = "" Then
Exit Function
End If
If IsNull(Width) Then
Width = 0
ElseIf Width = "" Then
Width = 0
End If
If IsNull(Rate) Then
Rate = 0
ElseIf Rate = "" Then
Rate = 0
End If
If IsNull(Height) Then
Height = 0
ElseIf Height = "" Then
Height = 0
End If
If InStr(FileName, ":") = 0 Then
FileName = Server.MapPath(FileName)
End If
If InStr(ThumbFileName, ":") = 0 Then
ThumbFileName = Server.MapPath(ThumbFileName)
End If
Width = CInt(Width)
Height = CInt(Height)
Rate = CSng(Rate)
Select Case CInt(KS.TbSetting(0))
Case 0
Exit Function
Case 1
If Not KS.IsObjInstalled("Persits.Jpeg") Then
Exit Function
End If
If KS.IsExpired("Persits.Jpeg") Then
Response.Write ("对不起,Persits.Jpeg组件已过期!")
Response.End
End If
Set objImage = Server.CreateObject("Persits.Jpeg")
objImage.Open FileName
If Rate = 0 And (Width <> 0 Or Height <> 0) Then
If Width < objImage.OriginalWidth And Height < objImage.OriginalHeight Then
If Width = 0 And Height <> 0 Then
objImage.Width = objImage.OriginalWidth / objImage.OriginalHeight * Height
objImage.Height = Height
ElseIf Width <> 0 And Height = 0 Then
objImage.Width = Width
objImage.Height = objImage.OriginalHeight / objImage.OriginalWidth * Width
ElseIf Width <> 0 And Height <> 0 Then
objImage.Width = Width
objImage.Height = Height
End If
End If
ElseIf Rate <> 0 Then
objImage.Width = objImage.OriginalWidth * Rate
objImage.Height = objImage.OriginalHeight * Rate
End If
objImage.Save ThumbFileName
Case 2
If Not KS.IsObjInstalled("wsImage.Resize") Then
Exit Function
End If
If KS.IsExpired("wsImage.Resize") Then
Response.Write ("对不起,wsImage.Resize组件已过期!")
Response.End
End If
If strFileExtName = "png" Then
Exit Function
End If
Set objImage = Server.CreateObject("wsImage.Resize")
objImage.LoadSoucePic CStr(FileName)
If Rate = 0 And (Width <> 0 Or Height <> 0) Then
objImage.GetSourceInfo iWidth, iHeight
If Width < iWidth And Height < iHeight Then
If Width = 0 And Height <> 0 Then
objImage.OutputSpic CStr(ThumbFileName), 0, Height, 2
ElseIf Width <> 0 And Height = 0 Then
objImage.OutputSpic CStr(ThumbFileName), Width, 0, 1
ElseIf Width <> 0 And Height <> 0 Then
objImage.OutputSpic CStr(ThumbFileName), Width, Height, 0
Else
objImage.OutputSpic CStr(ThumbFileName), 1, 1, 3
End If
Else
objImage.OutputSpic CStr(ThumbFileName), 1, 1, 3
End If
ElseIf Rate <> 0 Then
objImage.OutputSpic CStr(ThumbFileName), Rate, Rate, 3
Else
objImage.OutputSpic CStr(ThumbFileName), 1, 1, 3
End If
Case 3
If Not KS.IsObjInstalled("SoftArtisans.ImageGen") Then
Exit Function
End If
If KS.IsExpired("SoftArtisans.ImageGen") Then
Response.Write ("对不起,SoftArtisans.ImageGen组件已过期!")
Response.End
End If
Set objImage = Server.CreateObject("SoftArtisans.ImageGen")
objImage.LoadImage FileName
If Rate = 0 And (Width <> 0 Or Height <> 0) Then
If Width < objImage.Width And Height < objImage.Height Then
If Width = 0 And Height <> 0 Then
objImage.CreateThumb , CLng(Height), 0, True
ElseIf Width <> 0 And Height = 0 Then
objImage.CreateThumb CLng(Width), objImage.Height / objImage.Width * Width, 0, False
ElseIf Width <> 0 And Height <> 0 Then
objImage.CreateThumb CLng(Width), CLng(Height), 0, False
End If
End If
ElseIf Rate <> 0 Then
objImage.CreateThumb CLng(objImage.Width * Rate), CLng(objImage.Height * Rate), 0, False
End If
objImage.SaveImage 0, objImage.ImageFormat, ThumbFileName
Case 4
If Not KS.IsObjInstalled("CreatePreviewImage.cGvbox") Then
Exit Function
End If
Set objImage = Server.CreateObject("CreatePreviewImage.cGvbox")
objImage.SetImageFile = FileName
If Rate = 0 And (Width <> 0 Or Height <> 0) Then
objImage.SetPreviewImageSize = Width
ElseIf Rate <> 0 Then
objImage.SetPreviewImageSize = objImage.SetPreviewImageSize * Rate
End If
objImage.SetSavePreviewImagePath = ThumbFileName
If objImage.DoImageProcess = False Then
Exit Function
End If
End Select
CreateThumb = True
End Function
End Class
%>
<%
Class CtoECls
Private Sub Class_Initialize()
End Sub
Private Sub Class_Terminate()
End Sub
function CTOE(str)
Dim i
CTOE=""
for i=1 to len(str)
CTOE=CTOE&CETrans(asc(mid(str,i,1)))
next
end function
function CETrans(num)
Dim a,b,i,d
Set d = CreateObject("Scripting.Dictionary")
d.add "a",-20319
d.add "ai",-20317
d.add "an",-20304
d.add "ang",-20295
d.add "ao",-20292
d.add "ba",-20283
d.add "bai",-20265
d.add "ban",-20257
d.add "bang",-20242
d.add "bao",-20230
d.add "bei",-20051
d.add "ben",-20036
d.add "beng",-20032
d.add "bi",-20026
d.add "bian",-20002
d.add "biao",-19990
d.add "bie",-19986
d.add "bin",-19982
d.add "bing",-19976
d.add "bo",-19805
d.add "bu",-19784
d.add "ca",-19775
d.add "cai",-19774
d.add "can",-19763
d.add "cang",-19756
d.add "cao",-19751
d.add "ce",-19746
d.add "ceng",-19741
d.add "cha",-19739
d.add "chai",-19728
d.add "chan",-19725
d.add "chang",-19715
d.add "chao",-19540
d.add "che",-19531
d.add "chen",-19525
d.add "cheng",-19515
d.add "chi",-19500
d.add "chong",-19484
d.add "chou",-19479
d.add "chu",-19467
d.add "chuai",-19289
d.add "chuan",-19288
d.add "chuang",-19281
d.add "chui",-19275
d.add "chun",-19270
d.add "chuo",-19263
d.add "ci",-19261
d.add "cong",-19249
d.add "cou",-19243
d.add "cu",-19242
d.add "cuan",-19238
d.add "cui",-19235
d.add "cun",-19227
d.add "cuo",-19224
d.add "da",-19218
d.add "dai",-19212
d.add "dan",-19038
d.add "dang",-19023
d.add "dao",-19018
d.add "de",-19006
d.add "deng",-19003
d.add "di",-18996
d.add "dian",-18977
d.add "diao",-18961
d.add "die",-18952
d.add "ding",-18783
d.add "diu",-18774
d.add "dong",-18773
d.add "dou",-18763
d.add "du",-18756
d.add "duan",-18741
d.add "dui",-18735
d.add "dun",-18731
d.add "duo",-18722
d.add "e",-18710
d.add "en",-18697
d.add "er",-18696
d.add "fa",-18526
d.add "fan",-18518
d.add "fang",-18501
d.add "fei",-18490
d.add "fen",-18478
d.add "feng",-18463
d.add "fo",-18448
d.add "fou",-18447
d.add "fu",-18446
d.add "ga",-18239
d.add "gai",-18237
d.add "gan",-18231
d.add "gang",-18220
d.add "gao",-18211
d.add "ge",-18201
d.add "gei",-18184
d.add "gen",-18183
d.add "geng",-18181
d.add "gong",-18012
d.add "gou",-17997
d.add "gu",-17988
d.add "gua",-17970
d.add "guai",-17964
d.add "guan",-17961
d.add "guang",-17950
d.add "gui",-17947
d.add "gun",-17931
d.add "guo",-17928
d.add "ha",-17922
d.add "hai",-17759
d.add "han",-17752
d.add "hang",-17733
d.add "hao",-17730
d.add "he",-17721
d.add "hei",-17703
d.add "hen",-17701
d.add "heng",-17697
d.add "hong",-17692
d.add "hou",-17683
d.add "hu",-17676
d.add "hua",-17496
d.add "huai",-17487
d.add "huan",-17482
d.add "huang",-17468
d.add "hui",-17454
d.add "hun",-17433
d.add "huo",-17427
d.add "ji",-17417
d.add "jia",-17202
d.add "jian",-17185
d.add "jiang",-16983
d.add "jiao",-16970
d.add "jie",-16942
d.add "jin",-16915
d.add "jing",-16733
d.add "jiong",-16708
d.add "jiu",-16706
d.add "ju",-16689
d.add "juan",-16664
d.add "jue",-16657
d.add "jun",-16647
d.add "ka",-16474
d.add "kai",-16470
d.add "kan",-16465
d.add "kang",-16459
d.add "kao",-16452
d.add "ke",-16448
d.add "ken",-16433
d.add "keng",-16429
d.add "kong",-16427
d.add "kou",-16423
d.add "ku",-16419
d.add "kua",-16412
d.add "kuai",-16407
d.add "kuan",-16403
d.add "kuang",-16401
d.add "kui",-16393
d.add "kun",-16220
d.add "kuo",-16216
d.add "la",-16212
d.add "lai",-16205
d.add "lan",-16202
d.add "lang",-16187
d.add "lao",-16180
d.add "le",-16171
d.add "lei",-16169
d.add "leng",-16158
d.add "li",-16155
d.add "lia",-15959
d.add "lian",-15958
d.add "liang",-15944
d.add "liao",-15933
d.add "lie",-15920
d.add "lin",-15915
d.add "ling",-15903
d.add "liu",-15889
d.add "long",-15878
d.add "lou",-15707
d.add "lu",-15701
d.add "lv",-15681
d.add "luan",-15667
d.add "lue",-15661
d.add "lun",-15659
d.add "luo",-15652
d.add "ma",-15640
d.add "mai",-15631
d.add "man",-15625
d.add "mang",-15454
d.add "mao",-15448
d.add "me",-15436
d.add "mei",-15435
d.add "men",-15419
d.add "meng",-15416
d.add "mi",-15408
d.add "mian",-15394
d.add "miao",-15385
d.add "mie",-15377
d.add "min",-15375
d.add "ming",-15369
d.add "miu",-15363
d.add "mo",-15362
d.add "mou",-15183
d.add "mu",-15180
d.add "na",-15165
d.add "nai",-15158
d.add "nan",-15153
d.add "nang",-15150
d.add "nao",-15149
d.add "ne",-15144
d.add "nei",-15143
d.add "nen",-15141
d.add "neng",-15140
d.add "ni",-15139
d.add "nian",-15128
d.add "niang",-15121
d.add "niao",-15119
d.add "nie",-15117
d.add "nin",-15110
d.add "ning",-15109
d.add "niu",-14941
d.add "nong",-14937
d.add "nu",-14933
d.add "nv",-14930
d.add "nuan",-14929
d.add "nue",-14928
d.add "nuo",-14926
d.add "o",-14922
d.add "ou",-14921
d.add "pa",-14914
d.add "pai",-14908
d.add "pan",-14902
d.add "pang",-14894
d.add "pao",-14889
d.add "pei",-14882
d.add "pen",-14873
d.add "peng",-14871
d.add "pi",-14857
d.add "pian",-14678
d.add "piao",-14674
d.add "pie",-14670
d.add "pin",-14668
d.add "ping",-14663
d.add "po",-14654
d.add "pu",-14645
d.add "qi",-14630
d.add "qia",-14594
d.add "qian",-14429
d.add "qiang",-14407
d.add "qiao",-14399
d.add "qie",-14384
d.add "qin",-14379
d.add "qing",-14368
d.add "qiong",-14355
d.add "qiu",-14353
d.add "qu",-14345
d.add "quan",-14170
d.add "que",-14159
d.add "qun",-14151
d.add "ran",-14149
d.add "rang",-14145
d.add "rao",-14140
d.add "re",-14137
d.add "ren",-14135
d.add "reng",-14125
d.add "ri",-14123
d.add "rong",-14122
d.add "rou",-14112
d.add "ru",-14109
d.add "ruan",-14099
d.add "rui",-14097
d.add "run",-14094
d.add "ruo",-14092
d.add "sa",-14090
d.add "sai",-14087
d.add "san",-14083
d.add "sang",-13917
d.add "sao",-13914
d.add "se",-13910
d.add "sen",-13907
d.add "seng",-13906
d.add "sha",-13905
d.add "shai",-13896
d.add "shan",-13894
d.add "shang",-13878
d.add "shao",-13870
d.add "she",-13859
d.add "shen",-13847
d.add "sheng",-13831
d.add "shi",-13658
d.add "shou",-13611
d.add "shu",-13601
d.add "shua",-13406
d.add "shuai",-13404
d.add "shuan",-13400
d.add "shuang",-13398
d.add "shui",-13395
d.add "shun",-13391
d.add "shuo",-13387
d.add "si",-13383
d.add "song",-13367
d.add "sou",-13359
d.add "su",-13356
d.add "suan",-13343
d.add "sui",-13340
d.add "sun",-13329
d.add "suo",-13326
d.add "ta",-13318
d.add "tai",-13147
d.add "tan",-13138
d.add "tang",-13120
d.add "tao",-13107
d.add "te",-13096
d.add "teng",-13095
d.add "ti",-13091
d.add "tian",-13076
d.add "tiao",-13068
d.add "tie",-13063
d.add "ting",-13060
d.add "tong",-12888
d.add "tou",-12875
d.add "tu",-12871
d.add "tuan",-12860
d.add "tui",-12858
d.add "tun",-12852
d.add "tuo",-12849
d.add "wa",-12838
d.add "wai",-12831
d.add "wan",-12829
d.add "wang",-12812
d.add "wei",-12802
d.add "wen",-12607
d.add "weng",-12597
d.add "wo",-12594
d.add "wu",-12585
d.add "xi",-12556
d.add "xia",-12359
d.add "xian",-12346
d.add "xiang",-12320
d.add "xiao",-12300
d.add "xie",-12120
d.add "xin",-12099
d.add "xing",-12089
d.add "xiong",-12074
d.add "xiu",-12067
d.add "xu",-12058
d.add "xuan",-12039
d.add "xue",-11867
d.add "xun",-11861
d.add "ya",-11847
d.add "yan",-11831
d.add "yang",-11798
d.add "yao",-11781
d.add "ye",-11604
d.add "yi",-11589
d.add "yin",-11536
d.add "ying",-11358
d.add "yo",-11340
d.add "yong",-11339
d.add "you",-11324
d.add "yu",-11303
d.add "yuan",-11097
d.add "yue",-11077
d.add "yun",-11067
d.add "za",-11055
d.add "zai",-11052
d.add "zan",-11045
d.add "zang",-11041
d.add "zao",-11038
d.add "ze",-11024
d.add "zei",-11020
d.add "zen",-11019
d.add "zeng",-11018
d.add "zha",-11014
d.add "zhai",-10838
d.add "zhan",-10832
d.add "zhang",-10815
d.add "zhao",-10800
d.add "zhe",-10790
d.add "zhen",-10780
d.add "zheng",-10764
d.add "zhi",-10587
d.add "zhong",-10544
d.add "zhou",-10533
d.add "zhu",-10519
d.add "zhua",-10331
d.add "zhuai",-10329
d.add "zhuan",-10328
d.add "zhuang",-10322
d.add "zhui",-10315
d.add "zhun",-10309
d.add "zhuo",-10307
d.add "zi",-10296
d.add "zong",-10281
d.add "zou",-10274
d.add "zu",-10270
d.add "zuan",-10262
d.add "zui",-10260
d.add "zun",-10256
d.add "zuo",-10254
if num>0 and num<160 then
CETrans=chr(num)
else
if num<-20319 or num>-10247 then
CETrans=""
else
a=d.Items
b=d.keys
for i=d.count-1 to 0 step -1
if a(i)<=num then exit for
next
CETrans=b(i)
end if
end if
end function
End Class
%>
<%
Class PublicCls
Private LocalCacheName,Cache_Data,CacheData,Reloadtime
Public SiteSN,Version
Public Setting,TbSetting,SSetting
Private Sub Class_Initialize()
if Not Response.IsClientConnected then response.End()
Call KSInitialize
End Sub
Private Sub Class_Terminate()
End Sub
'*******************************************************************************************************************
'函数名:KSInitialize
'作 用: 加载CMS的必要参数
'备 注:以下参数请不要更改。否则系统可能无法正常运行
'*******************************************************************************************************************
Public Function KSInitialize()
Call GetConfig()
Setting=Split(CacheData(0,0),"^%^")
TbSetting=Split(CacheData(1,0),"^%^")
SSetting=Split(CacheData(2,0),"^%^")
SiteSN = Replace(Replace(LCase(Request.ServerVariables("SERVER_NAME")), "/", ""), ".", "") '--缓存名称
Reloadtime = 28800
Version = "ks4.5"
Call IsIPlock() 'IP访问限制
End Function
'===================服务器缓存部分函数开始===================
Public Property Let Name(ByVal vNewValue)
LocalCacheName = LCase(vNewValue)
Cache_Data = Application(SiteSN & "_" & LocalCacheName)
End Property
Public Property Let Value(ByVal vNewValue)
If LocalCacheName <> "" Then
ReDim Cache_Data(2)
Cache_Data(0) = vNewValue
Cache_Data(1) = Now()
Application.Lock
Application(SiteSN & "_" & LocalCacheName) = Cache_Data
Application.UnLock
Else
Err.Raise vbObjectError + 1, "KesionCacheServer", " please change the CacheName."
End If
End Property
Public Property Get Value()
If LocalCacheName <> "" Then
If IsArray(Cache_Data) Then
Value = Cache_Data(0)
Else
'Err.Raise vbObjectError + 1, "KesionCacheServer", " The Cache_Data("&LocalCacheName&") Is Empty."
End If
Else
Err.Raise vbObjectError + 1, "KesionCacheServer", " please change the CacheName."
End If
End Property
Public Function ObjIsEmpty()
ObjIsEmpty = True
If Not IsArray(Cache_Data) Then Exit Function
If Not IsDate(Cache_Data(1)) Then Exit Function
If DateDiff("s", CDate(Cache_Data(1)), Now()) < (60 * Reloadtime) Then ObjIsEmpty = False
End Function
'不提示,批量清除缓存,参数 PreCacheName-前段匹配
Public Sub DelCaches(PreCacheName)
Dim i
Dim CacheList:CacheList=split(GetCacheList(PreCacheName),",")
If UBound(CacheList)>1 Then
For i=0 to UBound(CacheList)-1
DelCahe CacheList(i)
Next
End IF
End Sub
'取得缓存列表 参数 PreCacheName-前段匹配
Public Function GetCacheList(PreCacheName)
Dim Cacheobj
For Each Cacheobj in Application.Contents
If CStr(Left(Cacheobj,Len(PreCacheName)))=CStr(PreCacheName) Then GetCacheList=GetCacheList&Cacheobj&","
Next
End Function
'清除缓存,参数 MyCaheName-缓存名称
Public Sub DelCahe(MyCaheName)
Application.Lock
Application.Contents.Remove(MyCaheName)
Application.unLock
End Sub
'===================服务器缓存部分函数结束===================
Public Sub GetSetting()
Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open "SELECT Setting,TbSetting,SpaceSetting from [KS_Config]",conn,1,1
value=RS.GetRows(1)
RS.Close:Set RS=Nothing
End Sub
Public Sub GetConfig()
Name = "Config"
If ObjIsEmpty() Then GetSetting
CacheData = Value
Name = "Date"
If ObjIsEmpty() Then
Value = Date
Else
If CStr(Value) <> CStr(Date) Then
Name = "Config"
Call GetSetting
CacheData = Value
End If
End If
If Len(CacheData(1, 0)) = 0 Then
Name = "Config"
Call GetSetting
CacheData = Value
End If
End Sub
'xmlroot跟节点名称 row记录行节点名称
Public Function RecordsetToxml(RSObj,row,xmlroot)
Dim i,node,rs,j,DataArray
If xmlroot="" Then xmlroot="xml"
If row="" Then row="row"
Set RecordsetToxml=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
RecordsetToxml.appendChild(RecordsetToxml.createElement(xmlroot))
If Not RSObj.EOF Then
DataArray=RSObj.GetRows(-1)
For i=0 To UBound(DataArray,2)
Set Node=RecordsetToxml.createNode(1,row,"")
j=0
For Each rs in RSObj.Fields
node.attributes.setNamedItem(RecordsetToxml.createNode(2,"ks"&j,"")).text= DataArray(j,i)& ""
j=j+1
Next
RecordsetToxml.documentElement.appendChild(Node)
Next
End If
DataArray=Null
End Function
Public Function LoadChannelConfig()
Application.Lock
Dim RS:Set Rs=conn.execute("select ChannelID,ChannelName,ChannelTable,ItemName,ItemUnit,FieldBit,BasicType,FsoHtmlTF,FsoFolder,RefreshFlag,ModelEname,MaxPerPage,VerificCommentTF,CommentVF,CommentLen,CommentTemplate,UserSelectFilesTF,InfoVerificTF,UserAddMoney,UserAddPoint,UserAddScore,ChannelStatus,CollectTF,UpFilesTF,UpFilesDir,UpFilesSize,UserUpFilesTF,UserUpFilesDir,AllowUpPhotoType,AllowUpFlashType,AllowUpMediaType,AllowUpRealType,AllowUpOtherType,SearchTemplate,EditorType From KS_Channel Order by ChannelID")
Set Application(SiteSN&"_ChannelConfig")=RecordsetToxml(rs,"channel","ChannelConfig")
Set Rs=Nothing
Application.unLock
End Function
Function C_S(sChannelID,FieldID)
on error resume next
If not IsObject(Application(SiteSN&"_ChannelConfig")) Then LoadChannelConfig()
C_S=Application(SiteSN&"_ChannelConfig").documentElement.selectSingleNode("channel[@ks0=" & sChannelID & "]/@ks" & FieldID & "").text
if err then C_S=0:err.Clear
End Function
Public Function LoadClassConfig()
Application.Lock
Dim RS:Set Rs=conn.execute("select ID,FolderName,Folder,ClassPurview,FolderDomain,TemplateID,ClassBasicInfo,ClassDefineContent,TS From KS_Class Order by ClassID")
Set Application(SiteSN&"_class")=RecordsetToxml(rs,"class","classConfig")
Set Rs=Nothing
Application.unLock
End Function
Function C_C(ClassID,FieldID)
on error resume next
If not IsObject(Application(SiteSN&"_class")) Then LoadClassConfig()
C_C=Application(SiteSN&"_class").documentElement.selectSingleNode("class[@ks0=" & classID & "]/@ks" & FieldID & "").text
End Function
'**************************************************
'函数名:LoadSelectClass
'作 用:返回目录树。
'参 数:ChannelID-----返回频道目录树
'返回值:整棵树
'**************************************************
Public Function LoadSelectClass(ChannelID)
On Error resume next
Dim Node,K,SQL
If Not IsNumeric(ChannelID) Then Exit Function
If Not IsObject(Application(SiteSN&"_selectclass")) Then
Set Application(SiteSN&"_selectclass")=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
Application(SiteSN&"_selectclass").appendChild( Application(SiteSN&"_selectclass").createElement("xml"))
Dim RSC:Set RSC=Conn.Execute("Select ChannelID From KS_Channel Where ChannelStatus=1 order by channelid")
Do While Not RSC.Eof
Dim ID,RS,TreeStr
Set RS=Conn.Execute("select ID,FolderName from KS_Class Where ChannelID=" & rsc(0) & " AND tj=1 Order BY FolderOrder ASC")
If Not RS.Eof Then
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
For K=0 To Ubound(SQL,2)
ID=trim(SQL(0,K))
TreeStr = TreeStr & "" & Trim(SQL(1,K)) & " "
TreeStr = TreeStr & ReturnSubList("TN='" & ID & "'")
Next
Set Node=Application(SiteSN&"_selectclass").documentElement.appendChild(Application(SiteSN&"_selectclass").createNode(1,"selectclass",""))
Node.attributes.setNamedItem(Application(SiteSN&"_selectclass").createNode(2,"channelid","")).text=rsc(0)
Node.text=TreeStr
TreeStr=""
End If
RSC.MoveNext
Loop
RSC.Close:Set RSC=Nothing
End If
LoadSelectClass=Application(SiteSN&"_selectclass").documentElement.selectSingleNode("selectclass[@channelid=" & ChannelID & "]").text
End Function
'**************************************************
'函数名:ReturnSubList
'作 用:查找并返子树数据。
'参 数:ParentID ----父节点ID
'返回值:子树
'**************************************************
Public Function ReturnSubList(Param)
Dim SubTypeList, RS, SpaceStr, k, Total, Num,ID,TJ,SQL,n
Set RS=Conn.Execute("Select ID,FolderName,TJ from KS_Class Where " & Param & " Order BY FolderOrder ASC")
Num = 0
If RS.Eof Then ReturnSubList="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):Total=Ubound(SQL,2)
For n=0 To Total
Num = Num + 1:SpaceStr = "":TJ = CInt(SQL(2,N))
For k = 1 To TJ - 1
If k = 1 And k <> TJ - 1 Then
SpaceStr = SpaceStr & " │"
ElseIf k = TJ - 1 Then
If Num = Total+1 Then
SpaceStr = SpaceStr & " └ "
Else
SpaceStr = SpaceStr & " ├ "
End If
Else
SpaceStr = SpaceStr & " │"
End If
Next
ID = Trim(SQL(0,N))
SubTypeList = SubTypeList & "" & SpaceStr & Trim(SQL(1,N)) & " "
SubTypeList = SubTypeList & ReturnSubList("TN='" & ID & "'")
Next
ReturnSubList = SubTypeList
End Function
Sub IsIPlock()
On Error Resume Next
If Setting(100)=0 Then Exit Sub
If session("KS_IPlock") = "" Then
session("KS_IPlock") = CheckIPlock(Setting(100), Setting(101), GetIP)
End If
If session("KS_IPlock") = True Then
Response.Write "对不起!您的IP(" &GetIP & ")被系统限定。您可以和站长联系。"
Response.End
End If
End Sub
Function EncodeIP(Sip)
Dim strIP:strIP = Split(Sip, ".")
If UBound(strIP) < 3 Then
EncodeIP = 0:Exit Function
End If
If IsNumeric(strIP(0)) = 0 Or IsNumeric(strIP(1)) = 0 Or IsNumeric(strIP(2)) = 0 Or IsNumeric(strIP(3)) = 0 Then
Sip = 0
Else
Sip = CInt(strIP(0)) * 256 * 256 * 256 + CInt(strIP(1)) * 256 * 256 + CInt(strIP(2)) * 256 + CInt(strIP(3)) - 1
End If
EncodeIP = Sip
End Function
Function CStrIP(ByVal anNewIP)
Dim lsResults ' Results To be returned
Dim lnTemp ' Temporary value being parsed
Dim lnIndex ' Position of number being parsed
For lnIndex = 3 To 0 Step-1
lnTemp = Int(anNewIP / (256 ^ lnIndex))
lsResults = lsResults & lnTemp & "."
anNewIP = anNewIP - (lnTemp * (256 ^ lnIndex))
Next
lsResults = Left(lsResults, Len(lsResults) - 1)
lsResults=Split(lsResults,".")
Dim IPStr,i:For I=0 To Ubound(lsResults)
if i=3 then
IPStr=IPStr & "." &lsResults(3)+1
elseif i=0 then
IPStr=lsResults(0)
else
IPStr=IPStr & "." & lsResults(i)
end if
Next
CStrIP = IPStr
End Function
'白名单的端点可以访问和黑名单的端点将不允许访问。
Function ChecKIPlock(ByVal sLockType, ByVal sLockList, ByVal sUserIP)
Dim IPlock, rsLockIP
Dim arrLockIPW, arrLockIPB, arrLockIPWCut, arrLockIPBCut
IPlock = False
ChecKIPlock = IPlock
Dim i, sKillIP
If sLockType = "" Or IsNull(sLockType) Then Exit Function
If sLockList = "" Or IsNull(sLockList) Then Exit Function
If sUserIP = "" Or IsNull(sUserIP) Then Exit Function
sUserIP = CDbl(EncodeIP(sUserIP))
rsLockIP = Split(sLockList, "|||")
If sLockType = 4 Then
arrLockIPB = Split(Trim(rsLockIP(1)), "$$$")
For i = 0 To UBound(arrLockIPB)
If arrLockIPB(i) <> "" Then
arrLockIPBCut = Split(Trim(arrLockIPB(i)), "----")
IPlock = True
If CDbl(arrLockIPBCut(0)) > sUserIP Or sUserIP > CDbl(arrLockIPBCut(1)) Then IPlock = False
If IPlock Then Exit For
End If
Next
If IPlock = True Then
arrLockIPW = Split(Trim(rsLockIP(0)), "$$$")
For i = 0 To UBound(arrLockIPW)
If arrLockIPW(i) <> "" Then
arrLockIPWCut = Split(Trim(arrLockIPW(i)), "----")
IPlock = True
If CDbl(arrLockIPWCut(0)) <= sUserIP And sUserIP <= CDbl(arrLockIPWCut(1)) Then IPlock = False
If IPlock Then Exit For
End If
Next
End If
Else
If sLockType = 1 Or sLockType = 3 Then
arrLockIPW = Split(Trim(rsLockIP(0)), "$$$")
For i = 0 To UBound(arrLockIPW)
If arrLockIPW(i) <> "" Then
arrLockIPWCut = Split(Trim(arrLockIPW(i)), "----")
IPlock = True
If CDbl(arrLockIPWCut(0)) <= sUserIP And sUserIP <= CDbl(arrLockIPWCut(1)) Then IPlock = False
If IPlock Then Exit For
End If
Next
End If
If IPlock = False And (sLockType = 2 Or sLockType = 3) Then
arrLockIPB = Split(Trim(rsLockIP(1)), "$$$")
For i = 0 To UBound(arrLockIPB)
If arrLockIPB(i) <> "" Then
arrLockIPBCut = Split(Trim(arrLockIPB(i)), "----")
IPlock = True
If CDbl(arrLockIPBCut(0)) > sUserIP Or sUserIP > CDbl(arrLockIPBCut(1)) Then IPlock = False
If IPlock Then Exit For
End If
Next
End If
End If
ChecKIPlock = IPlock
End Function
Public Function Conn()
On Error Resume Next
Dim ConnObj:Set ConnObj=Server.CreateObject("ADODB.Connection")
ConnObj.Open ConnStr
Set Conn = ConnObj
End Function
'采集数据库连接
Public Function ConnItem()
Dim ConnObj:Set ConnObj=Server.CreateObject("ADODB.Connection")
ConnObj.Open CollcetConnStr
Set ConnItem = ConnObj
End Function
'***************************************************************************************************************
'函数名:GetDomain
'作 用:获取URL,包括虚拟目录 如http://www.sykv.com/ 或 http://www.sykv.com/Sys/ 其中 Sys/为虚拟目录
'参 数: 无
'返回值:完整域名
'***************************************************************************************************************
Public Function GetDomain()
GetDomain = Trim(Setting(2) & Setting(3))
End Function
'**************************************************
'函数名:GetChannelDomain
'作 用:获取包含频道的完整Url
'参 数:ChannelID频道ID
'返回值:完整域名
'**************************************************
Public Function GetChannelDomain(ChannelID)
GetChannelDomain=C_S(ChannelID,8)
If Left(GetChannelDomain, 1) = "/" Then GetChannelDomain = Right(GetChannelDomain, Len(GetChannelDomain) - 1)
GetChannelDomain = GetDomain() & GetChannelDomain
End Function
'**************************************************
'函数名:GetAutoDoMain()
'作 用:取得当前服务器IP 如:http://127.0.0.1
'参 数:无
'**************************************************
Public Function GetAutoDomain()
Dim TempPath
If Request.ServerVariables("SERVER_PORT") = "80" Then
GetAutoDomain = Request.ServerVariables("SERVER_NAME")
Else
GetAutoDomain = Request.ServerVariables("SERVER_NAME") & ":" & Request.ServerVariables("SERVER_PORT")
End If
If Instr(UCASE(GetAutoDomain),"/W3SVC")<>0 Then
GetAutoDomain=Left(GetAutoDomain,Instr(GetAutoDomain,"/W3SVC"))
End If
GetAutoDomain = "http://" & GetAutoDomain
End Function
Function CutFixContent(ByVal str, ByVal start, ByVal last, ByVal n)
Dim strTemp
On Error Resume Next
If InStr(str, start) > 0 Then
Select Case n
Case 0 '左右都截取(都取前面)(去处关键字)
strTemp = Right(str, Len(str) - InStr(str, start) - Len(start) + 1)
strTemp = Left(strTemp, InStr(strTemp, last) - 1)
Case Else '左右都截取(都取前面)(保留关键字)
strTemp = Right(str, Len(str) - InStr(str, start) + 1)
strTemp = Left(strTemp, InStr(strTemp, last) + Len(last) - 1)
End Select
Else
strTemp = ""
End If
CutFixContent = strTemp
End Function
'*************************************************************************
'函数名:gotTopic
'作 用:截字符串,汉字一个算两个字符,英文算一个字符
'参 数:str ----原字符串
' strlen ----截取长度
'返回值:截取后的字符串
'*************************************************************************
Public Function GotTopic(ByVal Str, ByVal strlen)
If Str = "" OR IsNull(Str) Then GotTopic = "":Exit Function
If strlen=0 Then GotTopic=Str:Exit Function
Dim l, T, c, I, strTemp
Str = Replace(Replace(Replace(Replace(Str, " ", " "), """, Chr(34)), ">", ">"), "<", "<")
l = Len(Str)
T = 0
strTemp = Str
strlen = CLng(strlen)
For I = 1 To l
c = Abs(Asc(Mid(Str, I, 1)))
If c > 255 Then
T = T + 2
Else
T = T + 1
End If
If T >= strlen Then
strTemp = Left(Str, I)
Exit For
End If
Next
If strTemp <> Str Then strTemp = strTemp
GotTopic = Replace(Replace(Replace(Replace(strTemp, " ", " "), Chr(34), """), ">", ">"), "<", "<")
End Function
'**************************************************
'函数名:ListTitle
'作 用:取标题
'参 数:TitleStr 标题, TitleNum 取字符数
'返回值:将标题分解成两行
'**************************************************
Public Function ListTitle(TitleStr, TitleNum)
Dim LeftStr, RightStr
ListTitle = Trim(GotTopic(Trim(TitleStr), TitleNum))
If Len(ListTitle) > CInt(TitleNum / 2) Then
LeftStr = GotTopic(ListTitle, CInt(TitleNum / 2))
RightStr = Mid(ListTitle, Len(LeftStr) + 1)
ListTitle = LeftStr & " " & RightStr
End If
End Function
Function ListTitle1(TitleStr, TitleNum)
Dim ClsTitleStr, ClsTitleNum, I, J, ClsTempNum, k, ClsTitleStrResult, LeftStr, RightStr
ClsTitleNum = CInt(TitleNum)
ClsTempNum = Len(CStr(TitleStr))
If ClsTitleNum > ClsTempNum Then
ClsTitleNum = ClsTempNum
End If
ClsTitleStr = Left(CStr(TitleStr), ClsTitleNum)
Dim TempStr
For I = 1 To ClsTitleNum - 1
TempStr = TempStr & Mid(ClsTitleStr, I, 1) & " "
Next
TempStr = TempStr & Right(ClsTitleStr, 1)
ListTitle1 = TempStr
End Function
'**************************************************
'函数名:GetIP
'作 用:取得正确的IP
'返回值:IP字符串
'**************************************************
Public Function GetIP()
Dim strIPAddr
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" Or InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
strIPAddr = Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
getIP = Checkstr(Trim(Mid(strIPAddr, 1, 30)))
End Function
Public Function Checkstr(Str)
If Isnull(Str) Then
CheckStr = ""
Exit Function
End If
Str = Replace(Str,Chr(0),"")
CheckStr = Replace(Str,"'","''")
End Function
'================================================
'函数名:URLDecode
'作 用:URL解码
'================================================
Function URLDecode(ByVal urlcode)
Dim start,final,length,char,i,butf8,pass
Dim leftstr,rightstr,finalstr
Dim b0,b1,bx,blength,position,u,utf8
On Error Resume Next
b0 = Array(192,224,240,248,252,254)
urlcode = Replace(urlcode,"+"," ")
pass = 0
utf8 = -1
length = Len(urlcode) : start = InStr(urlcode,"%") : final = InStrRev(urlcode,"%")
If start = 0 Or length < 3 Then URLDecode = urlcode : Exit Function
leftstr = Left(urlcode,start - 1) : rightstr = Right(urlcode,length - 2 - final)
For i = start To final
char = Mid(urlcode,i,1)
If char = "%" Then
bx = URLDecode_Hex(Mid(urlcode,i + 1,2))
If bx > 31 And bx < 128 Then
i = i + 2
finalstr = finalstr & ChrW(bx)
ElseIf bx > 127 Then
i = i + 2
If utf8 < 0 Then
butf8 = 1 : blength = -1 : b1 = bx
For position = 4 To 0 Step -1
If b1 >= b0(position) And b1 < b0(position + 1) Then
blength = position
Exit For
End If
Next
If blength > -1 Then
For position = 0 To blength
b1 = URLDecode_Hex(Mid(urlcode,i + position * 3 + 2,2))
If b1 < 128 Or b1 > 191 Then butf8 = 0 : Exit For
Next
Else
butf8 = 0
End If
If butf8 = 1 And blength = 0 Then butf8 = -2
If butf8 > -1 And utf8 = -2 Then i = start - 1 : finalstr = "" : pass = 1
utf8 = butf8
End If
If pass = 0 Then
If utf8 = 1 Then
b1 = bx : u = 0 : blength = -1
For position = 4 To 0 Step -1
If b1 >= b0(position) And b1 < b0(position + 1) Then
blength = position
b1 = (b1 xOr b0(position)) * 64 ^ (position + 1)
Exit For
End If
Next
If blength > -1 Then
For position = 0 To blength
bx = URLDecode_Hex(Mid(urlcode,i + 2,2)) : i = i + 3
If bx < 128 Or bx > 191 Then u = 0 : Exit For
u = u + (bx And 63) * 64 ^ (blength - position)
Next
If u > 0 Then finalstr = finalstr & ChrW(b1 + u)
End If
Else
b1 = bx * &h100 : u = 0
bx = URLDecode_Hex(Mid(urlcode,i + 2,2))
If bx > 0 Then
u = b1 + bx
i = i + 3
Else
If Left(urlcode,1) = "%" Then
u = b1 + Asc(Mid(urlcode,i + 3,1))
i = i + 2
Else
u = b1 + Asc(Mid(urlcode,i + 1,1))
i = i + 1
End If
End If
finalstr = finalstr & Chr(u)
End If
Else
pass = 0
End If
End If
Else
finalstr = finalstr & char
End If
Next
URLDecode = leftstr & finalstr & rightstr
End Function
Function URLDecode_Hex(ByVal h)
On Error Resume Next
h = "&h" & Trim(h) : URLDecode_Hex = -1
If Len(h) <> 4 Then Exit Function
If isNumeric(h) Then URLDecode_Hex = cInt(h)
End Function
'**************************************************
'函数名:R
'作 用:过滤非法的SQL字符
'参 数:strChar-----要过滤的字符
'返回值:过滤后的字符
'**************************************************
Public Function R(strChar)
If strChar = "" Or IsNull(strChar) Then R = "":Exit Function
Dim strBadChar, arrBadChar, tempChar, I
'strBadChar = "$,#,',%,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & "," & Chr(0) & ""
strBadChar = "+,',--,%,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & "," & Chr(0) & ""
arrBadChar = Split(strBadChar, ",")
tempChar = strChar
For I = 0 To UBound(arrBadChar)
tempChar = Replace(tempChar, arrBadChar(I), "")
Next
tempChar = Replace(tempChar, "@@", "@")
R = tempChar
End Function
Function FilterIDs(byval strIDs)
Dim arrIDs,i,strReturn
strIDs=Trim(strIDs)
If Len(strIDs)=0 Then Exit Function
arrIDs=Split(strIDs,",")
For i=0 To Ubound(arrIds)
If ChkClng(Trim(arrIDs(i)))<>0 Then
strReturn=strReturn & "," & Int(arrIDs(i))
End If
Next
If Left(strReturn,1)="," Then strReturn=Right(strReturn,Len(strReturn)-1)
FilterIDs=strReturn
End Function
'********************************************
'函数名:IsValidEmail
'作 用:检查Email地址合法性
'参 数:email ----要检查的Email地址
'返回值:True ----Email地址合法
' False ----Email地址不合法
'********************************************
Public Function IsValidEmail(Email)
Dim names, name, I, c
IsValidEmail = True
names = Split(Email, "@")
If UBound(names) <> 1 Then IsValidEmail = False: Exit Function
For Each name In names
If Len(name) <= 0 Then IsValidEmail = False:Exit Function
For I = 1 To Len(name)
c = LCase(Mid(name, I, 1))
If InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 And Not IsNumeric(c) Then IsValidEmail = False:Exit Function
Next
If Left(name, 1) = "." Or Right(name, 1) = "." Then IsValidEmail = False:Exit Function
Next
If InStr(names(1), ".") <= 0 Then IsValidEmail = False:Exit Function
I = Len(names(1)) - InStrRev(names(1), ".")
If I <> 2 And I <> 3 Then IsValidEmail = False:Exit Function
If InStr(Email, "..") > 0 Then IsValidEmail = False
End Function
'**************************************************
'函数名:strLength
'作 用:求字符串长度。汉字算两个字符,英文算一个字符。
'参 数:str ----要求长度的字符串
'返回值:字符串长度
'**************************************************
Public Function strLength(Str)
On Error Resume Next
Dim WINNT_CHINESE:WINNT_CHINESE = (Len("中国") = 2)
If WINNT_CHINESE Then
Dim l, T, c,I
l = Len(Str)
T = l
For I = 1 To l
c = Asc(Mid(Str, I, 1))
If c < 0 Then c = c + 65536
If c > 255 Then
T = T + 1
End If
Next
strLength = T
Else
strLength = Len(Str)
End If
If Err.Number <> 0 Then Err.Clear
End Function
'**************************************************
'函数名: GetFolderPath
'功 能:取得目录Url
'参 数: FolderID目录的ID
'**************************************************
Public Function GetFolderPath(FolderID)
on error resume next
If Not IsObject(Application(SiteSN&"_classpath")) Then
Dim Folder,ClassPurview,ChannelFsoHtmlTF,Node,K,SQL,RS
Set Application(SiteSN&"_classpath")=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
Application(SiteSN&"_classpath").appendChild( Application(SiteSN&"_classpath").createElement("xml"))
Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open "Select C.ClassID,C.ChannelID,TN,Folder,FolderDomain,ClassPurview,FsoHtmlTF,ModelEName,C.ID From KS_Class C inner join KS_Channel M On C.ChannelID=M.ChannelID Order BY FolderOrder", Conn, 1, 1
If RS.Eof And RS.Bof Then RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS=Nothing
For K=0 To Ubound(SQL,2)
ClassPurview=SQL(5,K)
ChannelFsoHtmlTF=SQL(6,K)
If Trim(SQL(4,K)) <> "" And SQL(2,K) = "0" Then
IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
GetFolderPath= GetChannelNoHtmlUrl(SQL(7,K),SQL(0,K))
Else
GetFolderPath=Trim(SQL(4,K))
End If
ElseIf Trim(SQL(4,K)) <> "" Then
Folder = Trim(SQL(3,K))
Folder = Right(Mid(Folder, InStr(Folder, "/")), Len(Mid(Folder, InStr(Folder, "/"))) - 1)
IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
GetFolderPath= Trim(SQL(4,K)) & GetChannelNoHtmlUrl(SQL(7,K),SQL(0,K))
Else
GetFolderPath= Trim(SQL(4,K)) & Folder
End If
Else
IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
GetFolderPath= GetChannelNoHtmlUrl(SQL(7,K),SQL(0,K))
Else
GetFolderPath= GetChannelDomain(SQL(1,K)) & SQL(3,K)
End If
End If
Set Node=Application(SiteSN&"_classpath").documentElement.appendChild(Application(SiteSN&"_classpath").createNode(1,"classpath",""))
Node.attributes.setNamedItem(Application(SiteSN&"_classpath").createNode(2,"classid","")).text=SQL(8,K)
Node.text=GetFolderPath
Next
End If
GetFolderPath=Application(SiteSN&"_classpath").documentElement.selectSingleNode("classpath[@classid=" & FolderID & "]").text
End Function
'************************************************************************
'函数名: GetClassNP
'功 能: 取得目录名称并加上链接
'参 数: FolderID目录的ID
'*************************************************************************
Function GetClassNP(FolderID)
on error resume next
If Not IsObject(Application(SiteSN&"_classnamepath")) Then
Dim Folder,ClassPurview,ChannelFsoHtmlTF,Node,K,SQL,RS
Dim FolderCss:FolderCss=""
Dim OpenTypeStr:OpenTypeStr=" target=""_blank"""
Set Application(SiteSN&"_classnamepath")=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
Application(SiteSN&"_classnamepath").appendChild( Application(SiteSN&"_classnamepath").createElement("xml"))
Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open "Select C.ClassID,C.ChannelID,FolderName,Folder,FolderDomain,TN,ClassPurview,FolderFsoIndex,FsoHtmlTF,ModelEname,C.ID From KS_Class C inner join KS_Channel M On C.ChannelID=M.ChannelID Order BY FolderOrder", Conn, 1, 1
If RS.Eof And RS.Bof Then RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS=Nothing
For K=0 To Ubound(SQL,2)
ClassPurview=SQL(6,K)
ChannelFsoHtmlTF=SQL(8,K)
If Trim(SQL(4,K)) <> "" And SQL(5,K) = "0" Then '判断根目录是否有绑定二级域名
IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
GetClassNP = ""
Else
GetClassNP = " "
End If
ElseIf Trim(SQL(4,K)) <> "" Then
Folder = Trim(SQL(3,K))
Folder = Right(Mid(Folder, InStr(Folder, "/")), Len(Mid(Folder, InStr(Folder, "/"))) - 1)
IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
GetClassNP = " "
Else
GetClassNP = " "
End If
Else
IF ClassPurview=2 Or ChannelFsoHtmlTF=0 Then
GetClassNP = " "
Else
GetClassNP = " "
End If
End If
GetClassNP = GetClassNP & Trim(SQL(2,K)) & " "
Set Node=Application(SiteSN&"_classnamepath").documentElement.appendChild(Application(SiteSN&"_classnamepath").createNode(1,"classnamepath",""))
Node.attributes.setNamedItem(Application(SiteSN&"_classnamepath").createNode(2,"classid","")).text=SQL(10,K)
Node.text=GetClassNP
Next
End If
GetClassNP=Application(SiteSN&"_classnamepath").documentElement.selectSingleNode("classnamepath[@classid=" & FolderID & "]").text
End Function
'----------------------------------------------------------------------------------------------------------------------
'函数名: GetSpecialPath
'功 能: 取得专题目录Url
'参 数: SpecialrRS
'-----------------------------------------------------------------------------------------------------------------------
Public Function GetSpecialPath(SpecialID,SpecialEname,FsoSpecialIndex,ChannelID)
Dim SpecialDir:SpecialDir = Setting(95)
If Left(SpecialDir, 1) = "/" Or Left(SpecialDir, 1) = "\" Then SpecialDir = Right(SpecialDir, Len(SpecialDir) - 1)
If C_S(ChannelID,7)=0 Then
GetSpecialPath=GetDomain & C_S(ChannelID,10) & "/Special.asp?ID=" & SpecialID
Else
GetSpecialPath = GetDomain & SpecialDir & SpecialEname & "/" & FsoSpecialIndex
End iF
End Function
'----------------------------------------------------------------------------------------------------------------------
'函数名: GetFolderSpecialPath
'功 能: 取得栏目专题汇总Url
'参 数: FolderID目录的ID,FullPathFlag是否完整路径(取栏目首页与否),包括专题首页
'-----------------------------------------------------------------------------------------------------------------------
Function GetFolderSpecialPath(FolderID, FullPathFlag)
Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
Dim SpecialDir:SpecialDir =Setting(95)
If Left(SpecialDir, 1) = "/" Or Left(SpecialDir, 1) = "\" Then SpecialDir = Right(SpecialDir, Len(SpecialDir) - 1)
RS.Open "Select Folder,FolderFsoIndex,ChannelID,id From KS_Class Where ID='" & FolderID & "'", Conn, 1, 1
If Not RS.EOF Then
If Conn.Execute("Select FsoHtmlTF From KS_Channel Where ChannelID=" & RS("ChannelID"))(0)=0 Then
GetFolderSpecialPath = GetDomain &"SpecialList.asp?ClassID="&RS(3)
Else
If FullPathFlag = True Then
GetFolderSpecialPath = GetDomain & SpecialDir & RS(0) & RS(1)
Else
GetFolderSpecialPath = GetDomain & SpecialDir & RS(0)
End If
End IF
RS.Close:Set RS = Nothing
Else
RS.Close:Set RS = Nothing:GetFolderSpecialPath = ""
End If
End Function
'取得栏目的链接URL
Public Function GetChannelNoHtmlUrl(ModelEname,ClassID)
GetChannelNoHtmlUrl=GetDomain & ModelEname & "/ShowClass.asp?ID=" & ClassID
End Function
'***************************************************************************
'函数名: GetInfoUrl
'功 能: 取得每篇文章、图片等的Url链接
'参 数: RSObj--信息的recordset对象
'调用该函数前先初始化
'****************************************************************************
Public Function GetInfoUrl(ByVal ChannelID,ByVal Tid,ByVal InfoID,ByVal Fname,ByVal ReadPoint,ByVal InfoPurview,ByVal Changes)
On error resume next
IF Not Isnumeric(ChannelID) Then GetInfoUrl="#":Exit Function
Dim ClassPurview:ClassPurview=C_C(Tid,3)
Select Case C_S(ChannelID,6)
Case 1
'当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态
If Changes=1 Then
GetInfoUrl=Fname
ElseIf ReadPoint>0 Or C_S(ChannelID,7)=0 Or InfoPurview=2 Or (InfoPurview=0 And (ClassPurview=1 Or ClassPurview=2)) Then
GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
Else
GetInfoUrl=GetFolderPath(Tid) & Fname
End If
Case 2
'当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态
If ReadPoint>0 Or C_S(ChannelID,7)=0 Or InfoPurview=2 Or (InfoPurview=0 And (ClassPurview=1 Or ClassPurview=2)) Then
GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
Else
GetInfoUrl=GetFolderPath(Tid) & Fname
End If
Case 3
'当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态
If C_S(ChannelID,7)=0 Then
GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
Else
GetInfoUrl=GetFolderPath(Tid) & Fname
End If
Case 4
'当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态
If ReadPoint>0 Or C_S(ChannelID,7)=0 Or InfoPurview=2 Or (InfoPurview=0 And (ClassPurview=1 Or ClassPurview=2)) Then
GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
Else
GetInfoUrl=GetFolderPath(Tid) & Fname
End If
Case 5
'判断是否生成
If C_S(ChannelID,7)=0 Then
GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
Else
GetInfoUrl=GetFolderPath(Tid) & Fname
End If
Case 7
'当需要点数阅读或是指定的会员组才能查看或是继承栏目且该栏目的权限为半开放或认证栏目时,不能生成静态
If ReadPoint>0 Or C_S(ChannelID,7)=0 Or InfoPurview=2 Or (InfoPurview=0 And (ClassPurview=1 Or ClassPurview=2)) Then
GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
Else
GetInfoUrl=GetFolderPath(Tid) & Fname
End If
Case 8
If C_S(ChannelID,7)=0 Then
GetInfoUrl=GetDomain & C_S(ChannelID,10) & "/ShowInfo.asp?ID=" &InfoID
Else
GetInfoUrl=GetFolderPath(Tid) & Fname
End If
End Select
End Function
'取消HTML
Public Function LoseHtml(ContentStr)
On Error Resume Next
Dim TempLoseStr, regEx
If ContentStr="" Or ContentStr=Null Then Exit Function
TempLoseStr = CStr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "<\/*[^<>]*>"
regEx.IgnoreCase = True
regEx.Global = True
TempLoseStr = regEx.Replace(TempLoseStr, "")
LoseHtml = TempLoseStr
End Function
'---------------------------------------------------------------------------------------------------
'函数名: G_O_T_S
'功 能:取得打开类型
'参 数: OpenType 取true时,新窗口打开
'--------------------------------------------------------------------------------------------
Function G_O_T_S(OpenType)
If OpenType = "" Or OpenType = False Then
G_O_T_S = ""
ElseIf OpenType = True Then
G_O_T_S = " target=""_blank"""
Else
G_O_T_S = " target=""" & OpenType & """"
End If
End Function
'--------------------------------------------------------------------------------------------------
'函数名: GetCss
'功 能:取得样式
'参 数: CssName样式名称
'--------------------------------------------------------------------------------------------
Function GetCss(CssName)
If CssName = "" Then GetCss = "" Else GetCss = " class=""" & CssName & """"
End Function
'取得CSS的ID
Function GetCssID(ID)
If ID="" Then GetCssID="" Else GetCssID=" id=""" & ID & """"
End Function
'-------------------------------------------------------------------------------------------------------------
'函数名: G_R_H
'功 能:取得单元格行距
'参 数: RowHeight 默认行距
'-----------------------------------------------------------------------------------------------------------
Function G_R_H(RowHeight)
If IsNumeric(RowHeight) Then G_R_H = RowHeight Else G_R_H = 20
End Function
'----------------------------------------------------------------------------------------------------------------------------
'函数名:GetMenuBg
'功 能:取得表头背景
'参 数: MenuBGType 类型 1 取背景图片 0 取背景颜色, MenuBg 背景颜色的值 如#CCCCCC 或 /Upfies/TITLE_BG.GIF ,ColNumber列数
'---------------------------------------------------------------------------------------------------------------------------
Function GetMenuBg(MenuBgType, MenuBg, ColNumber)
If MenuBgType = 0 Then
If MenuBg = "" Then GetMenuBg = "" Else GetMenuBg = MenuBg
Else
If MenuBg = "" Then
GetMenuBg = "url(" & GetDomain & "Images/Default/MenuBg" & ColNumber & ".Gif)"
Else
If Left(MenuBg, 1) = "/" Or Left(MenuBg, 1) = "\" Then MenuBg = Right(MenuBg, Len(MenuBg) - 1)
If LCase(Left(MenuBg, 4)) = "http" Then MenuBg = MenuBg Else MenuBg = GetDomain & MenuBg
GetMenuBg = "url(" & MenuBg & ")"
End If
End If
End Function
'----------------------------------------------------------------------------------------------------------------------------
'函数名:GetPhotoBorder
'功 能: 取得图片的边框
'参 数: BorderType 类型 1 取透明图片边框 0 取颜色边框, Border 背景颜色的值 如#CCCCCC 或 /Upfies/TITLE_BG.GIF ,ColNumber列数
'----------------------------------------------------------------------------------------------------------------------------
Function GetPhotoBorder(LinkPhotoStr, BorderType, Border)
Dim bgColorStr
If Trim(Border) = "" Then
GetPhotoBorder = LinkPhotoStr:Exit Function
Else
If BorderType = 0 Then
bgColorStr = " bgcolor=""" & Border & """"
GetPhotoBorder = "
" & vbCrLf
GetPhotoBorder = GetPhotoBorder & " " & vbCrLf
GetPhotoBorder = GetPhotoBorder & " " & LinkPhotoStr & " " & vbCrLf
GetPhotoBorder = GetPhotoBorder & " " & vbCrLf
GetPhotoBorder = GetPhotoBorder & "
" & vbCrLf
Exit Function
Else
If Left(Border, 1) = "/" Or Left(Border, 1) = "\" Then Border = Right(Border, Len(Border) - 1)
If LCase(Left(Border, 4)) = "http" Then
Border = Border
Else
Border = GetDomain & Border
End If
bgColorStr = " style=""background:url(" & Border & ") #FFF no-repeat;"""
GetPhotoBorder = "" & vbCrLf
GetPhotoBorder = GetPhotoBorder & " " & vbCrLf
GetPhotoBorder = GetPhotoBorder & " " & LinkPhotoStr & " " & vbCrLf
GetPhotoBorder = GetPhotoBorder & " " & vbCrLf
GetPhotoBorder = GetPhotoBorder & "
" & vbCrLf
End If
End If
End Function
'--------------------------------------------------------------------------------------------------------------------
'函数名: GetNavi
'功 能: 取得导航值
'参 数: NaviType 导航类型, NaviStr导航值
'---------------------------------------------------------------------------------------------------------------
Function GetNavi(NaviType, NaviStr)
If NaviType = "0" Then
If NaviStr = "" Then GetNavi = "" Else GetNavi = NaviStr
ElseIf NaviType = "1" Then
If NaviStr <> "" Then GetNavi = " "
Else
GetNavi = ""
End If
End Function
'---------------------------------------------------------------
'函数名:GetDateStr
'作用:取日期的样式
'参数:AddDate,DateRule,DateAlign,DateCssStr,ByRef ColSpanNum
'---------------------------------------------------------------
Function GetDateStr(AddDate,DateRule,DateAlign,DateCssStr,ByVal ColNumber,ByRef ColSpanNum)
If CStr(DateRule) <> "0" And CStr("DateRule") <> "" Then
Dim NowDate,NowFormatStr
NowDate=Now
If (Year(NowDate) & Month(NowDate) & Day(NowDate)) = (Year(AddDate) & Month(AddDate) & Day(AddDate)) Then
NowFormatStr=" style=""color:red"""
Else
NowFormatStr=""
End If
If Lcase(DateAlign)="left" Then
GetDateStr=" " & DateFormat(AddDate, DateRule) & " "
ColSpanNum = 1
Else
GetDateStr="" & DateFormat(AddDate, DateRule) & " "
ColSpanNum = 2
End If
Else
GetDateStr="":ColSpanNum = 1
End If
If ColNumber>=2 Then ColSpanNum = ColNumber
End Function
'取得日期样式(div+css)
Function GetDCDateStr(AddDate,DateRule,DateCssStr)
If CStr(DateRule) <> "0" And CStr("DateRule") <> "" Then
Dim NowDate,NowFormatStr
NowDate=Now
If (Year(NowDate) & Month(NowDate) & Day(NowDate)) = (Year(AddDate) & Month(AddDate) & Day(AddDate)) Then
NowFormatStr=" style=""color:red"""
Else
NowFormatStr=""
End If
GetDCDateStr=" " & DateFormat(AddDate, DateRule) & " "
Else
GetDCDateStr=""
End If
End Function '----------------------------------------------------------------------------------------------------------------------------
'函数名:DateFormat
'功 能:日期格式函数
'参 数: DateStr日期, Types转换类型 '----------------------------------------------------------------------------------------------------------------------------
Function DateFormat(DateStr, Types)
Dim DateString
If IsDate(DateStr) = False Then
DateFormat = "":Exit Function
End If
Select Case CStr(Types)
Case "0"
DateFormat = ""
Exit Function
Case 1,21,41
DateString=Year(DateStr) & "-" & Right("0" & Month(DateStr), 2) & "-" & Right("0" & Day(DateStr), 2)
if Types=21 then
DateString = "(" & DateString &")"
elseIf Types=41 then
DateString = "[" & DateString &"]"
end if
Case 2,22,42
DateString=Year(DateStr) & "." & Right("0" & Month(DateStr), 2) & "." & Right("0" & Day(DateStr), 2)
if Types=22 then
DateString = "(" & DateString &")"
elseIf Types=42 then
DateString = "[" & DateString &"]"
end if
Case 3,23,43
DateString=Year(DateStr) & "/" & Right("0" & Month(DateStr), 2) & "/" & Right("0" & Day(DateStr), 2)
if Types=23 then
DateString = "(" & DateString &")"
elseIf Types=43 then
DateString = "[" & DateString &"]"
end if
Case 4,24,44
DateString=Right("0" & Month(DateStr), 2) & "/" & Right("0" & Day(DateStr), 2) & "/" & Year(DateStr)
if Types=24 then
DateString = "(" & DateString &")"
elseIf Types=44 then
DateString = "[" & DateString &"]"
end if
Case 5,25,45
DateString = Year(DateStr) & "年" & Right("0" & Month(DateStr), 2) & "月"
if Types=25 then
DateString = "(" & DateString &")"
elseIf Types=45 then
DateString = "[" & DateString &"]"
end if
Case 6,26,46
DateString = Year(DateStr) & "年" & Right("0" & Month(DateStr), 2) & "月" & Right("0" & Day(DateStr), 2) & "日"
if Types=26 then
DateString = "(" & DateString &")"
elseIf Types=46 then
DateString = "[" & DateString &"]"
end if
Case 7,27,47
DateString = Right("0" & Month(DateStr), 2) & "." & Right("0" & Day(DateStr), 2) & "." & Year(DateStr)
if Types=27 then
DateString = "(" & DateString &")"
elseIf Types=47 then
DateString = "[" & DateString &"]"
end if
Case 8,28,48
DateString = Right("0" & Month(DateStr), 2) & "-" & Right("0" & Day(DateStr), 2) & "-" & Year(DateStr)
if Types=28 then
DateString = "(" & DateString &")"
elseIf Types=48 then
DateString = "[" & DateString &"]"
end if
Case 9,29,49
DateString = Right("0" & Month(DateStr), 2) & "/" & Right("0" & Day(DateStr), 2)
if Types=29 then
DateString = "(" & DateString &")"
elseIf Types=49 then
DateString = "[" & DateString &"]"
end if
Case 10,30,50
DateString = Right("0" & Month(DateStr), 2) & "." & Right("0" & Day(DateStr), 2)
if Types=30 then
DateString = "(" & DateString &")"
elseIf Types=50 then
DateString = "[" & DateString &"]"
end if
Case 11,31,51
DateString = Right("0" & Month(DateStr), 2) & "月" & Right("0" & Day(DateStr), 2) & "日"
if Types=31 then
DateString = "(" & DateString &")"
elseIf Types=51 then
DateString = "[" & DateString &"]"
end if
Case 12,32,52
DateString = Right("0" & Day(DateStr), 2) & "日" & Right("0" & Hour(DateStr), 2) & "时"
if Types=32 then
DateString = "(" & DateString &")"
elseIf Types=52 then
DateString = "[" & DateString &"]"
end if
Case 13,33,53
DateString = Right("0" & Day(DateStr), 2) & "日" & Right("0" & Hour(DateStr), 2) & "点"
if Types=33 then
DateString = "(" & DateString &")"
elseIf Types=53 then
DateString = "[" & DateString &"]"
end if
Case 14,34,54
DateString = Right("0" & Hour(DateStr), 2) & "时" & Minute(DateStr) & "分"
if Types=34 then
DateString = "(" & DateString &")"
elseIf Types=54 then
DateString = "[" & DateString &"]"
end if
Case 15,35,55
DateString = Right("0" & Hour(DateStr), 2) & ":" & Right("0" & Minute(DateStr), 2)
if Types=35 then
DateString = "(" & DateString &")"
elseIf Types=55 then
DateString = "[" & DateString &"]"
end if
Case 16,36,56
DateString = Right("0" & Month(DateStr), 2) & "-" & Right("0" & Day(DateStr), 2)
if Types=36 then
DateString = "(" & DateString &")"
elseIf Types=56 then
DateString = "[" & DateString &"]"
end if
Case 17,37,57
DateString = Right("0" & Month(DateStr), 2) & "/" & Right("0" & Day(DateStr), 2) &" " &Right("0" & Hour(DateStr), 2)&":"&Right("0" & Minute(DateStr), 2)
if Types=37 then
DateString = "(" & DateString &")"
elseIf Types=57 then
DateString = "[" & DateString &"]"
end if
Case Else
DateString = DateStr
End Select
DateFormat = DateString
End Function
'----------------------------------------------------------------------------------------------------------------------------
'函数名:GetOrigin
'功 能:取得文章来源并附加上链接
'参 数: OriginName名称
'返回值: 形如 新华网
'----------------------------------------------------------------------------------------------------------------------------
Function GetOrigin(OriginName)
Dim RS: Set RS=Server.CreateObject("ADODB.Recordset")
RS.Open "select OriginName,HomePage From KS_Origin Where OriginName='" & Trim(OriginName) & "'", Conn, 1, 1
If RS.EOF Then
GetOrigin = OriginName
Else
If RS("HomePage") <> "" And UCase(Trim(RS("HomePage"))) <> "HTTP://" Then
GetOrigin = "" & OriginName & " "
Else
GetOrigin = OriginName
End If
End If
RS.Close:Set RS = Nothing
End Function
'----------------------------------------------------------------------------------------------------------------------------
'函数名:GetMoreLink
'功 能:取得更多链接
'参 数: ColNum列数, RowHeight行距, MoreLinkType链接类型, LinkUrl链接地址, OpenTypeStr是否新窗口打开
'----------------------------------------------------------------------------------------------------------------------------
Function GetMoreLink(PrintType,ColNum, RowHeight, MoreLinkType, LinkNameStr, LinkUrl, OpenTypeStr)
If LinkNameStr = "" Then GetMoreLink = "":Exit Function
If PrintType=2 Then
If MoreLinkType = "0" Then
GetMoreLink = " " & LinkNameStr & " "
ElseIf MoreLinkType = "1" Then
GetMoreLink = " "
Else
GetMoreLink = ""
End If
Else
LinkNameStr = Trim(LinkNameStr):LinkUrl = Trim(LinkUrl)
If CStr(MoreLinkType) = "0" Then
GetMoreLink = " " & LinkNameStr & " "
ElseIf CStr(MoreLinkType) = "1" Then
GetMoreLink = " "
Else
GetMoreLink = ""
End If
End If
End Function
'----------------------------------------------------------------------------------------------------------------------------
'函数名: GetSplitPic
'功 能:取得分隔图片
'参 数: ColSpanNum 列数, SplitPic 图片SRC '-------------------------------------------------------------------------------------------------------------------------------
Function GetSplitPic(SplitPic, ColSpanNum)
Dim ColStr
If SplitPic = "" Then
GetSplitPic = ""
Else
If ColSpanNum>=2 Then ColStr=" colspan=""" & ColSpanNum & """"
GetSplitPic = " " & vbcrlf
End If
End Function
'-------------------------------------------------------------------------------------------------------------------
'函数名:GetFolderTid
'功 能:取得子目录的ID集合
'参 数: FolderID父目录ID
'返回值: 形如 1255555,111111,4444的ID集合
'---------------------------------------------------------------------------------------------------------
Function GetFolderTid(FolderID)
Dim I,Tid,SQL
Dim RS:Set RS=Conn.Execute("Select ID From KS_Class Where DelTF=0 AND TS LIKE '%" & FolderID & "%'")
If RS.EOF Then GetFolderTid="'0'":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
For I=0 To Ubound(SQL,2)
Tid = Tid & "'" & Trim(SQL(0,I)) & "',"
Next
Tid = Left(Trim(Tid), Len(Trim(Tid)) - 1) '去掉最后一个逗号
GetFolderTid = Tid
End Function
'取得专题查询参数,应用于Sql条件
Function GetSpecialPara(SpecialID)
If SpecialID = "-1" Then
If Application(SiteSN & "RefreshType") = "Special" Then
If DataBaseType=1 Then
GetSpecialPara = " charindex('" & Application(SiteSN & "CurrSpecialID") &"',SpecialID)>0"
Else
GetSpecialPara = " instr(SpecialID,'"& Application(SiteSN & "CurrSpecialID") &"')>0"
End If
Else
GetSpecialPara = " 1=1"
End If
ElseIf (SpecialID = "" Or SpecialID = "0") And (Application(SiteSN & "RefreshType") <> "Special") Then
GetSpecialPara = " 1=1"
Else
GetSpecialPara = " instr(SpecialID,'"& SpecialID &"')>0"
End If
End Function
'**************************************************
'函数名:ReturnChannelAllowUpFilesTF
'作 用:返回频道的是否允许上传文件
'参 数:ChannelID--频道ID
'**************************************************
Public Function ReturnChannelAllowUpFilesTF(ChannelID)
If ChannelID = "" Or Not IsNumeric(ChannelID) Then ChannelID = 0
Dim CRS:Set CRS=Server.CreateObject("ADODB.RECORDSET")
CRS.Open "Select UpFilesTF From KS_Channel Where ChannelID=" & ChannelID, Conn, 1, 1
If CInt(ChannelID) = 0 Or (CRS.EOF And CRS.BOF) Then '默认允许上传文件
ReturnChannelAllowUpFilesTF = True
Else
If CRS(0) = 1 Then ReturnChannelAllowUpFilesTF = True Else ReturnChannelAllowUpFilesTF = False
End If
CRS.Close:Set CRS = Nothing
End Function
'**************************************************
'函数名:ReturnChannelUpFilesDir
'作 用:返回频道后台的上传目录
'参 数:ChannelID--频道ID
'返回值:目录字符串
'**************************************************
Public Function ReturnChannelUpFilesDir(ChannelID)
If ChannelID = "" Or Not IsNumeric(ChannelID) Then
ReturnChannelUpFilesDir = Setting(91)
Exit Function
End If
ReturnChannelUpFilesDir = replace(Setting(3) & C_S(ChannelID,24),"//","/")
ReturnChannelUpFilesDir = Left(ReturnChannelUpFilesDir, Len(ReturnChannelUpFilesDir) - 1)
End Function
'**************************************************
'函数名:ReturnChannelAllowUserUpFilesTF
'作 用:返回频道是否允许会员上传文件
'参 数:ChannelID--频道ID
'**************************************************
Public Function ReturnChannelAllowUserUpFilesTF(ChannelID)
If ChannelID = "" Or Not IsNumeric(ChannelID) Then '默认允许上传文件
ReturnChannelAllowUserUpFilesTF = True:Exit Function
End If
If C_S(ChannelID,26) = 1 Then
ReturnChannelAllowUserUpFilesTF = True
Else
ReturnChannelAllowUserUpFilesTF = False
End If
End Function
'**************************************************
'函数名:ReturnChannelUserUpFilesDir
'作 用:返回频道前台会员的上传目录
'参 数:ChannelID--频道ID,UserFolder-按用户名生成的目录
'返回值:目录字符串
'**************************************************
Public Function ReturnChannelUserUpFilesDir(ChannelID,UserFolder)
Dim Ce:Set Ce=new CtoeCls
UserFolder=Ce.CTOE(R(UserFolder))
Set Ce=Nothing
ChannelID = ChkCLng(ChannelID)
Select Case ChannelID
Case 9999 '用户头像
ReturnChannelUserUpFilesDir=Setting(3)&Setting(91)&"User/" & UserFolder &"/upface/"
Case 9998 '相册封面
ReturnChannelUserUpFilesDir=Setting(3)&Setting(91)&"User/" & UserFolder &"/xc/"
Case 9997 '照片
ReturnChannelUserUpFilesDir=Setting(3)&Setting(91)&"User/" & UserFolder &"/xc/"
Case 9996 '圈子图片
ReturnChannelUserUpFilesDir=Setting(3)&Setting(91)&"User/" & UserFolder &"/team/"
Case Else
ReturnChannelUserUpFilesDir = C_S(ChannelID,27)
ReturnChannelUserUpFilesDir = Setting(3) & Setting(91)&"User/" & UserFolder &"/"& ReturnChannelUserUpFilesDir
End Select
End Function
'**************************************************
'函数名:ReturnChannelAllowUpFilesSize
'作 用:返回频道的最大允许上传文件大小
'参 数:ChannelID--频道ID
'**************************************************
Public Function ReturnChannelAllowUpFilesSize(ChannelID)
ChannelID = ChkClng(ChannelID)
Dim CRS:Set CRS=conn.execute("Select UpFilesSize From KS_Channel Where ChannelID=" & ChannelID)
If CInt(ChannelID) = 0 Or (CRS.EOF And CRS.BOF) Then
ReturnChannelAllowUpFilesSize = Setting(6)
Else
ReturnChannelAllowUpFilesSize = CRS(0)
End If
CRS.Close:Set CRS = Nothing
End Function
'**************************************************
'函数名:ReturnChannelAllowUpFilesType
'作 用:返回频道的允许上传的文件类型
'参 数:ChannelID--频道ID,TypeFlag 0-取全部 1-图片类型 2-flash 类型 3-Windows 媒体类型 4-Real 类型 5-其它类型
'**************************************************
Public Function ReturnChannelAllowUpFilesType(ChannelID, TypeFlag)
If ChkClng(ChannelID) = 0 Then ReturnChannelAllowUpFilesType = Setting(7):Exit Function
If Not IsNumeric(TypeFlag) Then TypeFlag = 0
If TypeFlag = 0 Then '所有允许的类型
ReturnChannelAllowUpFilesType = C_S(ChannelID,28) & "|" & C_S(ChannelID,29) & "|" & C_S(ChannelID,30) & "|" & C_S(ChannelID,31) & "|" & C_S(ChannelID,32)
Else
ReturnChannelAllowUpFilesType = C_S(ChannelID,27+TypeFlag)
End If
End Function
'返回付款方式名称,参数TypeID,0名称 1折扣率
Function ReturnPayment(ID,TypeID)
If Application(SiteSn &"Payment_" & ID&TypeID)="" Then
Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open "Select TypeName,Discount From KS_PaymentType Where TypeID=" & ID,conn,1,1
If Not RS.Eof Then
If TypeID=0 Then
ReturnPayment=rs(0)
If RS(1)<100 Then ReturnPayment=ReturnPayment & " 折扣率:" & RS(1) & "%"
Else
ReturnPayment=rs(1)
End if
End iF
Application(SiteSn &"Payment_" & ID&TypeID)=ReturnPayment
Else
ReturnPayment=Application(SiteSn &"Payment_" & ID&TypeID)
End If
End Function
'返回收货方式名称,参数TypeID,0名称 1费用
Function ReturnDelivery(ID,TypeID)
If Application(SiteSn &"Delivery_" & ID&TypeID)="" Then
Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open "Select TypeName,fee From KS_Delivery Where TypeID=" & ID,conn,1,1
If Not RS.Eof Then
If TypeID=0 Then
ReturnDelivery=rs(0)
If RS(1)=0 Then ReturnDelivery=ReturnDelivery & " 免费 " Else ReturnDelivery=ReturnDelivery & " 加收 " & RS(1) & "元"
Else
ReturnDelivery=rs(1)
End iF
End iF
Application(SiteSn &"Delivery_" & ID&TypeID)=ReturnDelivery
Else
ReturnDelivery=Application(SiteSn &"Delivery_" & ID&TypeID)
End If
End Function
'**********************************************************************
'函数名:ReturnSpecial
'作 用:返回专题名称
'参 数:Selected-预选中项 ,ChannelID--频道ID,FolderID ---目录ID
'返回值:专题名称
'**********************************************************************
Public Function ReturnSpecial(SelectID, ChannelID, FolderID)
Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
Dim ParaStr,SpecialChannelStr
If ChannelID="" Then ChannelID=0
If ChannelID <> 0 Then
ParaStr = ParaStr & " And ChannelID=" & ChannelID
End If
RS.Open "Select SpecialName,SpecialID,FolderID From KS_Special Where 1=1 " & ParaStr, Conn, 1, 1
If Not RS.EOF Then
Do While Not RS.EOF
If FolderID=RS(2) Then SpecialChannelStr="(本频道)" Else SpecialChannelStr=""
If Trim(SelectID) = Trim(RS(1)) Then
ReturnSpecial = ReturnSpecial & "" & Trim(RS("SpecialName")) & SpecialChannelStr & " "
Else
ReturnSpecial = ReturnSpecial & "" & Trim(RS("SpecialName")) & SpecialChannelStr & " "
End If
RS.MoveNext
Loop
End If
RS.Close:Set RS = Nothing
End Function
'**************************************************
'函数:FoundInArr
'作 用:检查一个数组中所有元素是否包含指定字符串
'参 数:strArr ----字符串
' strToFind ----要查找的字符串
' strSplit ----数组的分隔符
'返回值:True,False
'**************************************************
Public Function FoundInArr(strArr, strToFind, strSplit)
Dim arrTemp, i
FoundInArr = False
If InStr(strArr, strSplit) > 0 Then
arrTemp = Split(strArr, strSplit)
For i = 0 To UBound(arrTemp)
If LCase(Trim(arrTemp(i))) = LCase(Trim(strToFind)) Then
FoundInArr = True:Exit For
End If
Next
Else
If LCase(Trim(strArr)) = LCase(Trim(strToFind)) Then FoundInArr = True
End If
End Function
'检查是否是数字 ,并转换为长整型
Public Function ChkClng(ByVal str)
On error resume next
If IsNumeric(str) Then
ChkClng = CLng(str)
Else
ChkClng = 0
End If
If Err Then ChkClng=0
End Function
'**************************************************
'函数名:ShowPage
'作 用:显示“上一页 下一页”等信息
'参 数:filename ----链接地址
' TotalNumber ----总数量
' MaxPerPage ----每页数量
' ShowAllPages ---是否用下拉列表显示所有页面以供跳转。
' strUnit ----计数单位,CurrentPage--当前页
'返回值:无返回值
'**************************************************
Sub ShowPage(totalnumber, MaxPerPage, FileName, ShowAllPages, strUnit, CurrentPage)
Dim N, I, PageStr
Const Btn_First = "9 " '定义第一页按钮显示样式
Const Btn_Prev = "3 " '定义前一页按钮显示样式
Const Btn_Next = "4 " '定义下一页按钮显示样式
Const Btn_Last = ": " '定义最后一页按钮显示样式
PageStr = ""
If totalnumber Mod MaxPerPage = 0 Then
N = totalnumber \ MaxPerPage
Else
N = totalnumber \ MaxPerPage + 1
End If
If N > 1 Then
PageStr = PageStr & ("页次:" & CurrentPage & " /" & N & "页 共有:" & totalnumber & strUnit & " 每页:" & MaxPerPage & strUnit & " ")
If CurrentPage < 2 Then
PageStr = PageStr & Btn_First & " " & Btn_Prev & " "
Else
PageStr = PageStr & ("" & Btn_First & " " & Btn_Prev & " ")
End If
If N - CurrentPage < 1 Then
PageStr = PageStr & " " & Btn_Next & " " & Btn_Last & " "
Else
PageStr = PageStr & (" " & Btn_Next & " " & Btn_Last & " ")
End If
If ShowAllPages = True Then
PageStr = PageStr & "GO:"
For I = 1 To N
If CurrentPage = I Then
PageStr = PageStr & ("NO." & I & " ")
Else
PageStr = PageStr & ("NO." & I & " ")
End If
Next
PageStr = PageStr & " "
End If
End If
Response.Write (PageStr)
End Sub
'**************************************************
'函数名:ShowPagePara
'作 用:显示“上一页 下一页”等信息
'参 数:filename ----链接地址
' TotalNumber ----总数量
' MaxPerPage ----每页数量
' ShowAllPages ---是否用下拉列表显示所有页面以供跳转。
' strUnit ----计数单位,CurrentPage--当前页,ParamterStr参数
'返回值:无返回值
'**************************************************
Public Function ShowPagePara(totalnumber, MaxPerPage, FileName, ShowAllPages, strUnit, CurrentPage, ParamterStr)
Dim N, I, PageStr
Const Btn_First = "9 " '定义第一页按钮显示样式
Const Btn_Prev = "3 " '定义前一页按钮显示样式
Const Btn_Next = "4 " '定义下一页按钮显示样式
Const Btn_Last = ": " '定义最后一页按钮显示样式
PageStr = ""
If totalnumber Mod MaxPerPage = 0 Then
N = totalnumber \ MaxPerPage
Else
N = totalnumber \ MaxPerPage + 1
End If
If N > 1 Then
PageStr = PageStr & (""
End If
ShowPagePara = PageStr
End Function
Sub ShowPageParamter(totalnumber, MaxPerPage, FileName, ShowAllPages, strUnit, CurrentPage, ParamterStr)
Response.Write (ShowPagePara(totalnumber, MaxPerPage, FileName, ShowAllPages, strUnit, CurrentPage, ParamterStr))
End Sub
'***********************************************************************************************************
'函数名:ReturnLabelFolderTree
'作 用:显示标签目录列表。
'参 数:SelectID ---- 默认目录树ID号,ChannelID频道ID号,FolderType目录类型 0系统函数标签目录,1自由标签目录
'返回值:标签目录列表
'*************************************************************************************************************
Public Function ReturnLabelFolderTree(SelectID, FolderType)
Dim TempStr,ID,FolderName
SelectID = Trim(SelectID)
If FolderType = "" Then FolderType = 0
TempStr = ""
TempStr = TempStr & "根目录 "
Dim RS:Set RS=Conn.Execute("Select ID,FolderName from KS_LabelFolder Where FolderType=" & FolderType & " And ParentID='0' Order By AddDate desc")
Do While Not RS.EOF
ID = Trim(RS(0))
FolderName = Trim(RS(1))
TempStr = TempStr & "" & FolderName & " "
TempStr = TempStr & ReturnSubLabelFolderTree(ID, SelectID)
RS.MoveNext
Loop
RS.Close:Set RS = Nothing
TempStr = TempStr & " "
ReturnLabelFolderTree = TempStr
End Function
'************************************************************************************
'函数名:ReturnSubLabelFolderTree
'作 用:查找并返子树数据。
'参 数:ParentID ----父节点ID, FolderID ----选择项ID
'返回值:标签目录子树列表
'************************************************************************************
Public Function ReturnSubLabelFolderTree(ParentID, FolderID)
Dim SubTypeList, SubRS, SpaceStr, k, Total, Num,FolderName, ID,TJ
Set SubRS = Server.CreateObject("ADODB.RECORDSET")
SubRS.Open ("Select count(ID) AS total from KS_LabelFolder Where ParentID='" & ParentID & "'"), Conn, 1, 1
Total = SubRS("Total")
SubRS.Close
SubRS.Open ("Select ID,FolderName,TS from KS_LabelFolder Where ParentID='" & ParentID & "' Order BY AddDate Desc"), Conn, 1, 1
Num = 0
Do While Not SubRS.EOF
Num = Num + 1:SpaceStr = ""
TJ = UBound(Split(SubRS(2), ","))
For k = 1 To TJ - 1
If k = 1 And k <> TJ - 1 Then
SpaceStr = SpaceStr & " │"
ElseIf k = TJ - 1 Then
If Num = Total Then
SpaceStr = SpaceStr & " └ "
Else
SpaceStr = SpaceStr & " ├ "
End If
Else
SpaceStr = SpaceStr & " │"
End If
Next
ID = Trim(SubRS(0))
FolderName = Trim(SubRS(1))
If FolderID = ID Then
SubTypeList = SubTypeList & "" & SpaceStr & FolderName & " "
Else
SubTypeList = SubTypeList & "" & SpaceStr & FolderName & " "
End If
SubTypeList = SubTypeList & ReturnSubLabelFolderTree(ID, FolderID)
SubRS.MoveNext
Loop
SubRS.Close:Set SubRS = Nothing:ReturnSubLabelFolderTree = SubTypeList
End Function
'***********************************************************************************************************
'函数名:ReturnLabelInfo
'参 数:LabelName ---- 默认标签名称,FolderID---标签目录ID号,Descript---标签描述
'返回值:标签基本信息
'*************************************************************************************************************
Public Function ReturnLabelInfo(LabelName, FolderID, Descript)
ReturnLabelInfo = ReturnLabelInfo & (" ")
End Function
'****************************************************************************************************************************
'函数名:ReturnJSInfo
'参 数:JSID--JSID号,JSName ---- 默认JS名称,JSFileName----JS文件名,FolderID---标签目录ID号,FolderType---目录类型,Descript---标签描述
'返回值:标签基本信息
'*******************************************************************************************************************************
Public Function ReturnJSInfo(JSID, JSName, JSFileName, FolderID, FolderType, Descript)
ReturnJSInfo = ""
ReturnJSInfo = ReturnJSInfo & (" ")
ReturnJSInfo = ReturnJSInfo & (" ")
ReturnJSInfo = ReturnJSInfo & (" JS基本信息 ")
ReturnJSInfo = ReturnJSInfo & (" ")
ReturnJSInfo = ReturnJSInfo & (" ")
ReturnJSInfo = ReturnJSInfo & (" ")
ReturnJSInfo = ReturnJSInfo & ("
")
'采集搜索参数
ReturnJSInfo = ReturnJSInfo & (" ")
ReturnJSInfo = ReturnJSInfo & (" ")
ReturnJSInfo = ReturnJSInfo & (" ")
ReturnJSInfo = ReturnJSInfo & (" ")
End Function
'**************************************************
'函数名:ReturnDateFormat
'作 用:返回系统支持的日期格式
'参 数:SelectDate 预定选中的日期格式
'**************************************************
Public Function ReturnDateFormat(SelectDate)
Dim TempFormatDateStr, Str
If CStr(SelectDate) = "0" Then
TempFormatDateStr = ("-不显示日期- ")
Else
TempFormatDateStr = ("-不显示日期- ")
End If
If CStr(SelectDate) = "1" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("2005-10-1 ")
If CStr(SelectDate) = "2" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("2005.10.1 ")
If CStr(SelectDate) = "3" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("2005/10/1 ")
If CStr(SelectDate) = "4" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("10/1/2005 ")
If CStr(SelectDate) = "5" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("2005年10月 ")
If CStr(SelectDate) = "6" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("2005年10月1日 ")
If CStr(SelectDate) = "7" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("10.1.2005 ")
If CStr(SelectDate) = "8" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("10-1-2005 ")
If CStr(SelectDate) = "9" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("10/1 ")
If CStr(SelectDate) = "10" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("10.1 ")
If CStr(SelectDate) = "11" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("10月1日 ")
If CStr(SelectDate) = "12" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("1日12时 ")
If CStr(SelectDate) = "13" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("1日12点 ")
If CStr(SelectDate) = "14" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("12时12分 ")
If CStr(SelectDate) = "15" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("12:12 ")
If CStr(SelectDate) = "16" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("10-1 ")
If CStr(SelectDate) = "17" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("10/1 12:00 ")
TempFormatDateStr = TempFormatDateStr & (" ")
If CStr(SelectDate) = "21" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(2005-10-1) ")
If CStr(SelectDate) = "22" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(2005.10.1) ")
If CStr(SelectDate) = "23" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(2005/10/1) ")
If CStr(SelectDate) = "24" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(10/1/2005) ")
If CStr(SelectDate) = "25" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(2005年10月) ")
If CStr(SelectDate) = "26" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(2005年10月1日) ")
If CStr(SelectDate) = "27" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(10.1.2005) ")
If CStr(SelectDate) = "28" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(10-1-2005) ")
If CStr(SelectDate) = "29" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(10/1) ")
If CStr(SelectDate) = "30" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(10.1) ")
If CStr(SelectDate) = "31" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(10月1日) ")
If CStr(SelectDate) = "32" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(1日12时) ")
If CStr(SelectDate) = "33" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(1日12点) ")
If CStr(SelectDate) = "34" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(12时12分) ")
If CStr(SelectDate) = "35" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(12:12) ")
If CStr(SelectDate) = "36" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(10-1) ")
If CStr(SelectDate) = "37" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("(10/1 12:00) ")
TempFormatDateStr = TempFormatDateStr & (" ")
If CStr(SelectDate) = "41" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[2005.10.1] ")
If CStr(SelectDate) = "42" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[2005.10.1] ")
If CStr(SelectDate) = "43" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[2005/10/1] ")
If CStr(SelectDate) = "44" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[10/1/2005] ")
If CStr(SelectDate) = "45" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[2005年10月] ")
If CStr(SelectDate) = "46" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[2005年10月1日] ")
If CStr(SelectDate) = "47" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[10.1.2005] ")
If CStr(SelectDate) = "48" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[10-1-2005] ")
If CStr(SelectDate) = "49" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[10/1] ")
If CStr(SelectDate) = "50" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[10.1] ")
If CStr(SelectDate) = "51" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[10月1日] ")
If CStr(SelectDate) = "52" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[1日12时] ")
If CStr(SelectDate) = "53" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[1日12点] ")
If CStr(SelectDate) = "54" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[12时12分] ")
If CStr(SelectDate) = "55" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[12:12] ")
If CStr(SelectDate) = "56" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[10-1] ")
If CStr(SelectDate) = "57" Then Str = " Selected" Else Str = ""
TempFormatDateStr = TempFormatDateStr & ("[10/1 12:00] ")
ReturnDateFormat = TempFormatDateStr
End Function
'**************************************************
'函数名:ReturnOpenTypeStr
'作 用:返回系统支持的打开窗口方式(带可输入的下拉框)
'参 数:SelectValue 预定选中的链接目标
'**************************************************
Public Function ReturnOpenTypeStr(SelectValue)
ReturnOpenTypeStr = "链接目标"
ReturnOpenTypeStr = ReturnOpenTypeStr & ""
ReturnOpenTypeStr = ReturnOpenTypeStr & ""
ReturnOpenTypeStr = ReturnOpenTypeStr & " "
ReturnOpenTypeStr = ReturnOpenTypeStr & " _blank "
ReturnOpenTypeStr = ReturnOpenTypeStr & " _parent "
ReturnOpenTypeStr = ReturnOpenTypeStr & " _self "
ReturnOpenTypeStr = ReturnOpenTypeStr & " _top "
ReturnOpenTypeStr = ReturnOpenTypeStr & " "
ReturnOpenTypeStr = ReturnOpenTypeStr & " "
ReturnOpenTypeStr = ReturnOpenTypeStr & " "
ReturnOpenTypeStr = ReturnOpenTypeStr & "
"
End Function
'分页样式
Public Function ReturnPageStyle(PageStyle)
ReturnPageStyle = " 分页样式"
ReturnPageStyle = ReturnPageStyle & " "
ReturnPageStyle = ReturnPageStyle & " ①首页 上一页 下一页 尾页 "
ReturnPageStyle = ReturnPageStyle & " ②共N页/N篇 [1] [2] [3] "
ReturnPageStyle = ReturnPageStyle & " ③<< < > >> "
ReturnPageStyle = ReturnPageStyle & " "
End Function
'专题显示样式
Public Function ReturnSpecialStyle(Sel)
ReturnSpecialStyle= "显示样式 "
ReturnSpecialStyle=ReturnSpecialStyle &"①标题式 "
ReturnSpecialStyle=ReturnSpecialStyle &"②仅显示图片 "
ReturnSpecialStyle=ReturnSpecialStyle &"③图片+标题:上下 "
ReturnSpecialStyle=ReturnSpecialStyle &"④图片+介绍:左右 "
ReturnSpecialStyle=ReturnSpecialStyle &"⑤图片+(名称+介绍:上下):左右 "
ReturnSpecialStyle=ReturnSpecialStyle &" "
End Function
'**************************************************
'函数名:ReturnPictureStyle
'作 用:返回图片显示方式的标签(标签中心调用)
'参 数:PicStyle--默认选择的样式
'**************************************************
Public Function ReturnPictureStyle(PicStyle)
If PicStyle = "1" Then ReturnPictureStyle = ("①:仅显示缩略图 ") Else ReturnPictureStyle = ReturnPictureStyle & ("①:仅显示缩略图 ")
If PicStyle = "2" Then ReturnPictureStyle = ReturnPictureStyle & ("②:缩略图+名称:上下 ") Else ReturnPictureStyle = ReturnPictureStyle & ("②:缩略图+名称:上下 ")
If PicStyle = "3" Then ReturnPictureStyle = ReturnPictureStyle & ("③:缩略图+(名称+简介:上下):左右 ") Else ReturnPictureStyle = ReturnPictureStyle & ("③:缩略图+(名称+简介:上下):左右 ")
If PicStyle = "4" Then ReturnPictureStyle = ReturnPictureStyle & ("④:(名称+简介:上下)+缩略图:左右 ") Else ReturnPictureStyle = ReturnPictureStyle & ("④:(名称+简介:上下)+缩略图:左右 ")
If PicStyle = "5" Then ReturnPictureStyle = ReturnPictureStyle & ("⑤:名称+添加日期:左右 ") Else ReturnPictureStyle = ReturnPictureStyle & ("⑤:名称+添加日期:左右 ")
End Function
'**************************************************
'函数名:ReturnFlashStyle
'作 用:返回Flash显示方式的标签(标签中心调用)
'参 数:PicStyle--默认选择的样式
'**************************************************
Public Function ReturnFlashStyle(PicStyle)
If PicStyle = "1" Then
ReturnFlashStyle = ("①:仅显示缩略图 ")
Else
ReturnFlashStyle = ReturnFlashStyle & ("①:仅显示缩略图 ")
End If
If PicStyle = "2" Then
ReturnFlashStyle = ReturnFlashStyle & ("②:缩略图+名称:上下 ")
Else
ReturnFlashStyle = ReturnFlashStyle & ("②:缩略图+名称:上下 ")
End If
If PicStyle = "3" Then
ReturnFlashStyle = ReturnFlashStyle & ("③:缩略图+(名称+类别+作者+时间:上下):左右 ")
Else
ReturnFlashStyle = ReturnFlashStyle & ("③:缩略图+(名称+类别+作者+时间:上下):左右 ")
End If
If PicStyle = "4" Then
ReturnFlashStyle = ReturnFlashStyle & ("④:缩略图+(名称+简介:上下):左右 ")
Else
ReturnFlashStyle = ReturnFlashStyle & ("④:缩略图+(名称+简介:上下):左右 ")
End If
If PicStyle = "5" Then
ReturnFlashStyle = ReturnFlashStyle & ("⑤:名称+添加日期:左右 ")
Else
ReturnFlashStyle = ReturnFlashStyle & ("⑤:名称+添加日期:左右 ")
End If
If PicStyle = "6" Then
ReturnFlashStyle = ReturnFlashStyle & ("⑥:缩略图+(名称+简介:上下):左右 ")
Else
ReturnFlashStyle = ReturnFlashStyle & ("⑥:缩略图+(名称+简介:上下):左右 ")
End If
If PicStyle = "7" Then
ReturnFlashStyle = ReturnFlashStyle & ("⑦:(名称+简介:上下)+缩略图:左右 ")
Else
ReturnFlashStyle = ReturnFlashStyle & ("⑦:(名称+简介:上下)+缩略图:左右 ")
End If
End Function
'**************************************************
'函数名:ReturnMovieStyle
'作 用:返回影片显示方式的标签(标签中心调用)
'参 数:PicStyle--默认选择的样式
'**************************************************
Public Function ReturnMovieStyle(PicStyle)
If PicStyle = "1" Then
ReturnMovieStyle = ("①:仅显示影片缩略图 ")
Else
ReturnMovieStyle = ReturnMovieStyle & ("①:仅显示影片缩略图 ")
End If
If PicStyle = "2" Then
ReturnMovieStyle = ReturnMovieStyle & ("②:影片缩略图+名称:上下 ")
Else
ReturnMovieStyle = ReturnMovieStyle & ("②:影片缩略图+名称:上下 ")
End If
If PicStyle = "3" Then
ReturnMovieStyle = ReturnMovieStyle & ("③:缩略图+(名称+主演+导演+类别:上下):左右 ")
Else
ReturnMovieStyle = ReturnMovieStyle & ("③:缩略图+(名称+主演+导演+类别:上下):左右 ")
End If
If PicStyle = "4" Then
ReturnMovieStyle = ReturnMovieStyle & ("④:缩略图+(名称+简介+属性:上下):左右 ")
Else
ReturnMovieStyle = ReturnMovieStyle & ("④:缩略图+(名称+简介+属性:上下):左右 ")
End If
If PicStyle = "5" Then
ReturnMovieStyle = ReturnMovieStyle & ("⑤:名称+添加日期:左右 ")
Else
ReturnMovieStyle = ReturnMovieStyle & ("⑤:名称+添加日期:左右 ")
End If
If PicStyle = "6" Then
ReturnMovieStyle = ReturnMovieStyle & ("⑥:缩略图+(名称+简介:上下):左右 ")
Else
ReturnMovieStyle = ReturnMovieStyle & ("⑥:缩略图+(名称+简介:上下):左右 ")
End If
If PicStyle = "7" Then
ReturnMovieStyle = ReturnMovieStyle & ("⑦:(名称+简介:上下)+缩略图:左右 ")
Else
ReturnMovieStyle = ReturnMovieStyle & ("⑦:(名称+简介:上下)+缩略图:左右 ")
End If
End Function
'**************************************************
'函数名:ReturnProductStyle
'作 用:返回图片显示方式的标签(标签中心调用)
'参 数:PicStyle--默认选择的样式
'**************************************************
Public Function ReturnProductStyle(PicStyle)
ReturnProductStyle=""
If PicStyle = "1" Then ReturnProductStyle =ReturnProductStyle & ("①:名称+日期(简单列表式) ") Else ReturnProductStyle = ReturnProductStyle & ("①:名称+日期(简单列表式) ")
If PicStyle = "2" Then ReturnProductStyle = ReturnProductStyle & ("②:仅显示图片 ") Else ReturnProductStyle = ReturnProductStyle & ("②:仅显示图片 ")
If PicStyle = "3" Then ReturnProductStyle = ReturnProductStyle & ("③:图片+名称:上下排列 ") Else ReturnProductStyle = ReturnProductStyle & ("③:图片+名称:上下排列 ")
If PicStyle = "4" Then ReturnProductStyle = ReturnProductStyle & ("④:图片+按钮:上下排列 ") Else ReturnProductStyle = ReturnProductStyle & ("④:图片+按钮:上下排列 ")
If PicStyle = "5" Then ReturnProductStyle = ReturnProductStyle & ("⑤:图片+名称+按钮:上下排列 ") Else ReturnProductStyle = ReturnProductStyle & ("⑤:图片+名称+按钮:上下排列 ")
If PicStyle = "6" Then ReturnProductStyle = ReturnProductStyle & ("⑥:图片+名称+价格+按钮:上下排列 ") Else ReturnProductStyle = ReturnProductStyle & ("⑥:图片+名称+价格+按钮:上下排列 ")
If PicStyle = "7" Then ReturnProductStyle = ReturnProductStyle & ("⑦:图片+(价格+按钮:上下):左右 ") Else ReturnProductStyle = ReturnProductStyle & ("⑦:图片+(价格+按钮:上下):左右 ")
If PicStyle = "8" Then ReturnProductStyle = ReturnProductStyle & ("⑧:(图片+名称)+(价格+按钮):左右 ") Else ReturnProductStyle = ReturnProductStyle & ("⑧:(图片+名称)+(价格+按钮):左右 ")
If PicStyle = "9" Then ReturnProductStyle = ReturnProductStyle & ("⑨:图片+(名称+价格+按钮):左右 ") Else ReturnProductStyle = ReturnProductStyle & ("⑨:图片+(名称+价格+按钮):左右 ")
If PicStyle = "10" Then ReturnProductStyle = ReturnProductStyle & ("⑩:(图片+名称)+(名称+价格+按钮):左右 ") Else ReturnProductStyle = ReturnProductStyle & ("⑩:(图片+名称)+(名称+价格+按钮):左右 ")
ReturnProductStyle=ReturnProductStyle &" "
End Function
'商品按钮显示方式
Function ReturnProductButton(Sel)
ReturnProductButton=""
If Sel="0" Then ReturnProductButton=ReturnProductButton & "不显示 " Else ReturnProductButton=ReturnProductButton & "不显示 "
If Sel="1" Then ReturnProductButton=ReturnProductButton & "显示购买按钮 " Else ReturnProductButton=ReturnProductButton & "显示购买按钮 "
If Sel="2" Then ReturnProductButton=ReturnProductButton & "显示收藏按钮 " Else ReturnProductButton=ReturnProductButton & "显示收藏按钮 "
If Sel="3" Then ReturnProductButton=ReturnProductButton & "显示详情按钮 " Else ReturnProductButton=ReturnProductButton & "显示详情按钮 "
If Sel="4" Then ReturnProductButton=ReturnProductButton & "显示购买+收藏按钮 " Else ReturnProductButton=ReturnProductButton & "显示购买+收藏按钮 "
If Sel="5" Then ReturnProductButton=ReturnProductButton & "显示购买+详情按钮 " Else ReturnProductButton=ReturnProductButton & "显示购买+详情按钮 "
If Sel="6" Then ReturnProductButton=ReturnProductButton & "显示收藏+详情按钮 " Else ReturnProductButton=ReturnProductButton & "显示收藏+详情按钮 "
If Sel="7" Then ReturnProductButton=ReturnProductButton & "显示购买+详情+收藏按钮 " Else ReturnProductButton=ReturnProductButton & "显示购买+详情+收藏按钮 "
ReturnProductButton=ReturnProductButton &" "
End Function
'商品价格显示方式
Function ReturnProductPrice(Sel)
ReturnProductPrice=""
If Sel="0" Then ReturnProductPrice=ReturnProductPrice & "自动显示 " Else ReturnProductPrice=ReturnProductPrice & "自动显示 "
If Sel="1" Then ReturnProductPrice=ReturnProductPrice & "只显示原始零售价 " Else ReturnProductPrice=ReturnProductPrice & "只显示原始零售价 "
If Sel="2" Then ReturnProductPrice=ReturnProductPrice & "只显示当前零售价 " Else ReturnProductPrice=ReturnProductPrice & "只显示当前零售价 "
If Sel="3" Then ReturnProductPrice=ReturnProductPrice & "原始零售价+会员价 " Else ReturnProductPrice=ReturnProductPrice & "原始零售价+会员价 "
If Sel="4" Then ReturnProductPrice=ReturnProductPrice & "当前零售价+会员价 " Else ReturnProductPrice=ReturnProductPrice & "当前零售价+会员价 "
If Sel="5" Then ReturnProductPrice=ReturnProductPrice & "显示市场价+当前零售价 " Else ReturnProductPrice=ReturnProductPrice & "显示市场价+当前零售价 "
If Sel="6" Then ReturnProductPrice=ReturnProductPrice & "市场价+原始零售价+会员价 " Else ReturnProductPrice=ReturnProductPrice & "市场价+原始零售价+会员价 "
If Sel="7" Then ReturnProductPrice=ReturnProductPrice & "市场价+原价+当前价+会员价 " Else ReturnProductPrice=ReturnProductPrice & "市场价+原价+当前价+会员价 "
End Function
'**************************************************
'函数名:ReturnGQStyle
'作 用:返回图片显示方式的标签(标签中心调用)
'参 数:PicStyle--默认选择的样式
'**************************************************
Public Function ReturnGQStyle(PicStyle)
If PicStyle = "1" Then ReturnGQStyle = ("①:仅显示标题式 ") Else ReturnGQStyle = ReturnGQStyle & ("①:仅显示标题式 ")
If PicStyle = "2" Then ReturnGQStyle = ReturnGQStyle & ("②:上图片+下标题 ") Else ReturnGQStyle = ReturnGQStyle & ("②:上图片+下标题 ")
If PicStyle = "3" Then ReturnGQStyle = ReturnGQStyle & ("③:图片+(标题+地区+时间)+下介绍 ") Else ReturnGQStyle = ReturnGQStyle & ("③:图片+(标题+地区+时间)+下介绍 ")
If PicStyle = "4" Then ReturnGQStyle = ReturnGQStyle & ("④:图片+上介绍+(标题+地区+时间) ") Else ReturnGQStyle = ReturnGQStyle & ("④:图片+上介绍+(标题+地区+时间) ")
End Function
'**************************************************
'函数名:SaveBeyondFile
'作 用:保存远程文件到本地
'参 数:LocalFile 本地文件,BFU远程文件
'返回值:无
'**************************************************
Public Function ReplaceBeyondUrl(ReplaceContent, SaveFilePath)
Dim re, BeyondFile, BFU, SaveFileName
Set re = New RegExp
re.IgnoreCase = True
re.Global = True
re.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\){1}((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*\/)((\S)+[.]{1}(gif|jpg|png|bmp)))"
Set BeyondFile = re.Execute(ReplaceContent)
Set re = Nothing
For Each BFU In BeyondFile
SaveFileName = Year(Now()) & Month(Now()) & Day(Now()) & MakeRandom(10) & Mid(BFU, InStrRev(BFU, "."))
If Instr(BFU,Setting(2))<=0 Then
Call SaveBeyondFile(SaveFilePath&SaveFileName,BFU)
ReplaceContent = Replace(ReplaceContent, BFU, SaveFilePath & SaveFileName)
End If
Next
ReplaceBeyondUrl = ReplaceContent
End Function
'==================================================
'过程名:SaveBeyondFile
'作 用:保存远程的文件到本地
'参 数:LocalFileName ------ 本地文件名
'参 数:RemoteFileUrl ------ 远程文件URL
'==================================================
Function SaveBeyondFile(LocalFileName,RemoteFileUrl)
on error resume next
Dim SaveRemoteFile:SaveRemoteFile=True
dim Ads,Retrieval,GetRemoteData
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", RemoteFileUrl, False, "", ""
.Send
If .Readystate<>4 then
SaveRemoteFile=False
Exit Function
End If
GetRemoteData = .ResponseBody
End With
Set Retrieval = Nothing
Set Ads = Server.CreateObject("Adodb.Stream")
With Ads
.Type = 1
.Open
.Write GetRemoteData
.SaveToFile server.MapPath(LocalFileName),2
.Cancel()
.Close()
End With
Set Ads=nothing
SaveBeyondFile=SaveRemoteFile
'加水印
Dim T:Set T=New Thumb
call T.AddWaterMark(LocalFileName)
Set T=Nothing
end Function
'****************************************************
'参数说明
'Subject : 邮件标题
'MailAddress : 发件服务器的地址,如smtp.163.com
'LoginName ----登录用户名(不需要请填写"")
'LoginPass ----用户密码(不需要请填写"")
'Email : 收件人邮件地址
'Sender : 发件人姓名
'Content : 邮件内容
'Fromer : 发件人的邮件地址
'****************************************************
Public Function SendMail(MailAddress, LoginName, LoginPass, Subject, Email, Sender, Content, Fromer)
On Error Resume Next
Dim JMail
Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象
jmail.silent = true '屏蔽例外错误,返回FALSE跟TRUE两值j
jmail.Charset = "GB2312" '邮件的文字编码为国标
jmail.ContentType = "text/html" '邮件的格式为HTML格式
jmail.AddRecipient Email '邮件收件人的地址
jmail.From = Fromer '发件人的E-MAIL地址
jmail.FromName = Sender
If LoginName <> "" And LoginPass <> "" Then
JMail.MailServerUserName = LoginName '您的邮件服务器登录名
JMail.MailServerPassword = LoginPass '登录密码
End If
jmail.Subject = Subject '邮件的标题
JMail.Body = Content
JMail.Priority = 1'邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.Send(MailAddress) '执行邮件发送(通过邮件服务器地址)
jmail.Close() '关闭对象
Set JMail = Nothing
If Err Then
SendMail = Err.Description
Err.Clear
Else
SendMail = "OK"
End If
End Function
'**************************************************
'函数名:SaveBeyondFile
'作 用:保存远程文件到本地
'参 数:LocalFile 本地文件,BFU远程文件
'返回值:无
'**************************************************
Public Function ReplaceUserFile(ReplaceContent,ChannelID)
Dim re, BeyondFile, BFU, SaveFileName
Set re = New RegExp
re.IgnoreCase = True
re.Global = True
re.Pattern = "(" &Setting(3)&Setting(91) & "user(\S*\/)((\S)+[.]{1}(gif|jpg|png|bmp|rar|doc|xsl|zip|exe)))"
Set BeyondFile = re.Execute(ReplaceContent)
Set re = Nothing
Dim Path,DateDir
Path = ReturnChannelUpFilesDir(ChannelID)
DateDir = Year(Now()) & Right("0" & Month(Now()), 2) & "/"
Path = Path & "/" & DateDir
For Each BFU In BeyondFile
Dim NewPath:NewPath=Path & Split(BFU,"/")(Ubound(Split(bfu,"/")))
Call CopyFile(BFU,NewPath)
ReplaceContent = Replace(ReplaceContent, BFU, NewPath)
Next
ReplaceUserFile = ReplaceContent
End Function
'模拟剪切文件操作
Public Function CopyFile(OldPath,NewPath)
CopyFile=false
Call CreateListFolder(Replace(NewPath,Split(NewPath,"/")(Ubound(Split(NewPath,"/"))),""))
on error resume next
dim fso:set fso = Server.CreateObject(Setting(99))
fso.CopyFile Server.MapPath(OldPath), server.mappath(NewPath), True
DeleteFile(OldPath)
if err then
CopyFile=false
else
CopyFile=true
end if
IF err Then CopyFile=false
End Function
'**************************************************
'函数名:CreateListFolder
'作 用:不限分级创建目录 形如 1\2\3\ 则在网站根目录下创建分级目录
'参 数:Folder要创建的目录
'返回值:成功返回true 否则返回Flase
'**************************************************
Public Function CreateListFolder(Folder)
Dim FSO, WaitCreateFolder, SplitFolder, CF, k
On Error Resume Next
If Folder = "" Then
CreateListFolder = False:Exit Function
End If
Folder = Replace(Folder, "\", "/")
If Right(Folder, 1) <> "/" Then Folder = Folder & "/"
If Left(Folder, 1) <> "/" Then Folder = "/" & Folder
Set FSO = CreateObject(Setting(99))
If Not FSO.FolderExists(Server.MapPath(Folder)) Then
SplitFolder = Split(Folder, "/")
For k = 0 To UBound(SplitFolder) - 1
If k = 0 Then
CF = SplitFolder(k) & "/"
Else
CF = CF & SplitFolder(k) & "/"
End If
If (Not FSO.FolderExists(Server.MapPath(CF))) Then
FSO.CreateFolder (Server.MapPath(CF))
CreateListFolder = True
End If
Next
End If
Set FSO = Nothing
If Err.Number <> 0 Then
Err.Clear
CreateListFolder = False
Else
CreateListFolder = True
End If
End Function
'**************************************************
'函数名:DeleteFolder
'作 用:删除指定目录
'参 数:FolderStr要删除的目录
'返回值:成功返回true 否则返回Flase
'**************************************************
Public Function DeleteFolder(FolderStr)
Dim FSO
On Error Resume Next
FolderStr = Replace(FolderStr, "\", "/")
Set FSO = CreateObject(Setting(99))
If FSO.FolderExists(Server.MapPath(FolderStr)) Then
FSO.DeleteFolder (Server.MapPath(FolderStr))
Else
DeleteFolder = True
End If
Set FSO = Nothing
If Err.Number <> 0 Then
Err.Clear:DeleteFolder = False
Else
DeleteFolder = True
End If
End Function
'**************************************************
'函数名:DeleteFile
'作 用:删除指定文件
'参 数:FileStr要删除的文件
'返回值:成功返回true 否则返回Flase
'**************************************************
Public Function DeleteFile(FileStr)
Dim FSO
On Error Resume Next
Set FSO = CreateObject(Setting(99))
If FSO.FileExists(Server.MapPath(FileStr)) Then
FSO.DeleteFile Server.MapPath(FileStr), True
Else
DeleteFile = True
End If
Set FSO = Nothing
If Err.Number <> 0 Then
Err.Clear:DeleteFile = False
Else
DeleteFile = True
End If
End Function
'**********************************************************************
'函数名:CheckFileShowOrNot
'参数:AllowShowExtNameStr允许的文件扩展名,ExtName实际文件扩展名
'**********************************************************************
Public Function CheckFileShowOrNot(AllowShowExtNameStr, ExtName)
If ExtName = "" Then
CheckFileShowOrNot = False
Else
If InStr(1, AllowShowExtNameStr, ExtName) = 0 Then
CheckFileShowOrNot = False
Else
CheckFileShowOrNot = True
End If
End If
End Function
'**********************************************************************
'函数名:GetFieSize
'作用:取得指定文件的大小
'参数:FilePath--文件位置
'**********************************************************************
Public Function GetFieSize(FilePath)
GetFieSize = 0
Dim FSO, F
On Error Resume Next
Set FSO = Server.CreateObject(Setting(99))
Set F = FSO.GetFile(FilePath)
GetFieSize = F.size
Set F = Nothing:Set FSO = Nothing
End Function
'取得目录大小
Public Function GetFolderSize(FolderPath)
dim fso:Set FSO = Server.CreateObject(Setting(99))
if fso.FolderExists(Server.MapPath(FolderPath)) then
dim userfilespace:set UserFileSpace=FSO.GetFolder(Server.MapPath(FolderPath))
GetFolderSize=UserFileSpace.size
else
GetFolderSize=0:exit function
end if
set userfilespace=nothing:set fso=nothing
End Function
'*************************************************************************************
'文件备份过程
'过程名:backupdata
'参数:CurrPath原文件完整物理地址,BackPath目标备份文件完整物理地址
'*************************************************************************************
Public Function BackUpData(CurrPath, BackPath)
On Error Resume Next
Dim FSO:Set FSO = Server.CreateObject(Setting(99))
FSO.copyfile CurrPath, BackPath
If Err Then
BackUpData = False
Else
BackUpData = True
End If
FSO.Close:Set FSO = Nothing
End Function
'------------------检查某一目录是否存在-------------------
Public Function CheckDir(FolderPath)
Dim fso1
FolderPath = Server.MapPath(".") & "\" & FolderPath
Set fso1 = CreateObject(Setting(99))
If fso1.FolderExists(FolderPath) Then
CheckDir = True
Else
CheckDir = False
End If
Set fso1 = Nothing
End Function
'------------------检查某一文件是否存在-------------------
Public Function CheckFile(FileName)
On Error Resume Next
Dim FsoObj
Set FsoObj = Server.CreateObject(Setting(99))
If Not FsoObj.FileExists(Server.MapPath(FileName)) Then
CheckFile = False
Exit Function
End If
CheckFile = True:Set FsoObj = Nothing
End Function
'**************************************************
'函数名:WriteTOFile
'作 用:写内容到指定的html文件
'参 数:Filename ----目标文件件 如 mb\index.htm
' Content ------要写入目标文件的内容
'返回值:成功返回true ,失败返回false
'**************************************************
Public Function WriteTOFile(FileName, Content)
On Error Resume Next
Dim FSO, FileObj
Set FSO = Server.CreateObject(Setting(99))
Set FileObj = FSO.CreateTextFile(Server.MapPath(FileName), True) '创建文件
FileObj.Write Content
FileObj.Close '释放对象
Set FileObj = Nothing:Set FSO = Nothing
If Err.Number <> 0 Then
WriteTOFile = False
Else
WriteTOFile = True
End If
End Function
'**************************************************
'函数名:ReadFromFile
'作 用:写内容到指定的html文件
'参 数:Filename ----目标文件件 如 mb\index.htm
'返回值:成功返回文件内容 ,失败返回""
'**************************************************
Public Function ReadFromFile(FileName)
On Error Resume Next
Dim FsoObj, FileStreamObj, FileObj
Set FsoObj = Server.CreateObject(Setting(99))
If CheckFile(FileName) = False Then
Call Alert("错误提示:\n\n[" & Server.MapPath(FileName) & "]文件不存在", ""):Exit Function
End If
Set FileObj = FsoObj.GetFile(Server.MapPath(FileName))
Set FileStreamObj = FileObj.OpenAsTextStream(1)
If Not FileStreamObj.AtEndOfStream Then
ReadFromFile = FileStreamObj.ReadAll
Else
ReadFromFile = ""
End If
End Function
'**************************************************
'函数名:MakeRandom
'作 用:生成指定位数的随机数
'参 数: maxLen ----生成位数
'返回值:成功:返回随机数
'**************************************************
Public Function MakeRandom(ByVal maxLen)
Dim strNewPass,whatsNext, upper, lower, intCounter
Randomize
For intCounter = 1 To maxLen
upper = 57:lower = 48:strNewPass = strNewPass & Chr(Int((upper - lower + 1) * Rnd + lower))
Next
MakeRandom = strNewPass
End Function
'生成随机密码
Function GetRndPassword(PasswordLen)
Dim Ran, i, strPassword
strPassword = ""
For i = 1 To PasswordLen
Randomize
Ran = CInt(Rnd * 2)
Randomize
If Ran = 0 Then
Ran = CInt(Rnd * 25) + 97
strPassword = strPassword & UCase(Chr(Ran))
ElseIf Ran = 1 Then
Ran = CInt(Rnd * 9)
strPassword = strPassword & Ran
ElseIf Ran = 2 Then
Ran = CInt(Rnd * 25) + 97
strPassword = strPassword & Chr(Ran)
End If
Next
GetRndPassword = strPassword
End Function
'**************************************************
'函数名:MakeRandomChar
'作 用:生成指定位数的随机数字符串 如 "sJKD_!@KK"
'参 数: Length ----生成位数
'返回值:成功返回随机字符串
'**************************************************
Public Function MakeRandomChar(Length)
Dim I, tempS, v
Dim c(65)
tempS = ""
c(1) = "a": c(2) = "b": c(3) = "c": c(4) = "d": c(5) = "e": c(6) = "f": c(7) = "g"
c(8) = "h": c(9) = "i": c(10) = "j": c(11) = "k": c(12) = "l": c(13) = "m": c(14) = "n"
c(15) = "o": c(16) = "p": c(17) = "q": c(18) = "r": c(19) = "s": c(20) = "t": c(21) = "u"
c(22) = "v": c(23) = "w": c(24) = "x": c(25) = "y": c(26) = "z": c(27) = "1": c(28) = "2"
c(29) = "3": c(30) = "4": c(31) = "5": c(32) = "6": c(33) = "7": c(34) = "8": c(35) = "9"
c(36) = "-": c(37) = "_": c(38) = "@": c(39) = "!": c(40) = "A": c(41) = "B": c(42) = "C"
c(43) = "D": c(44) = "E": c(45) = "F": c(46) = "G": c(47) = "H": c(48) = "I": c(49) = "J": c(50) = "K"
c(51) = "L": c(52) = "M": c(53) = "N": c(54) = "O": c(55) = "P": c(56) = "Q": c(57) = "R": c(58) = "S"
c(59) = "J": c(60) = "U": c(61) = "V": c(62) = "W": c(63) = "X": c(64) = "Y": c(65) = "Z"
If IsNumeric(Length) = False Then
MakeRandomChar = "":Exit Function
End If
For I = 1 To Length
Randomize
v = Int((65 * Rnd) + 1):tempS = tempS & c(v)
Next
MakeRandomChar = tempS
End Function
'**************************************************
'函数名:GetFileName
'作 用:构造文件名。
'参 数:FsoType ----生成类型,addDate -----添加时间,GetFileNameType--扩展名
'**************************************************
Public Function GetFileName(FsoType, AddDate, GetFileNameType)
Dim N
Randomize
N = Rnd * 10 + 5
Select Case FsoType
Case 1:GetFileName = Year(AddDate) & "/" & Month(AddDate) & "-" & Day(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年/月-日/随机数+扩展名
Case 2:GetFileName = Year(AddDate) & "/" & Month(AddDate) & "/" & Day(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年/月/日/随机数+扩展名
Case 3:GetFileName = Year(AddDate) & "-" & Month(AddDate) & "-" & Day(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年-月-日/随机数+扩展名
Case 4:GetFileName = Year(AddDate) & "/" & Month(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年/月/随机数+扩展名
Case 5:GetFileName = Year(AddDate) & "-" & Month(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年-月/随机数+扩展名
Case 6:GetFileName = Year(AddDate) & Month(AddDate) & Day(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年月日/随机数+扩展名
Case 7:GetFileName = Year(AddDate) & "/" & MakeRandom(N) & GetFileNameType '年/随机数+扩展名
Case 8:GetFileName = Year(AddDate) & Month(AddDate) & Day(AddDate) & MakeRandom(N) & GetFileNameType '年+月+日+随机数+扩展名
Case 9:GetFileName = MakeRandom(N) & GetFileNameType
Case 10:GetFileName = MakeRandomChar(N) & GetFileNameType '随机字符
Case 11:GetFileName ="ID"
Case Else
GetFileName = Year(AddDate) & Month(AddDate) & Day(AddDate) & GetFileNameType '12位随机数+扩展名
End Select
End Function
'**************************************************
'函数名:Alert
'作 用:弹出成功提示。
'参 数:SuccessStr ----成功提示信息
' Url ------成功提示按下"确定"转向链接
'返回值:无
'**************************************************
Public Function Alert(SuccessStr, Url)
If Url <> "" Then
Response.Write ("")
Else
Response.Write ("")
End If
End Function
'**************************************************
'函数名:AlertHistory
'作 用:弹出警告消息后,停止所在页面的执行,返回n级。
'参 数:SuccessStr ----成功提示信息
' n ------返回级数
'返回值:无
'**************************************************
Public Function AlertHistory(SuccessStr, N)
Response.Write ("")
Response.End
End Function
'提示成功。并返回
Sub AlertHintScript(SuccessStr)
Response.Write "" & vbCrLf
Response.End
End Sub
'**************************************************
'函数名:Confirm
'作 用:弹出成功提示。
'参 数:SuccessStr ----成功提示信息
' Url ------成功提示按下"确定"转向链接
' Url1 ------confirm按下"取消"转向链接
'返回值:无
'**************************************************
Public Function Confirm(SuccessStr, Url, Url1)
Response.Write ("")
End Function
'**************************************************
'函数名:ShowError
'作 用:显示错误信息。
'参 数:Errmsg ----出错信息
'返回值:无
'**************************************************
Public Sub ShowError(Errmsg)
With Response
.Write ("")
.Write ("
")
.Write (" ")
.Write (" ")
.Write (" ")
.Write (" " & Errmsg & " ")
.Write (" ")
.Write (" ")
.Write (" ")
.Write (" ")
.Write (" ")
.Write (" ...::: 点 此 返 回 ")
.Write (" :::... ")
.Write ("
")
.Write (" ")
.Write ("
")
.Write (" ")
.Write ("
")
.End
End With
end sub
'*****************************************************************************************
'函数名:ReturnPowerResult
'作 用:检查操作权限。
'参 数:ChannelID---所在系统(频道) 1文章系统2图片系统等 PowerOpName ---当前操作的权限名称
'返回值:允许返回true,否则返回false
'******************************************************************************************
Public Function ReturnPowerResult(ChannelID, PowerOpName)
If Request.Cookies(SiteSn)("AdminName") = "" Then
ReturnPowerResult = False
Exit Function
ElseIf Request.Cookies(SiteSn)("SuperTF") = "1" Then '超级管理组拥有所有权限
ReturnPowerResult = True
Exit Function
Else
If Instr(Request.Cookies(SiteSn)("ModelPower"),C_S(ChannelID,10)&"0")>0 then '没有任何管理权
ReturnPowerResult = False
ElseIf Instr(Request.Cookies(SiteSn)("ModelPower"),C_S(ChannelID,10)&"1")>0 then '拥有所有权限
ReturnPowerResult = True
ElseIf Instr(Request.Cookies(SiteSn)("ModelPower"),C_S(ChannelID,10)&"2")>0 then '限制栏目,拥有部分权限
ReturnPowerResult = CheckPower(PowerOpName)
Else
ReturnPowerResult = CheckPower(PowerOpName)
End If
End If
End Function
'结合上面ReturnPowerResult过程序使用
Public Function CheckPower(PowerOpName)
Dim PowerList, ModelPower
PowerList = Trim(Session(SiteSn&"PowerList"))
If (PowerList <> "") And (PowerOpName <> "") Then
Select Case Left(PowerOpName, 4) '检查是否有模块的总权限
Case "KMST" '系统
If Instr(Request.Cookies(SiteSn)("ModelPower"),"sysset0") >0 and Request.Cookies(SiteSn)("SuperTF")<>"1" Then ModelPower = false else ModelPower=true
Case "KMUA" '用户
If Instr(Request.Cookies(SiteSn)("ModelPower"),"user0") >0 and Request.Cookies(SiteSn)("SuperTF")<>"1" Then ModelPower = false else ModelPower=true
Case "KMTL"
If Instr(Request.Cookies(SiteSn)("ModelPower"),"lab0")>0 and Request.Cookies(SiteSn)("SuperTF")<>"1" Then ModelPower = false else ModelPower=true
Case "KSMM"
If Instr(Request.Cookies(SiteSn)("ModelPower"),"model0")>0 and Request.Cookies(SiteSn)("SuperTF")<>"1" Then ModelPower = false else ModelPower=true
Case "KSMS"
If Instr(Request.Cookies(SiteSn)("ModelPower"),"subsys0")>0 and Request.Cookies(SiteSn)("SuperTF")<>"1" Then ModelPower = false else ModelPower=true
Case Else
ModelPower = true
End Select
If InStr(PowerList, PowerOpName) <> 0 And ModelPower Then
CheckPower = True:Exit Function
Else
CheckPower = False:Exit Function
End If
Else
CheckPower = False:Exit Function
End If
End Function
'结合上面ReturnPowerResult过程使用, ReturnFlag ----类型 0关闭,1返回前一页2,转向URL, Url -错误后转向的Url
Sub ReturnErr(ReturnFlag, Url)
If ReturnFlag = 0 Then
Response.Write ("")
ElseIf ReturnFlag = 1 Then
Response.Write ("")
ElseIf ReturnFlag = 2 Then
Response.Write ("")
End If
End Sub
'插入网站后台日志 , UserName --- 管理员账号 , ResultTF ---0登录失败 1---登录成功 ,ScriptName---登录路径 ,Descript---描述信息
Sub InsertLog(UserName, ResultTF, ScriptName, Descript)
Dim SystemStr:SystemStr = Request.ServerVariables("HTTP_USER_AGENT")
If InStr(SystemStr, "Windows NT 5.2") Then
SystemStr = "Win2003"
ElseIf InStr(SystemStr, "Windows NT 5.0") Then
SystemStr = "Win2000"
ElseIf InStr(SystemStr, "Windows NT 5.1") Then
SystemStr = "WinXP"
ElseIf InStr(SystemStr, "Windows NT") Then
SystemStr = "WinNT"
ElseIf InStr(SystemStr, "Windows 9") Then
SystemStr = "Win9x"
ElseIf InStr(SystemStr, "unix") Or InStr(SystemStr, "linux") Or InStr(SystemStr, "SunOS") Or InStr(SystemStr, "BSD") Then
SystemStr = "类似Unix"
ElseIf InStr(SystemStr, "Mac") Then
SystemStr = "Mac"
Else
SystemStr = "Other"
End If
Conn.Execute("Insert into KS_Log(UserName,ResultTF,LoginTime,LoginOS,LoginIP,ScriptName,Description) values('" & UserName & "'," & ResultTF & "," & SqlNowString & ",'" & replace(SystemStr,"'","""") & "','" & getip & "','" & replace(scriptname,"'","""") & "','" & replace(descript,"'","""") & "')")
End Sub
'显示分页的前部分
'参数说明:PageStyle-分页样式,ItemUnit-单位,TotalPage-总页数,CurrPage-当前第N页,TotalInfo-总信息数,PerPageNumber-每页显示数
Function GetPrePageList(PageStyle,ItemUnit,TotalPage,CurrPage,TotalInfo,PerPageNumber)
Select Case Cint(PageStyle)
Case 1:GetPrePageList= "" & "共 " & TotalInfo & " " & ItemUnit &" 页次:
" & CurrPage & " /" & TotalPage & "页 " & PerPageNumber & " " & ItemUnit &"/页 "
Case 2:GetPrePageList= "
第
" & CurrPage & " 页 共" & TotalPage & "页 "
Case 3:GetPrePageList= "
第
" & CurrPage & " 页 共" & TotalPage & "页 "
End Select
End Function
'动态显示分页
Function GetPageList(FileName,PageStyle,CurrPage,TotalPage, ShowTurnToFlag)
Dim PageStr, I, J, SelectStr
If ChkClng(PageStyle)=0 Then PageStyle=1
Select Case PageStyle
Case 1
If CurrPage = 1 And CurrPage <> TotalPage Then
PageStr = "首页 上一页
下一页 尾页 "
ElseIf CurrPage = 1 And CurrPage = TotalPage Then
PageStr = "首页 上一页 下一页 尾页"
ElseIf CurrPage = TotalPage And CurrPage <> 2 Then '对于最后一页刚好是第二页的要做特殊处理
PageStr = "
首页 上一页 下一页 尾页"
ElseIf CurrPage = TotalPage And CurrPage = 2 Then
PageStr = "
首页 上一页 下一页 尾页"
ElseIf CurrPage = 2 Then
PageStr = "
首页 上一页 下一页 尾页 "
Else
PageStr = "
首页 上一页 下一页 尾页 "
End If
Case 2
If CurrPage=1 Then
PageStr="
9 7 "
ElseIf CurrPage=2 Then
PageStr="
9 7 "
Else
PageStr="
9 7 "
End If
dim startpage,n
startpage=1
if (CurrPage>=10) then startpage=(CurrPage\10-1)*10+CurrPage mod 10+2
For J=startpage To TotalPage
'If J>TotalPage Then Exit For
If J= CurrPage Then
PageStr=PageStr & "
" & J &" "
Else
PageStr=PageStr & "
" & J &" "
End If
n=n+1
if n>=10 then exit for
Next
If CurrPage=TotalPage Then
PageStr=PageStr & "
8 : "
Else
PageStr=PageStr & "
8 : "
End If
Case 3
If CurrPage=1 Then
PageStr="
9 7 "
ElseIf CurrPage=2 Then
PageStr="
9 7 "
Else
PageStr="
9 7 "
End If
If CurrPage=TotalPage Then
PageStr=PageStr & "
8 : "
Else
PageStr=PageStr & "
8 : "
End If
End Select
If CBool(ShowTurnToFlag) = True Then
PageStr = PageStr & " 转到:
"
For J = 1 To TotalPage
If J = CurrPage Then
SelectStr = " selected"
Else
SelectStr = ""
End If
If J = 1 Then
PageStr = PageStr & "第" & J & "页 "
Else
PageStr = PageStr & "第" & J & "页 "
End If
Next
PageStr = PageStr & " "
End If
GetPageList=PageStr &"
"
End Function
'*************************************************************************************
'函数名:GetClassID
'作 用:生成新目录或频道的ID号,生成目录ID 年+10位随机
'参 数:无
'*************************************************************************************
Public Function GetClassID()
Dim RSC:Set RSC=Server.CreateObject("ADODB.RECORDSET")
Do While True
GetClassID = Year(Now()) & MakeRandom(10)
RSC.Open "Select ID from KS_Class Where ID='" & GetClassID & "'", Conn, 1, 1
If RSC.EOF And RSC.BOF Then Exit Do
Loop
RSC.Close:Set RSC = Nothing
End Function
'*************************************************************************************
'函数名:GetGQTypeName
'作 用:获得供求的交易类别名称
'参 数:TypeID
'*************************************************************************************
Public Function GetGQTypeName(TypeID)
If Not IsNumeric(TypeID) Then GetGQTypeName="":Exit Function
Dim KS_RS_Obj:Set KS_RS_Obj=Server.CreateObject("ADODB.RECORDSET")
KS_RS_Obj.Open "Select TypeName,TypeColor From KS_GQType Where TypeID=" & TypeID,Conn,1,1
If Not KS_RS_Obj.Eof Then
GetGQTypeName="
" & KS_RS_Obj(0)& " "
Else
GetGQTypeName=""
End If
KS_RS_Obj.Close:Set KS_RS_Obj=Nothing
End Function
'返回供求交易类型列表
'参数:Flag:1-标签调用 0-添加信息时调用
Public Function ReturnGQType(SelID,Flag)
Dim SQL,K,RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open "Select TypeID,TypeName,TypeColor From KS_GQType Order By TypeID",Conn,1,1
If Flag=1 Then
ReturnGQType="
"
If SelID = "0" Then ReturnGQType=ReturnGQType & "- 交易类型不限 - " Else ReturnGQType=ReturnGQType & "- 交易类型不限 - "
Else
ReturnGQType=""
ReturnGQType=ReturnGQType & "==请选择== "
End If
SQL=RS.GetRows(-1):RS.CLose:Set RS=Nothing
For K=0 To Ubound(SQL,2)
If Cint(SelID)=sql(0,k) Then
ReturnGQType=ReturnGQType & "" & sql(1,k) & " "
else
ReturnGQType=ReturnGQType & "" & sql(1,k) & " "
end if
Next
ReturnGQType=ReturnGQType & " "
End Function
'*************************************************************************************
'函数名:GetInfoID
'作 用:生成文章,图片或下载等的唯一ID
'参 数:ChannelID--频道ID
'*************************************************************************************
Public Function GetInfoID(ChannelID)
On Error Resume Next
Dim RSC, TableNameStr
Set RSC=Server.CreateObject("ADODB.RECORDSET")
Select Case C_S(ChannelID,6)
Case 1:TableNameStr = "Select NewsID From " & KS.C_S(ChannelID,2) & " Where NewsID='"
Case 2:TableNameStr = "Select PicID From " & KS.C_S(ChannelID,2) & " Where PicID='"
Case 3:TableNameStr = "Select DownID From " & KS.C_S(ChannelID,2) & " Where DownID='"
Case 4:TableNameStr = "Select FlashID From " & KS.C_S(ChannelID,2) & " Where FlashID='"
Case 5:TableNameStr = "Select ProID From " & KS.C_S(ChannelID,2) & " Where ProID='"
Case 7:TableNameStr = "Select MovieID From " & KS.C_S(ChannelID,2) & " Where MovieID='"
Case 8:TableNameStr = "Select GQID From " & KS.C_S(ChannelID,2) & " Where GQID='"
End Select
Do While True
GetInfoID = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Now(), "-", ""), " ", ""), ":", ""), "PM", ""), "AM", ""), "上午", ""), "下午", "") & MakeRandom(3)
RSC.Open TableNameStr & GetInfoID & "'", Conn, 1, 1
If RSC.EOF And RSC.BOF Then Exit Do
Loop
RSC.Close:Set RSC = Nothing
End Function
'*************************************************************************************
'函数名:ReplaceInnerLink
'作 用:替换站内链接
'参 数:Content-待替换内容
'*************************************************************************************
Public Function ReplaceInnerLink(Content)
If Not IsObject(Application(SiteSN & "_InnerLink")) then
Dim Rs:Set Rs = Conn.Execute("Select Title,Url,OpenType From KS_InnerLink Where OpenTF=1 Order By ID")
Set Application(SiteSN & "_InnerLink")=RecordsetToxml(Rs,"InnerLink","InnerLinkList")
Set Rs = Nothing
end if
Dim Node
For Each Node In Application(SiteSN & "_InnerLink").DocumentElement.SelectNodes("InnerLink")
If InStr(Content,Node.selectSingleNode("@ks0").text)>0 Then
Dim OpenTypeStr:OpenTypeStr = G_O_T_S(Node.selectSingleNode("@ks2").text)
Content= Replace(Content,Node.selectSingleNode("@ks0").text,""&Node.selectSingleNode("@ks0").text&" ")
End if
Next
ReplaceInnerLink = Content
End Function
'=============================================================
'函数作用:判断来源URL是否来自外部
'=============================================================
Public Function CheckOuterUrl()
On Error Resume Next
Dim server_v1, server_v2
server_v1 = Replace(LCase(Trim(Request.ServerVariables("HTTP_REFERER"))), "http://", "")
server_v2 = LCase(Trim(Request.ServerVariables("SERVER_NAME")))
CheckOuterUrl = True
If Mid(server_v1,8,len(server_v2))=server_v2 Then CheckOuterUrl=False
End Function
'加密
Function Encrypt(ecode)
dim texts,i
for i=1 to len(ecode)
texts=texts & chr(asc(mid(ecode,i,1))+3)
next
Encrypt = texts
End Function
'解密
Function Decrypt(dcode)
dim texts,i
for i=1 to len(dcode)
texts=texts & chr(asc(mid(dcode,i,1))-3)
next
Decrypt=texts
End Function
'匹配 img src,结果以|隔开
Function GetImgSrcArr(strng)
Dim regEx,Match,Matches,values
Set regEx = New RegExp
regEx.Pattern = "src\=.+?\.(gif|jpg)"
regEx.IgnoreCase = true
regEx.Global = True
Set Matches = regEx.Execute(strng)
For Each Match in Matches
values=values&Match.Value&"|"
Next
GetImgSrcArr = Replace(Replace(Replace(Replace(values,"'",""),"""",""),"src=",""),Setting(2),"")
If GetImgSrcArr<>"" Then GetImgSrcArr = left(GetImgSrcArr,len(GetImgSrcArr)-1)
End Function
'取得Request.Querystring 或 Request.Form 的值
Public Function G(Str)
G = Replace(Replace(Request(Str), "'", ""), """", "")
End Function
Function DelSql(Str)
Dim SplitSqlStr,SplitSqlArr,I
SplitSqlStr="dbcc|alter|drop|*|and|exec|or |insert|select|delete|update|count |master|truncate|declare|char|mid|chr|set |where|xp_cmdshell"
SplitSqlArr = Split(SplitSqlStr,"|")
For I=LBound(SplitSqlArr) To Ubound(SplitSqlArr)
If Instr(LCase(Str),SplitSqlArr(I))>0 Then
Response.Write ""
Response.End
End if
Next
DelSql = Str
End Function
'取得Request.Querystring 或 Request.Form 的值
Public Function S(Str)
S = DelSql(Replace(Replace(Request(Str), "'", ""), """", ""))
End Function
'读Cookies值
Public Function C(Str)
C=DelSql(Request.Cookies(SiteSN)(Str))
End Function
'关闭采集数据库对象
Public Sub CloseConnItem()
On Error Resume Next
If IsObject(ConnItem) Then
ConnItem.Close:Set ConnItem = Nothing
End If
End Sub
'文章自动分页
'参数:Content-文章内容 SplitPageStr-文章分隔线 PerPageLen-每页大约字符数
Function AutoSplitPage(Content,SplitPageStr,PerPageLen)
on error resume next
Dim Inti,StrTrueContent,iPageLen,DLocation,XLocation,CurrContent,i,currlen
If Content="" Or PerPageLen=0 Or Instr(1,Content,SplitPageStr)>0 Then AutoSplitPage=Content:Exit Function
Inti=instr(1,Content,"<"):i=0
If inti=0 then '不存在Html标记
do while i< strlength(Content)
i=i+1
dim c:c=Asc(Mid(Content,i,1))
if Err.Number <> 0 Then Err.Clear:currlen=currlen+2 else currlen=currlen+1
if currlen>=PerPageLen and mid(Content,i+1)<>"" then Content=left(Content,i)&SplitPageStr&mid(Content,i+1):i=i+10:currlen=0
loop
AutoSplitPage=Content:Exit Function
Else
StrTrueContent=left(Content,Inti-1):iPageLen=strLength(StrTrueContent):inti=inti+1:iPageLen=0
do while instr(Inti,Content,">")<>0
DLocation=instr(Inti,Content,">")
XLocation=instr(DLocation,Content,"<")
If XLocation>DLocation+1 then
Inti=XLocation:StrTrueContent=mid(Content,DLocation+1,XLocation-DLocation-1):iPageLen=iPageLen+strLength(StrTrueContent)
If iPageLen>PerPageLen then
CurrContent=Lcase(left(Content,XLocation-1))
If AutoSplitPageTF(CurrContent,"table|a|b>|i>|strong|div")=true then Content=left(Content,XLocation-1)&SplitPageStr&mid(Content,XLocation):iPageLen=0
End If
ElseIf XLocation=0 then
Exit Do
ElseIf XLocation=DLocation+1 then
Inti=XLocation
End If
loop
End If
AutoSplitPage=Content
End Function
'结合以上函数使用
Function AutoSplitPageTF(TempStr,HtmlTagStr)
Dim BeginHtmlTagNum,EndHtmlTagNum,HtmlTagArr,i
If TempStr="" Or HtmlTagStr="" Then AutoSplitPageTF=False:Exit Function
HtmlTagArr=split(HtmlTagStr,"|")
For i = 0 to Ubound(HtmlTagArr)
Dim BeginHtmlTag:BeginHtmlTag="<"&HtmlTagArr(i)
Dim EndHtmlTag:EndHtmlTag =""&HtmlTagArr(i)
Dim Inti:Inti=0
do while instr(Inti+1,TempStr,BeginHtmlTag)<>0
Inti=instr(Inti+1,TempStr,BeginHtmlTag):BeginHtmlTagNum=BeginHtmlTagNum+1
Loop
Inti=0
do while instr(Inti+1,TempStr,EndHtmlTag)<>0
Inti=instr(Inti+1,TempStr,EndHtmlTag):EndHtmlTagNum=EndHtmlTagNum+1
Loop
If EndHtmlTagNum=BeginHtmlTagNum then AutoSplitPageTF=true Else AutoSplitPageTF=False:Exit Function
Next
End Function
Public Function HTMLEncode(fString)
If Not IsNull(fString) then
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, CHR(32), " ")
fString = Replace(fString, CHR(9), " ")
fString = Replace(fString, CHR(34), """)
fString = Replace(fString, CHR(39), "'")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), " ")
fString = Replace(fString, CHR(10), " ")
HTMLEncode = fString
End If
End Function
Public Function HTMLCode(fString)
If Not IsNull(fString) then
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
'fString = Replace(fString, " "," ")
fString = Replace(fString, """, CHR(34))
fString = Replace(fString, "'", CHR(39))
fString = Replace(fString, "
",CHR(10) & CHR(10))
fString = Replace(fString, " ", CHR(10))
HTMLCode = fString
End If
End Function
Public Function IsObjInstalled(strClassString)
On Error Resume Next
IsObjInstalled = False
Err = 0
Dim xTestObj:Set xTestObj = Server.CreateObject(strClassString)
If 0 = Err Then IsObjInstalled = True
Set xTestObj = Nothing
Err = 0
End Function
Public Function IsExpired(strClassString)
On Error Resume Next
IsExpired = True
Err = 0
Dim xTestObj:Set xTestObj = Server.CreateObject(strClassString)
If 0 = Err Then
Select Case strClassString
Case "Persits.Jpeg"
If xTestObjResponse.Expires > Now Then
IsExpired = False
End If
Case "wsImage.Resize"
If InStr(xTestObj.errorinfo, "已经过期") = 0 Then
IsExpired = False
End If
Case "SoftArtisans.ImageGen"
xTestObj.CreateImage 500, 500, RGB(255, 255, 255)
If Err = 0 Then
IsExpired = False
End If
End Select
End If
Set xTestObj = Nothing
Err = 0
End Function
Public Function ExpiredStr(I)
Dim ComponentName(3)
ComponentName(0) = "Persits.Jpeg"
ComponentName(1) = "wsImage.Resize"
ComponentName(2) = "SoftArtisans.ImageGen"
ComponentName(3) = "CreatePreviewImage.cGvbox"
If IsObjInstalled(ComponentName(I)) Then
If IsExpired(ComponentName(I)) Then
ExpiredStr = ",但已过期"
Else
ExpiredStr = ""
End If
ExpiredStr = " √支持" & ExpiredStr
Else
ExpiredStr = "×不支持"
End If
End Function
'======================================会员相关函数====================================
'取得会员组选项--下拉列表 参数:Selected--默认选项
Public Function GetUserGroup_Option(Selected)
Dim RSObj:Set RSObj=Server.CreateObject("Adodb.Recordset")
RSObj.Open "Select ID,GroupName From KS_UserGroup",Conn,1,1
Do While Not RSObj.Eof
IF Selected=RSObj(0) Then
GetUserGroup_Option=GetUserGroup_Option & "" & RSObj(1) & " "
Else
GetUserGroup_Option=GetUserGroup_Option & "" & RSObj(1) & " "
End If
RSObj.MoveNext
Loop
RSObj.Close:Set RSObj=Nothing
End Function
'取得会员组选项--多选列表 参数:SelectArr--默认选择项以","隔开,RowNum--每行显示选项数
Public Function GetUserGroup_CheckBox(OptionName,SelectArr,RowNum)
Dim n:n=0
Dim RSObj:Set RSObj=Server.CreateObject("Adodb.Recordset")
IF RowNum<=0 Then RowNum=3
RSObj.Open "Select ID,GroupName From KS_UserGroup",Conn,1,1
GetUserGroup_CheckBox="
"
RSObj.Close:Set RSObj=Nothing
End Function
'取得用户组名称
Public Function GetUserGroupName(GroupID)
On Error Resume Next
GetUserGroupName=Conn.Execute("Select GroupName From KS_UserGroup Where ID=" & GroupID)(0)
if err then GetUserGroupName=""
End Function
'会员投稿文章,图片,下载等增加积分,发送站内短信操作
'参数ChannelID-频道ID,UserName---用户名称,InfoTitle---投稿的主题
Public Sub SignUserInfoOK(ChannelID,UserName,InfoTitle)
IF Not IsNumeric(ChannelID) Then Exit Sub
Dim RSObj:Set RSObj=Server.CreateObject("ADODB.RECORDSET")
RSObj.Open "Select Money,Point,Score,ArticleNum,PhotoNum,SoftNum,FlashNum From KS_User Where UserName='" & UserName & "'",Conn,1,3
IF Not RSObj.Eof Then
RSObj(0)=RSObj(0)+C_S(ChannelID,18)
RSObj(1)=RSObj(1)+C_S(ChannelID,19)
RSObj(2)=RSObj(2)+C_S(ChannelID,20)
Select Case ChannelID
Case 1:RSObj(3)=RSObj(3)+1
Case 2:RSObj(4)=RSObj(4)+1
Case 3:RSObj(5)=RSObj(5)+1
Case 4:RSObj(6)=RSObj(6)+1
End Select
RSObj.Update
'成功则发送站内通知信件
Dim Sender:Sender=Setting(0)
Dim Title:Title="恭喜,您发表的稿件[" & InfoTitle & "]已被签收!!!"
Dim Message:Message="稿件标题:" & InfoTitle &" "_
& "获得金钱:" & C_S(ChannelID,18) & " 元人民币 "_
& "获得点券:" & C_S(ChannelID,19) & " " & Setting(46) & Setting(45) & " "_
& "获得积分:" & C_S(ChannelID,20) & " 分积分 "_
& " 备注:此信息由系统自动发布,请不要回复!!!"
Call PointInOrOut(ChannelID,0,UserName,1,C_S(ChannelID,19),"系统","发表稿件[" & InfoTitle & "]所得")
Call SendInfo(UserName,Sender,Title,Message)
End IF
RSObj.Close:Set RSObj=Nothing
End Sub
'功能:会员点券明细出入函数 '参数:Channelid-模块ID,InfoID-信息ID,UserName-用户名,InOrOutFlag-操作类型1收入2支出,Point-交易点数,User-操作员,Descript-操作备注
Public Function PointInOrOut(ChannelID,InfoID,UserName,InOrOutFlag,Point,User,Descript)
If Not IsNumeric(InOrOutFlag) Or Not IsNumeric(Point) Then PointInOrOut=false:Exit Function
Dim PointParam
If InOrOutFlag=1 Then
PointParam="Set Point=Point+" & Point
ElseIF InOrOutFlag=2 Then
PointParam="Set Point=Point-" & Point
Else
PointInOrOut=false:Exit Function
End If
on error resume next
Conn.Execute("Update KS_User " & PointParam & " Where UserName='" & UserName & "'")
Conn.Execute("Insert into KS_LogPoint(ChannelID,InfoID,UserName,InOrOutFlag,Point,Times,[User],Descript,Adddate,IP) values(" & ChannelID & "," & InfoID & ",'" & UserName & "',"& InOrOutFlag & "," & Point & ",1,'" & replace(User,"'","""") & "','" & replace(Descript,"'","""") & "'," & SqlNowString & ",'" & replace(getip,"'","""") & "')")
IF Err Then PointInOrOut=false Else PointInOrOut=true
End Function
'会员有效期明细出入函数
'参数:UserName,InOrOutFlag,Edays,User,Descript
Function EdaysInOrOut(UserName,InOrOutFlag,Edays,User,Descript)
If Not IsNumeric(InOrOutFlag) Or Not IsNumeric(Edays) Then EdaysInOrOut=false:Exit Function
Conn.Execute("insert into KS_LogEdays(UserName,InOrOutFlag,Edays,[user],descript,adddate,ip) values('" & UserName & "'," & InOrOutFlag & "," & Edays & ",'" & user & "','" & replace(descript,"'","""") & "'," & SqlNowString & ",'" & getip & "')")
IF Err Then EdaysInOrOut=false Else EdaysInOrOut=true
End Function
'发送站内信息
'参数Incept--接收者,Sender-发送者,title--主题,Content--信件内容
Public Sub SendInfo(Incept,Sender,title,Content)
Conn.Execute("insert Into KS_Message(Incept,Sender,Title,Content,SendTime,Flag,IsSend,DelR,DelS) values('" & Incept & "','" & Sender & "','" & replace(Title,"'","""") & "','" & replace(Content,"'","""") & "'," & SqlNowString & ",0,1,0,0)")
End Sub
'======================================================================================
End Class
%>
<%
Class RefreshFunction
Private KS,DomainStr
Private KSRFOBJ,KSLKOBJ
Private Sub Class_Initialize()
Set KS=New PublicCls
DomainStr=KS.GetDomain
Set KSLKOBJ=New RefreshLocationCls
End Sub
Private Sub Class_Terminate()
Set KS=Nothing
Set KSLKOBJ=Nothing
End Sub
'**************************************************
'函数名:GetFunctionLabel
'作 用:取得函数标签 如 sssssss{=GetFlashByPlayer(100,50)}sssss,返回{=GetFlashByPlayer(100,50)}
'参数:Content--查找的内容,MatchStr--前缀匹配字符串
'返回值:函数标签
'**************************************************
Function GetFunctionLabel(Content, MatchStr)
Dim regEx, Matches, Match,N
Set regEx = New RegExp
regEx.Pattern = MatchStr & "[^{\=}]*}"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(Content)
GetFunctionLabel = ""
For Each Match In Matches
On Error Resume Next
N=N+1
IF N=1 Then
GetFunctionLabel = Match.Value
Else
GetFunctionLabel=GetFunctionLabel & "@@@" & Match.Value
End IF
Next
End Function
'**************************************************
'函数名:GetFunctionLabelParam
'作 用:取得标签的参数,用“,”隔开 如 {=GetFlashByPlayer(100,50)},返回100,50
'参数:Content--查找的内容,MatchStr--前缀匹配字符串
'返回值:返回用","隔开的字符串参数
'**************************************************
Function GetFunctionLabelParam(Content, MatchStr)
GetFunctionLabelParam = Replace(Content, MatchStr & "(", "")
GetFunctionLabelParam = Replace(Replace(GetFunctionLabelParam, ")}", ""), """", "")
End Function
'**************************************************
'函数名:ChangeLableToFunction
'作 用:将标签转换为函数执行
'参 数: LabelContent ----标签参数
'返回值:函数执行结果
'**************************************************
Function ChangeLableToFunction(LabelContent)
Dim L_Arr:L_Arr = Split(LabelContent, ",")
If L_Arr(0) = "" Then
ChangeLableToFunction = ""
Exit Function
End If
Select Case UCase(L_Arr(0))
Case "GETSLIDE" '幻灯片图片
ChangeLableToFunction = GetSlide(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13))
Case "GETROLLS" '连续滚动图片
ChangeLableToFunction = GetRolls(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18))
Case "GETLOCATION" '网站位置导航函数
ChangeLableToFunction = KSLKOBJ.GetLocation(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6))
Case "GETBLOGLIST" '个人空间列表
ChangeLableToFunction = GetBlogList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14),L_Arr(15),L_Arr(16),L_Arr(17),L_Arr(18),L_Arr(19))
Case "GETBLOGINFOLIST" '最新日志列表函数
ChangeLableToFunction = GetBlogInfoList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14),L_Arr(15), L_Arr(16),L_Arr(17),L_Arr(18),L_Arr(19),L_Arr(20),L_Arr(21),L_Arr(22))
Case "GETXCLIST" '最新相册列表函数
ChangeLableToFunction = GetXCList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14),L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20))
Case "GETGROUPLIST" '最新圈子列表函数
ChangeLableToFunction = GetGroupList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14),L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20))
Case "GETANNOUNCELIST" '网站公告列表函数
ChangeLableToFunction = GetAnnounceList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16))
Case "GETLINKLIST" '友情链接列表函数
ChangeLableToFunction = GetLinkList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9))
Case "GETNAVIGATION" '频道或栏目导航函数
ChangeLableToFunction = GetNavigation(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15))
Case "GETARTICLELIST" '栏目文章列表函数
ChangeLableToFunction = GetArticleList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20),L_Arr(21), L_Arr(22),L_Arr(23), L_Arr(24),L_Arr(25), L_Arr(26),L_Arr(27), L_Arr(28),L_Arr(29), L_Arr(30), L_Arr(31), L_Arr(32))
Case "GETNOTRULEARTICLELIST" '不规则栏目文章列表函数
ChangeLableToFunction = GetNotRuleArticleList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20),L_Arr(21),L_Arr(22),L_Arr(23))
Case "GETCIRARTICLELIST" '循环列出文章栏目函数
ChangeLableToFunction = GetCirArticleList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26), L_Arr(27), L_Arr(28), L_Arr(29), L_Arr(30))
Case "GETLASTARTICLELIST" '文章分页列表函数
Application("PageParam")=LabelContent
ChangeLableToFunction = GetLastArticleList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26), L_Arr(27), L_Arr(28))
Case "GETPICARTICLELIST" '图片文章列表
ChangeLableToFunction = GetPicArticleList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26))
Case "GETMARQUEEARTICLE" '滚动文章
ChangeLableToFunction = GetMarqueeArticle(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15),L_Arr(16),L_Arr(17))
Case "GETCORRELATIVEARTICLE" '相关文章
ChangeLableToFunction = GetCorrelativeArticle(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25))
Case "GETSPECIALLIST" '频道专题汇总
ChangeLableToFunction = GetSpecialList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26))
Case "GETCIRSPECIALLIST" '循环显示频道专题汇总函数
ChangeLableToFunction = GetCirSpecialList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26), L_Arr(27), L_Arr(28))
Case "GETLASTSPECIALLIST" '分页显示频道专题汇总函数
Application("PageParam")=LabelContent
ChangeLableToFunction = GetLastSpecialList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22),L_Arr(23),L_Arr(24))
Case "GETPICTURELIST" '栏目图片列表
ChangeLableToFunction = GetPictureList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26), L_Arr(27), L_Arr(28), L_Arr(29), L_Arr(30), L_Arr(31), L_Arr(32))
Case "GETCIRPICTURELIST" '循环栏目图片列表
ChangeLableToFunction = GetCirPictureList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26), L_Arr(27), L_Arr(28), L_Arr(29), L_Arr(30), L_Arr(31), L_Arr(32), L_Arr(33))
Case "GETLASTPICTURELIST" '图片(专题)分页列表函数
Application("PageParam")=LabelContent
ChangeLableToFunction = GetLastPictureList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26), L_Arr(27), L_Arr(28))
Case "GETCORRELATIVEPICTURE" '相关图片
ChangeLableToFunction = GetCorrelativePicture(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26))
Case "GETDOWNLOADLIST" '栏目下载列表函数
ChangeLableToFunction = GetDownLoadList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26), L_Arr(27), L_Arr(28), L_Arr(29), L_Arr(30))
Case "GETPICDOWNLOADLIST" '图片下载列表
ChangeLableToFunction = GetPicDownLoadList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26))
Case "GETCIRDOWNLOADLIST" '循环列出下载栏目函数
ChangeLableToFunction = GetCirDownLoadList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26), L_Arr(27), L_Arr(28))
Case "GETLASTDOWNLOADLIST" '下载分页列表函数
Application("PageParam")=LabelContent
ChangeLableToFunction = GetLastDownLoadList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15),L_Arr(16),L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22),L_Arr(23),L_Arr(24),L_Arr(25),L_Arr(26))
Case "GETCORRELATIVEDOWNLOAD" '相关下载
ChangeLableToFunction = GetCorrelativeDownLoad(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18),L_Arr(19),L_Arr(20),L_Arr(21))
Case "GETPRODUCTLIST" '栏目商品列表
ChangeLableToFunction = GetProductList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26), L_Arr(27), L_Arr(28), L_Arr(29), L_Arr(30), L_Arr(31), L_Arr(32), L_Arr(33), L_Arr(34), L_Arr(35))
Case "GETCIRPRODUCTLIST" '循环商品列表
ChangeLableToFunction = GetCirProductList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26), L_Arr(27), L_Arr(28), L_Arr(29), L_Arr(30),L_Arr(31),L_Arr(32))
Case "GETLASTPRODUCTLIST" '商品分页列表函数
Application("PageParam")=LabelContent
ChangeLableToFunction = GetLastProductList(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26), L_Arr(27), L_Arr(28))
Case "GETCORRELATIVEPRODUCT" '相关商品
ChangeLableToFunction = GetCorrelativeProduct(L_Arr(1), L_Arr(2), L_Arr(3), L_Arr(4), L_Arr(5), L_Arr(6), L_Arr(7), L_Arr(8), L_Arr(9), L_Arr(10), L_Arr(11), L_Arr(12), L_Arr(13), L_Arr(14), L_Arr(15), L_Arr(16), L_Arr(17), L_Arr(18), L_Arr(19), L_Arr(20), L_Arr(21), L_Arr(22), L_Arr(23), L_Arr(24), L_Arr(25), L_Arr(26))
Case Else
ChangeLableToFunction = ""
Exit Function
End Select
End Function
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:KS_Slide
'作 用: 通用幻灯片函数
'参 数: ChannelID模块ID,SqlStr 待查询的SQL语句,OpenTypStr链接打开类型,等
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function KS_Slide(ChannelID,SqlStr, Width, Height, O_T_S, ShowTitle, T_Len, T_Css, ChangeTime,SlideType)
Dim PicUrl, TempTitle,T_CssStr,Sinapic
Dim SQL,K,RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF Then KS_Slide="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
IF Cint(SlideType)<>1 Then
Dim ImgArrStr,LinkArrStr,TextArrStr,SinapicArrStr
Dim N:N=0
For K=0 To Ubound(SQL,2)
PicUrl =SQL(7,K)
If Lcase(left(PicUrl,4))<>"http" then if left(PicUrl,1)="/" then PicUrl=Right(PicUrl,Len(PicUrl)-1): PicUrl=DomainStr & PicUrl
TempTitle = SQL(1,K)
if N=0 Then
ImgArrStr=PicUrl
LinkArrStr=KS.GetInfoUrl(ChannelID,SQL(2,K),SQL(0,K),SQL(5,K),SQL(3,K),SQL(4,K),SQL(6,K))
TextArrStr=TempTitle
SinapicArrStr=PicUrl & "#" & TempTitle
SinapicArrStr=SinapicArrStr & "#" & KS.GetInfoUrl(ChannelID,SQL(2,K),SQL(0,K),SQL(5,K),SQL(3,K),SQL(4,K),SQL(6,K))
Else
ImgArrStr=ImgArrStr & "@@@" & PicUrl
LinkArrStr=LinkArrStr & "@@@" & KS.GetInfoUrl(ChannelID,SQL(2,K),SQL(0,K),SQL(5,K),SQL(3,K),SQL(4,K),SQL(6,K))
TextArrStr=TextArrStr & "@@@" & TempTitle
SinapicArrStr=SinapicArrStr & "@@@" & PicUrl
SinapicArrStr=SinapicArrStr & "#" & TempTitle
SinapicArrStr=SinapicArrStr & "#" & KS.GetInfoUrl(ChannelID,SQL(2,K),SQL(0,K),SQL(5,K),SQL(3,K),SQL(4,K),SQL(6,K))
End if
N=N+1
Next
if Cint(SlideType)=2 then
KS_Slide=""&vbcrlf
KS_Slide=KS_Slide & "" & vbcrlf
elseif Cint(SlideType)=3 then
KS_Slide=""&vbcrlf
KS_Slide=KS_Slide & "" & vbcrlf
KS_Slide=KS_Slide & "" & vbcrlf
elseif Cint(SlideType)=4 then
KS_Slide=""&vbcrlf
KS_Slide=KS_Slide & "
" & vbcrlf
KS_Slide=KS_Slide & "" & vbcrlf
KS_Slide=KS_Slide & "
" & vbcrlf
End if
Else
KS_Slide = "" & vbCrLf)
End if
End Function
'取得幻灯片,结合以上函数
Function GetSlide(ChannelID,FolderID, I_S_C, Width, Height, Num, OpenType, ShowTitle, T_Len, T_Css, ChangeTime,SlideType,SpecialID)
Dim SqlStr, Param
If FolderID = "-1" Then FolderID = Application(KS.SiteSN & "RefreshFolderID")
If FolderID = "" Or FolderID = "0" Then Param="" Else If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
Select Case KS.C_S(ChannelID,6)
Case 1:SqlStr = "SELECT TOP " & Num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,Changes,PicUrl FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 AND PicNews=1 AND Slide=1 And " & KS.GetSpecialPara(SpecialID) & " ORDER BY ID Desc"
Case 2:SqlStr = "SELECT TOP " & Num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,0,PhotoUrl FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 AND Slide=1 And " & KS.GetSpecialPara(SpecialID) & " ORDER BY ID Desc"
Case 3:SqlStr = "SELECT TOP " & Num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,0,PhotoUrl FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 AND Slide=1 And " & KS.GetSpecialPara(SpecialID) & " ORDER BY ID Desc"
Case 4:SqlStr = "SELECT TOP " & Num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,0,PhotoUrl FROM KS_Flash Where " & Param & " Verific=1 AND DelTF=0 AND Slide=1 And " & KS.GetSpecialPara(SpecialID)& " ORDER BY ID Desc"
Case 5:SqlStr = "SELECT TOP " & Num & " ID,Title,Tid,0,0,Fname,0,PhotoUrl FROM KS_Product Where " & Param & " Verific=1 AND DelTF=0 AND Slide=1 ORDER BY ID Desc"
Case 7:SqlStr = "SELECT TOP " & Num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,0,PhotoUrl FROM KS_Movie Where " & Param & " Verific=1 AND DelTF=0 AND Slide=1 And " & KS.GetSpecialPara(SpecialID)& " ORDER BY ID Desc"
End Select
GetSlide = KS_Slide(ChannelID,SqlStr, Width, Height,KS.G_O_T_S(OpenType), ShowTitle, T_Len, T_Css, ChangeTime,SlideType)
End Function
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:KS_Rolls
'作 用: 通用连续图片滚动函数
'参 数: ChannelID模块ID,SqlStr 待查询的SQL语句等
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function KS_Rolls(ChannelID,SqlStr,M_Dir, M_Width, M_Height, OpenType, ShowTitle, Width, Height, M_Speed, T_Len, T_Css, BorderType, Border)
Dim ImgStr, TempPicStr, T_CssStr,Title, TempTitleStr, O_T_S,Url
Dim SQL,K,RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF Then KS_Rolls="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
T_CssStr = KS.GetCss(T_Css):O_T_S = KS.G_O_T_S(OpenType)
If LCase(M_Dir) = "left" Or LCase(M_Dir) = "right" Then
ImgStr = "
" & vbCrLf
ImgStr = ImgStr & "" & vbCrLf
For K=0 To Ubound(SQL,2)
Title = SQL(1,K)
TempPicStr=GetPicUrl(SQL(7,K))
Url=KS.GetInfoUrl(ChannelID,SQL(2,K),SQL(0,K),SQL(5,K),SQL(3,K),SQL(4,K),SQL(6,K))
'-------------------------给图片加边框开始-------------------------------------------------
Dim TempBorder
If BorderType = 1 And Border <> "" Then
TempBorder = TempPicStr '得到原图片
TempPicStr = Border '将原图片设定为透明边框
Else
TempBorder = Border:TempPicStr = TempPicStr
End If
Dim LinkAndPicStr: LinkAndPicStr = " "
TempPicStr = KS.GetPhotoBorder(LinkAndPicStr, BorderType, TempBorder)
'-----------------------给图片加边框结束--------------------------------------------------
TempTitleStr = "" & KS.GotTopic(Title, T_Len) & " "
ImgStr = ImgStr & "" & vbCrLf
ImgStr = ImgStr & "" & vbCrLf
ImgStr = ImgStr & "" & TempPicStr & " " & vbCrLf
If Cbool(ShowTitle) = True Then
ImgStr = ImgStr & "" & TempTitleStr & " " & vbCrLf
End If
ImgStr = ImgStr & "
" & vbCrLf
ImgStr = ImgStr & " " & vbCrLf
Next
ImgStr = ImgStr & "
" & vbCrLf
Else
ImgStr = "
" & vbCrLf
For K=0 To Ubound(SQL,2)
Title = SQL(1,K)
TempPicStr=GetPicUrl(SQL(7,K))
Url=KS.GetInfoUrl(ChannelID,SQL(2,K),SQL(0,K),SQL(5,K),SQL(3,K),SQL(4,K),SQL(6,K))
'-------------------------给图片加边框开始-------------------------------------------------
If BorderType = 1 And Border <> "" Then
TempBorder = TempPicStr '得到原图片
TempPicStr = Border '将原图片设定为透明边框
Else
TempBorder = Border
TempPicStr = TempPicStr
End If
LinkAndPicStr = " "
TempPicStr = KS.GetPhotoBorder(LinkAndPicStr, BorderType, TempBorder)
'-----------------------给图片加边框结束--------------------------------------------------
TempTitleStr = "" & KS.GotTopic(Title, T_Len) & " "
ImgStr = ImgStr & "" & vbCrLf
ImgStr = ImgStr & "" & vbCrLf
ImgStr = ImgStr & "" & TempPicStr & " " & vbCrLf
If Cbool(ShowTitle) = True Then ImgStr = ImgStr & "" & TempTitleStr & " " & vbCrLf
ImgStr = ImgStr & "
" & vbCrLf
ImgStr = ImgStr & " " & vbCrLf
Next
ImgStr = ImgStr & "
" & vbCrLf
End If
Select Case M_Dir
Case "up"
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & ImgStr
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "" & vbCrLf
Case "down"
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & ImgStr
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "" & vbCrLf
Case "left"
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "" & vbCrLf
KS_Rolls = KS_Rolls & ImgStr
KS_Rolls = KS_Rolls & " " & vbCrLf
KS_Rolls = KS_Rolls & " " & vbCrLf
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "" & vbCrLf
Case "right"
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & ImgStr
KS_Rolls = KS_Rolls & "
" & vbCrLf
KS_Rolls = KS_Rolls & "" & vbCrLf
End Select
End Function
'取得连续滚动图片
Function GetRolls(ChannelID,FolderID, I_S_C, M_Dir, SqlSort, M_Width, M_Height, OpenType, ShowTitle, Width, Height, M_Speed, Num, T_Len, T_Css, BorderType, Border,SpecialID)
Dim SqlStr,Param
If FolderID = "-1" Then FolderID = Application(KS.SiteSN & "RefreshFolderID")
If FolderID = "" Or FolderID = "0" Then Param="" Else If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
Select Case KS.C_S(ChannelID,6)
Case 1:SqlStr = "SELECT top " & Num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,Changes,PicUrl FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Rolls=1 And PicNews=1 AND Verific=1 AND DelTF=0 And " & KS.GetSpecialPara(SpecialID)& " order by IsTop Desc," & SqlSort
Case 2:SqlStr = "SELECT top " & Num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,0,PhotoUrl FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Rolls=1 AND Verific=1 AND DelTF=0 And " & KS.GetSpecialPara(SpecialID) & " order by " & SqlSort
Case 3:SqlStr = "SELECT top " & Num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,0,PhotoUrl FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Rolls=1 AND Verific=1 AND DelTF=0 And " & KS.GetSpecialPara(SpecialID) & " order by " & SqlSort
Case 4:SqlStr = "SELECT top " & Num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,0,PhotoUrl FROM KS_Flash Where " & Param & " Rolls=1 AND Verific=1 AND DelTF=0 And " & KS.GetSpecialPara(SpecialID)& " order by " & SqlSort
Case 5:SqlStr = "SELECT top " & Num & " ID,Title,Tid,0,0,Fname,0,PhotoUrl FROM KS_Product Where " & Param & " Rolls=1 AND Verific=1 AND DelTF=0 And " & KS.GetSpecialPara(SpecialID)& " order by " & SqlSort
Case 7:SqlStr = "SELECT top " & Num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,0,PhotoUrl FROM KS_Movie Where " & Param & " Rolls=1 AND Verific=1 AND DelTF=0 And " & KS.GetSpecialPara(SpecialID)& " order by " & SqlSort
End Select
GetRolls=KS_Rolls(ChannelID,SqlStr,M_Dir, M_Width, M_Height, OpenType, ShowTitle, Width, Height, M_Speed, T_Len, T_Css, BorderType, Border)
End Function
'==========================================================================文章发布中心通用函数声明==============================
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:KS_A_L
'作 用:通用栏目文章列表
'参 数:SqlStr 待查询的SQL语句,M_L_S更多链接字串,O_T_S链接打开类型,等
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function KS_A_L(ChannelID,SqlStr, M_L_S, S_C_N, O_T_S, R_H, T_Len, Col, PicTF, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, DateCss,NewTF,HotTF,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
' On Error Resume Next
Dim K,I, C_N_Link, NaviStr,ColSpanNum, TempTitle,SQL,N
Dim RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF Then KS_A_L="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
Dim TotalNum:TotalNum=Ubound(SQL,2)
Dim Title, T_CssStr, DateCssStr,NewImgStr,HotImgStr,DateStr
T_CssStr = KS.GetCss(T_Css):DateCssStr = KS.GetCss(DateCss):R_H = KS.G_R_H(R_H):NaviStr = KS.GetNavi(NavType, Nav)
If P_T=2 Then
KS_A_L = "
" & vbCrLf & "
" & vbCrLf
For K=0 To TotalNum
If CBool(S_C_N) = True Then C_N_Link = "[" & KS.GetClassNP(SQL(2,K)) & "]"
Title = SQL(1,K)
TempTitle = GetArticleTitle(Title, T_Len, PicTF, SQL(12,K), SQL(13,K), SQL(14,K))
If Cbool(NewTF)=True And (Year(SQL(7,K))&Month(SQL(7,K))&Day(SQL(7,K)) =Year(Now)&Month(Now)&Day(Now)) Then NewImgStr=" " Else NewImgStr=""
If Cbool(HotTF)=True And SQL(8,K)=1 Then HotImgStr=" " Else HotImgStr=""
DateStr=KS.GetDCDateStr(SQL(7,K),DateRule,DateCssStr)
TempTitle = "" & TempTitle & " "
KS_A_L = KS_A_L & (" " & NaviStr & C_N_Link & TempTitle &NewImgStr&HotImgStr& DateStr & " " & vbCrLf)
Next
KS_A_L = KS_A_L & M_L_S& vbCrLf
KS_A_L = KS_A_L & " " & vbCrLf
KS_A_L = KS_A_L & ("
" & vbCrLf)
Else
KS_A_L = "
" & vbCrLf
For K=0 To TotalNum
KS_A_L = KS_A_L & "" & vbCrLf
For I = 1 To Col
If CBool(S_C_N) = True Then C_N_Link = "[" & KS.GetClassNP(SQL(2,N)) & "] "
Title = SQL(1,N)
TempTitle = GetArticleTitle(Title, T_Len, PicTF, SQL(12,N), SQL(13,N), SQL(14,N))
If Cbool(NewTF)=True And (Year(SQL(7,N))&Month(SQL(7,N))&Day(SQL(7,N)) =Year(Now)&Month(Now)&Day(Now)) Then NewImgStr=" " Else NewImgStr=""
If Cbool(HotTF)=True And SQL(8,N)=1 Then HotImgStr=" " Else HotImgStr=""
DateStr=KS.GetDateStr(SQL(7,N),DateRule,DateAlign,DateCssStr,Col,ColSpanNum)
TempTitle = "" & TempTitle & " "
If Col=1 Then
KS_A_L = KS_A_L & (" " & (NaviStr & C_N_Link & TempTitle &NewImgStr&HotImgStr& DateStr) & " " & vbCrLf)
Else
KS_A_L = KS_A_L & ("" & vbCrLf)
KS_A_L = KS_A_L & ("" & vbCrLf)
KS_A_L = KS_A_L & (" " & NaviStr & C_N_Link & TempTitle &NewImgStr&HotImgStr & DateStr)
KS_A_L = KS_A_L & (" " & vbcrlf &"
" & vbCrLf & " " & vbCrLf)
End If
N=N+1
If N>=TotalNum+1 Then Exit For
Next
KS_A_L = KS_A_L & " " & vbCrLf
KS_A_L = KS_A_L & KS.GetSplitPic(SplitPic,ColSpanNum)
If N>=TotalNum+1 Then Exit For
Next
KS_A_L = KS_A_L & M_L_S & ("
" & vbCrLf)
End If
End Function
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:KS_C_NotRule
'作 用:通用不规则栏目文章列表
'参 数:ArtilceSql 待查询的SQL语句,M_L_S更多链接字串,OpenTypStr链接打开类型,等
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function KS_C_NotRule(ChannelID,SqlStr,RowNumber, ShowNumPerRow, M_L_S, O_T_S, R_H, NavType, Nav, SplitPic, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
' On Error Resume Next
Dim I, C_N_Link, NaviStr,K,SQL
Dim PreComment,PreShowComment,PreClassID,PreInfoID
Dim RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF Then KS_C_NotRule="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
Dim CurrTid,LinkStr,Title, T_CssStr,EndStr
T_CssStr = KS.GetCss(T_Css):R_H = KS.G_R_H(R_H):NaviStr = KS.GetNavi(NavType, Nav)
If Cint(P_T)=2 Then
KS_C_NotRule ="
" & vbCrLf & "
" & vbCrLf & ""
EndStr=" "
Else
KS_C_NotRule = "" & vbCrLf & "" & vbCrLf
EndStr=" "
End If
Dim II:ii=0:Dim CC:cc=0:Dim Row,str
RowNumber=Cint(RowNumber):ShowNumPerRow=Cint(ShowNumPerRow)
KS_C_NotRule= KS_C_NotRule & NaviStr
For K=0 To Ubound(SQL,2)
CurrTid = SQL(2,K):Title = Trim(SQL(1,K))
LinkStr=T_CssStr & " href=""" & KS.GetInfoUrl(ChannelID,SQL(2,K),SQL(0,K),SQL(5,K),SQL(3,K),SQL(4,K),SQL(6,K)) & """" & O_T_S & " title=""" & Title & """"
ii=ii + KS.strLength(Title)
if ii>=ShowNumPerRow then
cc=ii - ShowNumPerRow:cc=KS.strLength(Title) - cc:row=row+1:ii=0
IF row=RowNumber then
IF cc<=5 And PreShowComment = 1 And PreComment = 1 Then
KS_C_NotRule=KS_C_NotRule & "" & KS.GotTopic("评论",cc) & " "&EndStr
Else
KS_C_NotRule=KS_C_NotRule & ""& KS.GotTopic(Title,cc)&" "&EndStr
End IF
KS_C_NotRule = KS_C_NotRule & (KS.GetSplitPic(SplitPic, 1))
PreComment=SQL(11,K):PreShowComment=SQL(10,K):PreClassID=CurrTid:PreInfoID=SQL(9,K)
Else
IF cc<=5 And PreShowComment = 1 And PreComment = 1 Then
KS_C_NotRule=KS_C_NotRule & "" & KS.GotTopic("评论",cc) &" "&EndStr
else
KS_C_NotRule=KS_C_NotRule & ""& KS.GotTopic(Title,cc)&" "&EndStr
end if
KS_C_NotRule = KS_C_NotRule & (KS.GetSplitPic(SplitPic, 1))
PreComment=SQL(11,K):PreShowComment=SQL(10,K):PreClassID=CurrTid:PreInfoID=SQL(9,K)
If Cint(P_T)=2 Then
KS_C_NotRule=KS_C_NotRule & "" & NaviStr
else
KS_C_NotRule=KS_C_NotRule & "" & NaviStr
end if
End If
Else
KS_C_NotRule=KS_C_NotRule & ""& Title&" "
ii=ii + 1
PreComment=SQL(11,K):PreShowComment=SQL(10,K):PreClassID=CurrTid:PreInfoID=SQL(9,K)
End IF
if row>=RowNumber then exit For
Next
KS_C_NotRule = KS_C_NotRule & M_L_S
If Cint(P_T)=2 Then
KS_C_NotRule = KS_C_NotRule & ("" & vbCrLf &"" & vbcrlf)
Else
KS_C_NotRule = KS_C_NotRule & ("
" & vbCrLf)
End if
End Function
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:KS_R_A
'作 用: 通用滚动文章函数
'参 数: SqlStr 待查询的SQL语句,OpenTypStr链接打开类型,等
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function KS_R_A(ChannelID,SqlStr, M_Width, M_Height, M_Speed, M_Dir, O_T_S, T_Len, MarqueeStyle, DateRule, M_Bgcolor, T_Css, DateCss)
Dim SQL,K,RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF Then KS_R_A="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
Dim TempTitle, CurrTid, TitleStr,T_CssStr, DateCssStr
T_CssStr = KS.GetCss(T_Css): DateCssStr = KS.GetCss(DateCss)
If MarqueeStyle = 1 Then '纵向间隔滚动
KS_R_A = " "
For K=0 To Ubound(SQL,2)
CurrTid = SQL(2,K):TitleStr =SQL(1,K)
TempTitle = GetArticleTitle(TitleStr, T_Len, False, SQL(8,K), SQL(9,K), SQL(10,K))
TempTitle = "
" & TempTitle & " "
If DateRule <> "0" And DateRule <> "" Then
KS_R_A = KS_R_A & (TempTitle & " " & KS.DateFormat(SQL(7,K), DateRule) & " " & vbCrLf)
Else
KS_R_A = KS_R_A & (TempTitle & "" & vbCrLf)
End If
Next
KS_R_A = KS_R_A & "
" & vbCrLf
KS_R_A = KS_R_A & ""
Else '默认方式
For K=0 To Ubound(SQL,2)
CurrTid = SQL(2,K)
TitleStr = SQL(1,K)
TempTitle = GetArticleTitle(TitleStr, T_Len, False, SQL(8,K), SQL(9,K), SQL(10,K))
TempTitle = "• " & TempTitle & " "
If DateRule <> "0" And DateRule <> "" Then
KS_R_A = KS_R_A & (TempTitle & " " & KS.DateFormat(SQL(7,K), DateRule) & " ")
Else
KS_R_A = KS_R_A & TempTitle
End If
KS_R_A = KS_R_A & " "
Next
If M_Bgcolor <> "" Then
KS_R_A = "" & KS_R_A & " "
Else
KS_R_A = "" & KS_R_A & " "
End If
End If
End Function
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名: KS_PicA_L
'作 用: 通用图片文章函数
'参 数: SqlStr 待查询的SQL语句,OpenTypStr链接打开类型,等
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function KS_PicA_L(ChannelID,SqlStr, Width, Height, O_T_S, ShowTitle, PicStyle, C_Len, T_Len, Col, T_Css, BorderType, Border,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
Dim SQL,K,N,Url,LinkAndPicStr
Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open SqlStr, Conn, 1, 1
If RS.EOF Then KS_PicA_L="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
Dim TotalNum:TotalNum=Ubound(SQL,2)
Dim TempPicStr, TempTitleStr, I,Title, T_CssStr,ArticleContent,ReturnStr
T_CssStr = KS.GetCss(T_Css)
If P_T=2 Then
ReturnStr = "" & vbCrLf & "
" & vbCrLf
For K=0 To TotalNum
Title = SQL(1,N):TempPicStr = SQL(7,N):TempPicStr=GetPicUrl(TempPicStr)
Url=KS.GetInfoUrl(ChannelID,SQL(2,N),SQL(0,N),SQL(5,N),SQL(3,N),SQL(4,N),SQL(6,N))
LinkAndPicStr = " "
TempTitleStr = GetArticleTitle(Title, T_Len, False, SQL(10,N), SQL(11,N), SQL(12,N))
TempTitleStr = "" & TempTitleStr & " "
If SQL(9,N)="" Or IsNull(SQL(9,N)) Then ArticleContent=SQL(8,N) Else ArticleContent=SQL(9,N)
Select Case CInt(PicStyle)
Case 1:ReturnStr = ReturnStr & (" " & LinkAndPicStr & " " & vbCrLf)
Case 2:ReturnStr = ReturnStr & ("" & LinkAndPicStr & " " & TempTitleStr & " " & vbCrLf)
Case 3
ReturnStr = ReturnStr & (" " & LinkAndPicStr)
If Cbool(ShowTitle) = True Then ReturnStr = ReturnStr & ("" & TempTitleStr &" ")
ReturnStr = ReturnStr & ("" & KS.GotTopic(Replace(Replace(Replace(KS.LoseHtml(ArticleContent), vbCrLf, ""), "[NextPage]", ""), " ", ""), C_Len) &"...[全文 ]
"& vbCrLf)
Case 4
ReturnStr = ReturnStr & (" ")
If Cbool(ShowTitle) = True Then ReturnStr = ReturnStr & ("" & TempTitleStr &" ")
ReturnStr = ReturnStr & ("" & KS.GotTopic(Replace(Replace(Replace(KS.LoseHtml(ArticleContent), vbCrLf, ""), "[NextPage]", ""), " ", ""), C_Len) &"...[全文 ]
" & LinkAndPicStr & " "& vbCrLf)
End Select
N=N+1
Next
KS_PicA_L = ReturnStr & (" " & vbCrLf &"
")
Else
ReturnStr = "" & vbCrLf
For K=0 To TotalNum
ReturnStr = ReturnStr & "" & vbCrLf
For I = 1 To Col
Title = SQL(1,N):TempPicStr = SQL(7,N):TempPicStr=GetPicUrl(TempPicStr)
Url=KS.GetInfoUrl(ChannelID,SQL(2,N),SQL(0,N),SQL(5,N),SQL(3,N),SQL(4,N),SQL(6,N))
'-------------------------------加边框开始-------------------------------------------------
Dim TempBorder
If BorderType = 1 And Border <> "" Then
TempBorder = TempPicStr '得到原图片
TempPicStr = Border '将原图片设定为透明边框
Else
TempBorder = Border:TempPicStr = TempPicStr
End If
LinkAndPicStr = " "
TempPicStr = KS.GetPhotoBorder(LinkAndPicStr, BorderType, TempBorder)
TempTitleStr = GetArticleTitle(Title, T_Len, False, SQL(10,N), SQL(11,N), SQL(12,N))
TempTitleStr = "" & TempTitleStr & " "
If SQL(9,N)="" Or IsNull(SQL(9,N)) Then ArticleContent=SQL(8,N) Else ArticleContent=SQL(9,N)
ReturnStr = ReturnStr & ("" & vbCrLf)
Select Case CInt(PicStyle)
Case 1
ReturnStr = ReturnStr & ("" & TempPicStr & "
" & vbCrLf)
Case 2
ReturnStr = ReturnStr & (" ")
ReturnStr = ReturnStr & ("" & TempPicStr & " " & vbCrLf)
If CBool(ShowTitle) = True Then
ReturnStr = ReturnStr & ("" & TempTitleStr & " " & vbCrLf)
End If
ReturnStr = ReturnStr & ("
")
Case 3
ReturnStr = ReturnStr & "" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & " " & TempPicStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & ""
If CBool(ShowTitle) = True Then
ReturnStr = ReturnStr & "" & TempTitleStr & " " & vbCrLf
End If
ReturnStr = ReturnStr & "" & KS.GotTopic(Replace(Replace(Replace(KS.LoseHtml(ArticleContent), vbCrLf, ""), "[NextPage]", ""), " ", ""), C_Len) & "...[全文 ] " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
Case 4
ReturnStr = ReturnStr & "" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & ""
If CBool(ShowTitle) = True Then
ReturnStr = ReturnStr & "" & TempTitleStr & " " & vbCrLf
End If
ReturnStr = ReturnStr & "" & KS.GotTopic(Replace(Replace(Replace(KS.LoseHtml(ArticleContent), vbCrLf, ""), "[NextPage]", ""), " ", ""), C_Len) & "...[全文 ] " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & "" & vbCrLf
ReturnStr = ReturnStr & "" & TempPicStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
End Select
ReturnStr = ReturnStr & (" " & vbCrLf)
N=N+1
If N>=TotalNum+1 Then Exit For
Next
ReturnStr = ReturnStr & (" " & vbCrLf)
ReturnStr = ReturnStr & (" ")
If N>=TotalNum+1 Then Exit For
Next
KS_PicA_L = ReturnStr & ("
" & vbCrLf)
End If
End Function
'=======================================================================================通用函数结束=============================
'取得栏目文章列表
Function GetArticleList(ChannelID,FolderID,I_S_C,S_C_N, OpenType, A_P, num, R_H,T_Len, ByVal S_Str, Col, PicTF, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule,DateAlign, T_Css, DateCss,SpecialID,NewTF,HotTF,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetArticleList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim SqlStr, A_PStr,M_L_S, O_T_S,C_F_T,Param
If FolderID = "-1" Then
FolderID = Application(KS.SiteSN & "RefreshFolderID")
C_F_T = True
Else
C_F_T = False
End If
If FolderID = "" Then FolderID = "0"
Select Case A_P
Case "1":A_PStr = " And Recommend=1"
Case "2":A_PStr = " And Popular=1"
Case "3":A_PStr = " And Strip=1"
End Select
A_PStr=A_PStr & " And " & KS.GetSpecialPara(SpecialID)
If Lcase(Left(Trim(S_Str),2))<>"id" Then S_Str=S_Str & ",ID Desc"
If FolderID = "0" Then Param="" Else If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
SqlStr = "SELECT TOP " & num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,Changes,AddDate,Popular,NewsID,ShowComment,Comment,TitleType,TitleFontColor,TitleFontType FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 " & A_PStr & " ORDER BY IsTop Desc," & S_Str
O_T_S = KS.G_O_T_S(OpenType)
If MoreLink <> "" And FolderID <> "0" And C_F_T = False Then M_L_S = KS.GetMoreLink(P_T,Col, R_H, MoreType, MoreLink, KS.GetFolderPath(FolderID), O_T_S)
GetArticleList = KS_A_L(ChannelID,SqlStr, M_L_S, S_C_N, O_T_S, R_H, T_Len, Col, PicTF, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, DateCss,NewTF,HotTF,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
End Function
'取得不规则栏目文章列表
Function GetNotRuleArticleList(ChannelID,FolderID, I_S_C, OpenType, A_P, RowNumber, ShowNumPerRow, R_H, S_Str, NavType, Nav, MoreType, MoreLink, SplitPic, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetNotRuleArticleList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim SqlStr, A_PStr,M_L_S, O_T_S,C_F_T,Param
Dim AllowMaxNum:AllowMaxNum=1000 '限定允许在1000条,内调用
If FolderID = "-1" Then
FolderID = Application(KS.SiteSN & "RefreshFolderID")
C_F_T = True
Else
C_F_T = False
End If
If FolderID = "" Then FolderID="0"
Select Case A_P
Case "1":A_PStr = " And Recommend=1"
Case "2":A_PStr = " And Popular=1"
Case "3":A_PStr = " And Strip=1"
End Select
If Lcase(Left(Trim(S_Str),2))<>"id" Then S_Str=S_Str & ",ID Desc"
If FolderID = "0" Then Param="" Else If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
SqlStr = "SELECT TOP " & AllowMaxNum & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,Changes,AddDate,Popular,NewsID,ShowComment,Comment,TitleType,TitleFontColor,TitleFontType FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 " & A_PStr & " ORDER BY " & S_Str
O_T_S = KS.G_O_T_S(OpenType)
If MoreLink <> "" And FolderID <> "0" And C_F_T = False Then M_L_S = KS.GetMoreLink(P_T,1, R_H, MoreType, MoreLink, KS.GetFolderPath(FolderID), O_T_S)
GetNotRuleArticleList = KS_C_NotRule(ChannelID,SqlStr,RowNumber, ShowNumPerRow, M_L_S, O_T_S, R_H, NavType, Nav, SplitPic, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
End Function
'循环列出文章栏目函数
Function GetCirArticleList(ChannelID,Col, FolderCss, MenuBgType, MenuBg, S_C_N, OpenType, num, R_H, T_Len, S_Str, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, DateAlign, T_Css, PicTF,NewTF,HotTF,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetCirArticleList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
' If Application(KS.SiteSN & "RefreshType") = "Folder" Then
Dim FolderID, SqlStr,ID,SQL,K,N,TotalNum
FolderID = Application(KS.SiteSN & "RefreshFolderID")
Dim RS:Set RS=Conn.Execute("Select ID From KS_Class Where ChannelID=" & ChannelID & " And DelTF=0 AND TN='" & FolderID & "' ORDER BY FolderOrder")
If RS.EOF And RS.BOF Then RS.Close:Set RS = Nothing:GetCirArticleList = "": Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS=Nothing
TotalNum=Ubound(SQL,2)
Dim TempStr, I, MenuBgStr, ArticleListStr, O_T_S
TempStr = "" & vbCrLf
MenuBgStr = KS.GetMenuBg(MenuBgType, MenuBg, Col):O_T_S = KS.G_O_T_S(OpenType)
For K=0 To TotalNum
TempStr = TempStr & ""
For I = 1 To Col
ID = Trim(SQL(0,N))
TempStr = TempStr & "" & vbCrLf
TempStr = TempStr & ""
TempStr = TempStr & "" & KS.GetClassNP(ID) & "
" & vbCrLf
TempStr = TempStr & "" & vbCrLf
ArticleListStr = GetArticleList(ChannelID,ID, True, S_C_N, OpenType, 0, num, R_H, T_Len, S_Str, 1, PicTF, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, DateAlign, T_Css, 0,"",NewTF,HotTF,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,"ajax")
If Trim(ArticleListStr) = "" Then ArticleListStr = "
此栏目下没有信息 "
TempStr = TempStr & ArticleListStr
TempStr = TempStr & "" & vbCrLf
TempStr = TempStr & "
" & vbCrLf
N=N+1
If N>=TotalNum+1 Then Exit For
Next
TempStr = TempStr & " " & vbCrLf
If N>=TotalNum+1 Then Exit For
Next
TempStr = TempStr & "
" & vbCrLf
GetCirArticleList = TempStr
' Else
' GetCirArticleList = ""
' End If
End Function
'取得Ajax分页函数
Function GetPageStr(ModelEname,LabelID)
Dim T_Str
If ModelEname<>"" Then ModelEname= ModelEname & "/"
T_Str="" & vbcrlf
T_Str=T_Str & "" & vbcrlf
T_Str=T_Str & " " & vbcrlf
T_Str=T_Str & " " & vbcrlf
GetPageStr=T_Str
End Function
'取得文章分页函数
Function GetLastArticleList(ChannelID,PerPageNumber, R_H, S_C_N, OpenType, T_Len, S_Str, I_S_C, PicTF, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, DateCss,Col,NewTF,HotTF,PageStyle,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
'On Error Resume Next
If Cint(Application(KS.SiteSN&"ChannelID"))<>Cint(ChannelID) Then GetLastArticleList="该标签位置出错,该标签只能在" & KS.C_S(ChannelID,1) & "的模板页调用!":Exit Function
If P_T>2 Then GetLastArticleList=GetPageStr(KS.C_S(ChannelID,10),LabelID):Exit Function
If KS.C_S(ChannelID,7)=0 or KS.C_C(Application(KS.SiteSN & "RefreshFolderID"),3)>1 Then GetLastArticleList=Application("PageParam"):Exit Function
Dim FolderID, SqlStr,Param
If Application(KS.SiteSN & "RefreshType") = "Folder" Or Application(KS.SiteSN & "RefreshType") = "Special" Then
If Application(KS.SiteSN & "RefreshType") = "Special" Then '刷新专题,查询语句不同
If DataBaseType=1 Then
SqlStr = "SELECT ID FROM " & KS.C_S(ChannelID,2) &" WHERE charindex('" & KS.C("CurrSpecialID") & "',specialid)>0 AND Verific=1 And DelTF=0 Order by IsTop Desc,ID Desc"
Else
SqlStr = "SELECT ID FROM " & KS.C_S(ChannelID,2) &" WHERE instr(specialid,'" & KS.C("CurrSpecialID") & "')>0 AND Verific=1 And DelTF=0 Order by IsTop Desc,ID Desc"
End If
Else
FolderID = Application(KS.SiteSN & "RefreshFolderID")
If CBool(I_S_C) = True Then Param="Tid In(" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
Dim ASort: If Lcase(Left(Trim(S_Str),2))<>"id" Then ASort=S_Str & ",ID Desc" Else ASort=S_Str
SqlStr = "SELECT ID FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 order by IsTop Desc," & Asort
End If
Dim SQL,TotalPut,RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF Then GetLastArticleList="此栏目下没有" & KS.C_S(ChannelID,3) & "
":RS.Close:Set RS=Nothing:Application(KS.SiteSN & "PageList") = "":Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
TotalPut=Ubound(SQL,2)+1
PerPageNumber=cint(PerPageNumber)
Dim N,PageNum, I, J, k, TempStr, O_T_S,C_N_Link, TempTitle, NaviStr, ColSpanNum,AddDate,TempIDArrStr
O_T_S = KS.G_O_T_S(OpenType)
if (TotalPut mod PerPageNumber)=0 then
PageNum = TotalPut \ PerPageNumber
else
PageNum = TotalPut \ PerPageNumber + 1
end if
For I = 1 To PageNum
TempIDArrStr = ""
For J = 1 To PerPageNumber
TempIDArrStr = TempIDArrStr &SQL(0,N) & ","
N=N+1
If N>=TotalPut Then Exit For
Next
TempIDArrStr = Left(TempIDArrStr, Len(TempIDArrStr) - 1)
SqlStr = "SELECT ID,Title,Tid,ReadPoint,InfoPurview,Fname,Changes,AddDate,Popular,NewsID,ShowComment,Comment,TitleType,TitleFontColor,TitleFontType FROM " & KS.C_S(ChannelID,2) &" Where ID in (" & TempIDArrStr & ") AND Verific=1 AND DelTF=0 order by IsTop Desc," & S_Str
TempStr = TempStr & KS_A_L(ChannelID,SqlStr, "", S_C_N, O_T_S, R_H, T_Len, Col, PicTF, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, DateCss,NewTF,HotTF,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
TempStr = TempStr & KS.GetPrePageList(PageStyle,KS.C_S(ChannelID,4),PageNum,I,TotalPut,PerPageNumber)
TempStr = TempStr & "{$PageList}" '加上分页符
If N>=TotalPut Then Exit For
Next
Application(KS.SiteSN & "PageList") = TempStr
Application(KS.SiteSN & "PageStyle")= PageStyle
Else
Application(KS.SiteSN & "PageList") = ""
End If
GetLastArticleList = "{PageListStr}"
End Function
'取得图片文章列表函数
Function GetPicArticleList(ChannelID,FolderID, I_S_C, Width, Height, OpenType, ShowTitle, A_P, PicStyle, C_Len, T_Len, num, S_Str, Col, T_Css, BorderType, Border,SpecialID,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetPicArticleList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim SqlStr, A_PStr, Param
If FolderID = "-1" Then FolderID = Application(KS.SiteSN & "RefreshFolderID")
Select Case A_P
Case "1":A_PStr = " And Recommend=1"
Case "2":A_PStr = " And Popular=1"
Case "3":A_PStr = " And Strip=1"
End Select
A_PStr=A_PStr & " And " & KS.GetSpecialPara(SpecialID)
If Lcase(Left(Trim(S_Str),2))<>"id" Then S_Str=S_Str & ",ID Desc"
If FolderID = "" Or FolderID = "0" Then Param="" Else If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
SqlStr = "SELECT TOP " & num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,Changes,PicUrl,ArticleContent,Intro,TitleType,TitleFontColor,TitleFontType FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 AND PicNews=1 " & A_PStr & " ORDER BY IsTop Desc," & S_Str
GetPicArticleList = KS_PicA_L(ChannelID,SqlStr, Width, Height,KS.G_O_T_S(OpenType), ShowTitle, PicStyle, C_Len, T_Len, Col, T_Css, BorderType, Border,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
End Function
'取得滚动文章函数
Function GetMarqueeArticle(ChannelID,FolderID, I_S_C, M_Width, M_Height, M_Speed, M_Dir, OpenType, S_Str, T_Len, MarqueeStyle, num, DateRule, M_Bgcolor, T_Css, DateCss,SpecialID)
Dim SqlStr,Param
If num = "" Or Not IsNumeric(num) Then num = 10
If FolderID = "-1" Then FolderID = Application(KS.SiteSN & "RefreshFolderID")
If Lcase(Left(Trim(S_Str),2))<>"id" Then S_Str=S_Str & ",ID Desc"
If FolderID = "" Or FolderID = "0" Then Param="" Else If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
SqlStr = "SELECT TOP " & num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,Changes,AddDate,TitleType,TitleFontColor,TitleFontType FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 And Rolls=1 And " & KS.GetSpecialPara(SpecialID) & " ORDER BY " & S_Str
GetMarqueeArticle = KS_R_A(ChannelID,SqlStr, M_Width, M_Height, M_Speed, M_Dir, KS.G_O_T_S(OpenType), T_Len, MarqueeStyle, DateRule, M_Bgcolor, T_Css, DateCss)
End Function
'取得相关文章
Function GetCorrelativeArticle(ChannelID,innerstr,num, R_H, T_Len, Col, OpenType, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css,S_C_N,PicTF,NewTF,HotTF,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetCorrelativeArticle=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
' If Application(KS.SiteSN & "RefreshType") = "ArticleContent" Then
Dim KeyWords:KeyWords=trim(Conn.Execute("Select " &innerstr& " From " & KS.C_S(ChannelID,2) &" Where ID=" & KS.ChkClng(Application(KS.SiteSN & "RefreshInfoID")))(0))
If KeyWords="" Then GetCorrelativeArticle = "暂无相关链接 ":Exit Function
Dim KeyWordsArr, I, SqlKeyWordStr
KeyWordsArr = Split(KeyWords, "|")
For I = 0 To UBound(KeyWordsArr)
If DataBaseType=0 Then
If SqlKeyWordStr = "" Then
SqlKeyWordStr = " instr("& innerstr &",'" & KeyWordsArr(I) & "')>0 "
Else
SqlKeyWordStr = SqlKeyWordStr & "or instr("& innerstr &",'" & KeyWordsArr(I) & "')>0 "
End If
Else
If SqlKeyWordStr = "" Then
SqlKeyWordStr = " charindex('" & KeyWordsArr(I) & "',"& innerstr &")>0 "
Else
SqlKeyWordStr = SqlKeyWordStr & "or charindex('" & KeyWordsArr(I) & "',"& innerstr &")>0 "
End If
End If
Next
Dim Sqlstr:SqlStr = "Select TOP " & num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,Changes,AddDate,Popular,NewsID,ShowComment,Comment,TitleType,TitleFontColor,TitleFontType FROM " & KS.C_S(ChannelID,2) &" Where (" & SqlKeyWordStr & ") AND ID<>" & KS.ChkClng(Application(KS.SiteSN & "RefreshInfoID")) & " AND DelTF=0 AND Verific=1 order by IsTop Desc,ID Desc"
GetCorrelativeArticle = KS_A_L(ChannelID,SqlStr, "", S_C_N, KS.G_O_T_S(OpenType), R_H, T_Len, Col, PicTF, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, "",NewTF,HotTF,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
If GetCorrelativeArticle = "" Then GetCorrelativeArticle = "暂无相关链接 "
' Else
' GetCorrelativeArticle = ""
' End If
End Function
'通用专题列表
Function KS_C_Special_L(SqlStr,O_T_S,IntroLen, T_Len, Col, NavType, Nav, MorLinkStr, SplitPic, DateRule, DateAlign, T_Css, PhotoCss,ShowStyle,Width,Height,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
Dim SQL,K,N,TotalNum
Dim RS:Set RS=Server.CreateObject("ADODB.Recordset")
RS.Open SqlStr,conn,1,1
If RS.Eof And RS.Bof Then KS_C_Special_L="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS=Nothing
TotalNum=Ubound(SQL,2)
Dim TempStr, TempTitle, I,NaviStr, ColSpanNum,T_CssStr,TempPicStr,SpecialUrl,PhotoCssStr
T_CssStr = KS.GetCss(T_Css):PhotoCssStr = KS.GetCss(PhotoCss)
NaviStr = KS.GetNavi(NavType, Nav)
IF P_T=2 Then
TempStr = "" & vbCrLf
TempStr = TempStr & "
" & vbCrLf
For K=0 To TotalNum
TempTitle = KS.GotTopic(SQL(1,K), T_Len)
SpecialUrl=KS.GetSpecialPath(SQL(0,K),SQL(2,K),SQL(4,K),SQL(3,K))
TempTitle = "" & TempTitle & " "
TempPicStr=GetPicUrl(SQL(6,K))
TempPicStr=" "
Select Case Cint(ShowStyle)
Case 1:TempStr = TempStr & (" " & NaviStr & TempTitle & KS.GetDCDateStr(SQL(5,K),DateRule,"") & " "& vbCrLf)
Case 2:TempStr = TempStr & (" " & TempPicStr & " "& vbCrLf)
Case 3:TempStr = TempStr & (" " & TempPicStr & " " & TempTitle &" "& vbCrLf)
Case 4:TempStr = TempStr & (" " & TempPicStr & "" & KS.GotTopic(SQL(7,K),introlen) &"
"& vbCrLf)
Case 5:TempStr = TempStr & (" " & TempPicStr & "" & TempTitle &" " & KS.GotTopic(SQL(7,K),introlen) &"
"& vbCrLf)
End Select
Next
TempStr = TempStr & MorLinkStr & " " & vbCrLf
TempStr = TempStr & ("
" & vbCrLf)
Else
TempStr = "" & vbCrLf
For K=0 To TotalNum
TempStr = TempStr & "" & vbCrLf
For I = 1 To Col
TempTitle = KS.GotTopic(SQL(1,N), T_Len)
SpecialUrl=KS.GetSpecialPath(SQL(0,N),SQL(2,N),SQL(4,N),SQL(3,N))
TempTitle = "" & TempTitle & " "
TempPicStr=GetPicUrl(SQL(6,N))
TempPicStr=" "
TempStr = TempStr & ("" & vbCrLf)
Select Case ShowStyle
Case 1:TempStr = TempStr & ( NaviStr & TempTitle & KS.GetDateStr(SQL(5,N),DateRule,DateAlign,"",Col, ColSpanNum))
Case 2:TempStr = TempStr & TempPicStr
Case 3:TempStr = TempStr & "" &TempPicStr&" "&TempTitle & "
"
Case 4
TempStr = TempStr & "" & vbCrLf
TempStr = TempStr & " " & vbCrLf
TempStr = TempStr & " " & vbCrLf
TempStr = TempStr & " " & TempPicStr & "" & vbCrLf
TempStr = TempStr & " " & vbCrLf
TempStr = TempStr & " " & KS.GotTopic(SQL(7,N),introlen)&" " & vbCrLf
TempStr = TempStr & " " & vbCrLf
TempStr = TempStr & "
" & vbCrLf
Case 5
TempStr = TempStr & "" & vbCrLf
TempStr = TempStr & " " & vbCrLf
TempStr = TempStr & " " & vbCrLf
TempStr = TempStr & " " & TempPicStr & "" & vbCrLf
TempStr = TempStr & " " & vbCrLf
TempStr = TempStr & " " & TempTitle &" " & KS.GotTopic(SQL(7,N),introlen)&" " & vbCrLf
TempStr = TempStr & " " & vbCrLf
TempStr = TempStr & "
" & vbCrLf
End Select
TempStr = TempStr& vbCrLf& " " & vbCrLf
N=N+1
If N>=TotalNum+1 Then Exit For
Next
TempStr = TempStr & " " & vbCrLf
TempStr = TempStr & KS.GetSplitPic(SplitPic, ColSpanNum)
If N>=TotalNum+1 Then Exit For
Next
TempStr = TempStr & MorLinkStr & ("
" & vbCrLf)
End If
KS_C_Special_L = TempStr
End Function
'取得频道专题汇总函数
Function GetSpecialList(FolderID, OpenType, num, IntroLen, T_Len, Col, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, DateAlign, T_Css, PhotoCss,ShowStyle,Width,Height,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetSpecialList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim Param,SqlStr,MorLinkStr,O_T_S
Param=" 1=1"
If FolderID<>"0" Then
If Len(FolderID)<5 Then Param=Param & " And ChannelID=" & FolderID Else Param=Param & " And FolderID='" & FolderID & "'"
End If
SqlStr="Select TOP " & num & " specialid,SpecialName,SpecialEname,ChannelID,FsoSpecialIndex,SpecialAddDate,PhotoUrl,SpecialNote From KS_Special Where " & Param & " Order By SpecialID Desc"
O_T_S = KS.G_O_T_S(OpenType)
If MoreLink <> "" And Len(FolderID)>3 Then MorLinkStr= KS.GetMoreLink(P_T,Col, 20, MoreType, MoreLink, KS.GetFolderSpecialPath(FolderID, True), O_T_S)
GetSpecialList=KS_C_Special_L(SqlStr,O_T_S,IntroLen, T_Len, Col, NavType, Nav, MorLinkStr, SplitPic, DateRule, DateAlign, T_Css,PhotoCss,ShowStyle,Width,Height,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
End Function
'取得循环频道专题汇总
Function GetCirSpecialList(Col, FolderCss, MenuBgType, MenuBg, num, R_H, T_Len, OpenType, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, DateAlign, T_Css, PhotoCss,ShowStyle,Width,Height,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
'on Error Resume Next
'If Application(KS.SiteSN & "RefreshType") = "SpecialIndex" Then
If LabelID<>"ajax" and P_T>2 Then
GetCirSpecialList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim SqlStr, RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
SqlStr = "Select FolderName,ID From KS_Class A inner join KS_Channel B on A.ChannelID=B.ChannelID where B.ChannelStatus=1 And DelTF=0 AND TN='0' And CirSpecialShowTF=1 ORDER BY A.ChannelID,FolderOrder asc"
RS.Open SqlStr, Conn, 1, 1
If RS.EOF And RS.BOF Then
RS.Close:Set RS = Nothing:GetCirSpecialList = "":Exit Function
Else
Dim TempStr, I, MenuBgStr, SpecialListStr,FolderName
TempStr = "" & vbCrLf
MenuBgStr = KS.GetMenuBg(MenuBgType, MenuBg, Col)
Do While Not RS.EOF
TempStr = TempStr & "" & vbCrLf
For I = 1 To Col
TempStr = TempStr & "" & vbCrLf
TempStr = TempStr & "" & vbCrLf
TempStr = TempStr & ""
FolderName = Trim(RS("FolderName"))
TempStr = TempStr & "" & FolderName & "专题 " & vbCrLf
TempStr = TempStr & "" & vbCrLf
SpecialListStr = GetSpecialList(RS("ID"), OpenType, num, R_H, T_Len, 1, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, DateAlign, T_Css, PhotoCss,ShowStyle,Width,Height,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,"ajax")
If Trim(SpecialListStr) = "" Then SpecialListStr = "此频道下没有专题 "
TempStr = TempStr & SpecialListStr
TempStr = TempStr & " " & vbCrLf
TempStr = TempStr & "
" & vbCrLf
TempStr = TempStr & " " & vbCrLf
RS.MoveNext
If RS.EOF Then Exit For
Next
TempStr = TempStr & " " & vbCrLf
Loop
TempStr = TempStr & "
" & vbCrLf
GetCirSpecialList = TempStr
End If
'Else
' GetCirSpecialList = ""
'End If
End Function
'取得分页频道专题汇总
Function GetLastSpecialList(PerPageNumber, OpenType, T_Len, IntroLen,Col,NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, PhotoCss,PageStyle,ShowStyle,Width,Height,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If P_T>2 Then GetLastSpecialList=GetPageStr("plus",LabelID):Exit Function
If Application(KS.SiteSn&"FromAspPage")=True Then GetLastSpecialList=Application("PageParam"):Application(KS.SiteSn&"FromAspPage")=false:Exit Function
If Application(KS.SiteSN & "RefreshType") = "ChannelSpecial" Then
Dim SQL,TotalPut,K,N
Dim RS:Set RS=Conn.Execute("Select SpecialID From KS_Special Where FolderID='" & Application(KS.SiteSN & "RefreshFolderID") & "'")
If RS.EOF And RS.BOF Then
GetLastSpecialList = ""
Application.Contents.Remove ("PageList")
RS.Close:Set RS = Nothing
Exit Function
End If
SQL=RS.GetRows(-1):RS.Close:Set RS=Nothing
TotalPut=Ubound(SQL,2)+1
Dim PageNum, I, J, TempStr,TempIDArrStr,SqlStr,O_T_S
O_T_S = KS.G_O_T_S(OpenType)
if (TotalPut mod PerPageNumber)=0 then
PageNum = TotalPut \ PerPageNumber
else
PageNum = TotalPut \ PerPageNumber + 1
end if
For I = 1 To PageNum
TempIDArrStr = ""
For J = 1 To PerPageNumber
TempIDArrStr = TempIDArrStr &SQL(0,N) & ","
N=N+1
If N>=TotalPut Then Exit For
Next
TempIDArrStr = Left(TempIDArrStr, Len(TempIDArrStr) - 1)
SqlStr = "SELECT specialid,SpecialName,SpecialEname,ChannelID,FsoSpecialIndex,SpecialAddDate,PhotoUrl,SpecialNote FROM KS_Special Where SpecialID in (" & TempIDArrStr & ") order by SpecialID Desc"
TempStr = TempStr & KS_C_Special_L(SqlStr,O_T_S,IntroLen, T_Len, Col, NavType, Nav, "", SplitPic, DateRule, DateAlign, T_Css,PhotoCss,ShowStyle,Width,Height,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
TempStr = TempStr & KS.GetPrePageList(PageStyle,"条",PageNum,I,TotalPut,PerPageNumber)
TempStr = TempStr & "{$PageList}"
If N>=TotalPut Then Exit For
Next
Application(KS.SiteSN & "PageList") = TempStr
Application(KS.SiteSN & "PageStyle") = PageStyle
Else
Application.Contents.Remove ("PageList")
End If
GetLastSpecialList = "{PageListStr}"
End Function
'取得最新个人空间列表
Function GetBlogList(ClassID,num,ListLen,TypeFlag,NavType,Nav,SplitPic,OpenType,T_Css,P_T,divid,DivCss,ulid,ULCss,liid,LICss,TJFlag,MoreStr,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetBlogList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim T_CssStr,NaviStr,Param,RStr,Url
T_CssStr = KS.GetCss(T_Css):NaviStr = KS.GetNavi(NavType, Nav)
Param=" where 1=1"
If ClassID<>"0" Then Param=Param & " and ClassID=" & ClassID
If Cbool(TJFlag)=true Then Rstr="?recommend=1":Param=Param & " and recommend=1"
Dim RS:Set RS=Server.CreateOBject("ADODB.RECORDSET")
RS.Open "Select top " & num &" UserName,BlogName,[Domain] From KS_Blog " & Param & " Order By BlogID Desc",conn,1,1
If RS.Eof And RS.Bof Then RS.Close:Set RS=Nothing:GetBlogList="":Exit Function
Dim SQL,K
SQL=RS.GetRows(-1)
If Cint(P_T)=2 Then
GetBlogList="" & vbCrLf & "
" & vbCrLf
For K=0 To Ubound(SQL,2)
If KS.SSetting(14)="1" and SQL(2,K)<>"" then Url="http://" & SQL(2,K) & "." & KS.SSetting(16) Else Url=DomainStr & "space/space.asp?UserName=" & SQL(0,K)
GetBlogList=GetBlogList &" "&NaviStr &"" & KS.GotTopic(SQL(1,K),ListLen) &" " & vbcrlf
Next
if morestr<>"" then
GetBlogList=GetBlogList &" " & morestr &" " & vbcrlf
end if
GetBlogList=GetBlogList & " " & vbcrlf &"
"
Else
GetBlogList="" & vbCrLf
For K=0 TO Ubound(SQL,2)
If KS.SSetting(14)="1" and SQL(2,K)<>"" then Url="http://" & SQL(2,K) & "." & KS.SSetting(16) Else Url=DomainStr & "space/space.asp?UserName=" & SQL(0,K)
GetBlogList=GetBlogList &""
GetBlogList=GetBlogList & NaviStr &"" & KS.GotTopic(SQL(1,K),ListLen) &" "
GetBlogList=GetBlogList & " " & vbcrlf
GetBlogList=GetBlogList & KS.GetSplitPic(SplitPic,1)
Next
if morestr<>"" then
GetBlogList=GetBlogList &"" & morestr &" " & vbcrlf
end if
GetBlogList=GetBlogList & "
"
End If
End Function
'取得最新日志列表
Function GetBlogInfoList(TypeID,num,ListLen,UserName,TypeFlag,NavType,Nav,SplitPic,OpenType,DateRule,DateAlign,T_Css,P_T,divid,DivCss,ulid,ULCss,liid,LICss,IsBest,MoreStr,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetBlogInfoList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim T_CssStr,NaviStr,SQL,K,RStr
T_CssStr = KS.GetCss(T_Css):NaviStr = KS.GetNavi(NavType, Nav)
Dim RS:Set RS=Server.CreateOBject("ADODB.RECORDSET")
Dim Param:Param=" Where Status=0"
If UserName<>"" Then Param=Param & " And UserName='" & UserName & "'"
If TypeID<>"0" Then Param=Param & " And TypeID=" & TypeID
If cbool(IsBest)=true then RStr="?isbest=1":Param=Param & " And best=1"
RS.Open "Select top " & num &" ID,Title,UserName,AddDate From KS_BlogInfo" & Param &" Order By ID Desc",conn,1,1
If RS.Eof And RS.Bof Then
GetBlogInfoList="":RS.Close:Set RS=Nothing:Exit Function
End If
SQL=RS.GetRows(-1):RS.Close:Set RS=Nothing
If Cint(P_T)=2 Then
GetBlogInfoList="" & vbCrLf & "
" & vbCrLf
For K=0 To Ubound(SQL,2)
GetBlogInfoList=GetBlogInfoList &" "&NaviStr &"" & KS.GotTopic(SQL(1,K),ListLen) &" " & KS.GetDCDateStr(SQL(3,K),DateRule,"") &" " & vbcrlf
Next
if morestr<>"" then
GetBlogInfoList=GetBlogInfoList &" " & morestr &" " & vbcrlf
end if
GetBlogInfoList=GetBlogInfoList & " " & vbcrlf &"
"
Else
GetBlogInfoList="" & vbCrLf
For K=0 To Ubound(SQL,2)
GetBlogInfoList=GetBlogInfoList &""
GetBlogInfoList=GetBlogInfoList & NaviStr &"" & KS.GotTopic(SQL(1,K),ListLen) &" "
GetBlogInfoList=GetBlogInfoList &KS.GetDateStr(SQL(3,K),DateRule,DateAlign,"",1,1)& " " & vbcrlf
GetBlogInfoList=GetBlogInfoList & KS.GetSplitPic(SplitPic,1)
Next
if morestr<>"" then
GetBlogInfoList=GetBlogInfoList &"" & morestr &" " & vbcrlf
end if
GetBlogInfoList=GetBlogInfoList & "
"
End If
End Function
'取得最新相册列表
Function GetXCList(ClassID,num,Col,UserName,ListLen,ShowStyle,Width,Height,OpenType,T_Css,P_T,divid,DivCss,ulid,ULCss,liid,LICss,TJFlag,morestr,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetXCList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim Rstr,i,T_CssStr:T_CssStr = KS.GetCss(T_Css)
Dim Param:Param=" Where Status=1"
If UserName<>"" Then Param=Param & " And UserName='" & UserName & "'"
If ClassID<>"0" Then Param=Param & " And ClassID=" & ClassID
If Cbool(TJFlag)=true Then Rstr="?recommend=1":Param=Param & " and recommend=1"
Dim RS:Set RS=Server.CreateOBject("ADODB.RECORDSET")
RS.Open "Select top " & num &" id,xcname,username,photourl,flag,xps,hits From KS_PhotoXC " & Param & " Order By ID Desc",conn,1,1
If RS.Eof And RS.Bof Then
GetXCList="":RS.Close:Set RS=Nothing:Exit Function
End If
Dim SQL,K,N,TotalNum
SQL=RS.GetRows(-1):TotalNum=Ubound(SQL,2)
If Cint(P_T)=2 Then
GetXCList="" & vbCrLf & "
" & vbcrlf &"
"
Else
GetXCList="" & vbCrLf
For K=0 To TotalNum
GetXCList=GetXCList &""
For I=1 to Col
GetXCList=GetXCList & ""& vbcrlf
Select Case ShowStyle
Case 1
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & " " &vbcrlf
GetXCList=GetXCList & " " &vbcrlf
GetXCList=GetXCList & " "
GetXCList=GetXCList & " "
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & "
" &vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & "
" & vbcrlf
GetXCList=GetXCList & "名 称:" & KS.GotTopic(SQL(1,n),ListLen) & " 作 者:" & SQL(2,n) & " 照 片:" & SQL(5,n) & " 人 气:" & SQL(6,n) & " 状 态:" & GetStatusStr(SQL(4,n)) & " " & vbcrlf
GetXCList=GetXCList & "
"
Case 2
GetXCList=GetXCList & " " &vbcrlf
GetXCList=GetXCList & " "
GetXCList=GetXCList & " "
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & "
" &vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & " " &KS.GotTopic(SQL(1,n),ListLen) &" " & vbcrlf
GetXCList=GetXCList & " " & vbcrlf
GetXCList=GetXCList & "
" & vbcrlf
End Select
GetXCList=GetXCList & " "& vbcrlf
n=n+1
if n>=totalnum+1 then exit for
Next
GetXCList=GetXCList & " " & vbcrlf
if morestr<>"" then
GetXCList=GetXCList &"" & morestr &" " & vbcrlf
end if
if n>=totalnum+1 then exit for
Next
GetXCList=GetXCList & "
"
End If
End Function
Function GetStatusStr(val)
Select Case Val
Case 1:GetStatusStr="公开"
Case 2:GetStatusStr="会员"
Case 3:GetStatusStr="密码"
Case 4:GetStatusStr="隐私"
End Select
GetStatusStr="" & GetStatusStr & " "
End Function
'取得最新圈子列表
Function GetGroupList(ClassID,num,Col,UserName,ListLen,ShowStyle,Width,Height,OpenType,T_Css,P_T,divid,DivCss,ulid,ULCss,liid,LICss,TJFlag,MoreStr,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetGroupList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim Rstr,i,T_CssStr:T_CssStr = KS.GetCss(T_Css)
Dim Param:Param=" Where verific=1"
If UserName<>"" Then Param=Param & " And UserName='" & UserName & "'"
If ClassID<>"0" Then Param=Param & " And ClassID=" & ClassID
If Cbool(TJFlag)=true Then Rstr="?recommend=1":Param=Param & " and recommend=1"
Dim RS:Set RS=Server.CreateOBject("ADODB.RECORDSET")
RS.Open "Select top " & num &" (select count(id) from ks_teamtopic where teamid=a.id and parentid=0),(select count(id) from ks_teamtopic where teamid=a.id),(select count(id) from ks_teamusers where status=3 and teamid=a.id),id,teamname,username,photourl,adddate From KS_Team a " & Param & " Order By ID Desc",conn,1,1
If RS.Eof And RS.Bof Then
GetGroupList="":RS.Close:Set RS=Nothing:Exit Function
End IF
Dim SQL,TotalNum,K,N
SQL=RS.GetRows(-1):TotalNum=Ubound(SQL,2):RS.Close:Set RS=Nothing
If Cint(P_T)=2 Then
GetGroupList="" & vbCrLf & "
" & vbcrlf &"
"
Else
GetGroupList="" & vbCrLf
For K=0 To TotalNum
GetGroupList=GetGroupList &""
For I=1 to Col
GetGroupList=GetGroupList & ""& vbcrlf
Select Case ShowStyle
Case 1
GetGroupList=GetGroupList & ""
GetGroupList=GetGroupList & " "
GetGroupList=GetGroupList & " "
GetGroupList=GetGroupList & " "
GetGroupList=GetGroupList & " "
GetGroupList=GetGroupList & " "
GetGroupList=GetGroupList & " "
GetGroupList=GetGroupList & "
"
GetGroupList=GetGroupList & " " & SQL(4,n) & " 创建者:" & SQL(5,n) & " 创建时间:" &SQL(7,n) & " 主题/回复:" & SQL(0,n) & "/" & SQL(1,n) & " 成员:" & SQL(2,n) & "人 "
GetGroupList=GetGroupList & " "
GetGroupList=GetGroupList & "
"
Case 2
GetGroupList=GetGroupList & " " &vbcrlf
GetGroupList=GetGroupList & " "
GetGroupList=GetGroupList & " "
GetGroupList=GetGroupList & " " & vbcrlf
GetGroupList=GetGroupList & " " & vbcrlf
GetGroupList=GetGroupList & " " & vbcrlf
GetGroupList=GetGroupList & " " & vbcrlf
GetGroupList=GetGroupList & "
" &vbcrlf
GetGroupList=GetGroupList & " " & vbcrlf
GetGroupList=GetGroupList & " " & vbcrlf
GetGroupList=GetGroupList & " " & vbcrlf
GetGroupList=GetGroupList & " " &KS.GotTopic(SQL(4,n),ListLen) &" " & vbcrlf
GetGroupList=GetGroupList & " " & vbcrlf
GetGroupList=GetGroupList & "
" & vbcrlf
End Select
GetGroupList=GetGroupList & " "& vbcrlf
n=n+1
if n>=totalnum+1 then exit for
Next
GetGroupList=GetGroupList & " " & vbcrlf
if morestr<>"" then
GetGroupList=GetGroupList &"" & morestr &" " & vbcrlf
end if
If N>=TotalNum+1 Then Exit For
Next
GetGroupList=GetGroupList & "
"
End If
End Function
'取得网站公告列表
Function GetAnnounceList(AnnounceType, OWidth, OHeight, Width, Height, Speed, ShowStyle, OpenType, num, T_Len, ShowAuthor, C_Len, NavType, Nav, T_Css,ChannelID)
Dim SqlStr, NaviStr, T_CssStr, Title, Content
Dim RSObj:Set RSObj=Server.CreateObject("ADODB.RECORDSET")
Dim AddDate,Param
NaviStr = KS.GetNavi(NavType, Nav):T_CssStr = KS.GetCss(T_Css)
Param=" Where 1=1"
If ChannelID=9999 Or ChannelID=9998 Then
If Application(KS.SiteSN & "RefreshFolderID")="0" Or ChannelID=9998 Then
Param= Param & " And ChannelID=0"
else
Param=Param & " And ChannelID=(select channelid from ks_class where id='" & Application(KS.SiteSN & "RefreshFolderID") & "')"
End If
End If
If num = 0 Then
SqlStr = "Select * From KS_Announce " & Param & " Order BY NewestTF Desc,AddDate Desc"
Else
SqlStr = "Select Top " & num & " * From KS_Announce " & Param & " Order BY NewestTF Desc,AddDate Desc"
End If
RSObj.Open SqlStr, Conn, 1, 1
Select Case AnnounceType
Case 0 '普通
If ShowStyle = 1 Then '纵向显示
GetAnnounceList = GetAnnounceList & "" & vbCrLf
Do While Not RSObj.EOF
Title = Trim(RSObj("Title")):Content = Trim(RSObj("Content")):AddDate = RSObj("AddDate")
GetAnnounceList = GetAnnounceList & ""
If OpenType = 0 Then
GetAnnounceList = GetAnnounceList & " "
Else
GetAnnounceList = GetAnnounceList & " "
End If
GetAnnounceList = GetAnnounceList & NaviStr & KS.GotTopic(Title, T_Len) & " " & vbCrLf
If C_Len <> 0 Then
GetAnnounceList = GetAnnounceList & " " & KS.GotTopic(Replace(Replace(KS.LoseHtml(Content), vbCrLf, ""), " ", ""), C_Len) & "…"
End If
GetAnnounceList = GetAnnounceList & " " & vbCrLf
If ShowAuthor = 1 Then
GetAnnounceList = GetAnnounceList & "" & RSObj("Author") & " " & vbCrLf & "" & Year(AddDate) & "年" & Month(AddDate) & "月" & Day(AddDate) & "日 " & vbCrLf
End If
RSObj.MoveNext
Loop
GetAnnounceList = GetAnnounceList & "
" & vbCrLf
ElseIf ShowStyle = 2 Then '横向显示
Do While Not RSObj.EOF
AddDate = RSObj("AddDate")
Title = Trim(RSObj("Title"))
AddDate = RSObj("AddDate")
If OpenType = 0 Then
GetAnnounceList = GetAnnounceList & " "
Else
GetAnnounceList = GetAnnounceList & " "
End If
GetAnnounceList = GetAnnounceList & NaviStr & KS.GotTopic(Title, T_Len) & " "
If ShowAuthor = 1 Then
GetAnnounceList = GetAnnounceList & "[" & RSObj("Author") & " " & Year(AddDate) & "年" & Month(AddDate) & "月" & Day(AddDate) & "日]"
End If
GetAnnounceList = GetAnnounceList & " "
RSObj.MoveNext
Loop
Else
GetAnnounceList = ""
End If
Case 1 '弹出
GetAnnounceList = "" & vbCrLf
Case 2 '滚动
If ShowStyle = 1 Then '纵向显示
GetAnnounceList = ""
GetAnnounceList = GetAnnounceList & "" & vbCrLf
Do While Not RSObj.EOF
Title = Trim(RSObj("Title"))
Content = Trim(RSObj("Content"))
AddDate = RSObj("AddDate")
GetAnnounceList = GetAnnounceList & ""
If OpenType = 0 Then
GetAnnounceList = GetAnnounceList & " "
Else
GetAnnounceList = GetAnnounceList & " "
End If
GetAnnounceList = GetAnnounceList & NaviStr & KS.GotTopic(Title, T_Len) & " " & vbCrLf
If C_Len <> 0 Then
GetAnnounceList = GetAnnounceList & " " & KS.GotTopic(Replace(Replace(KS.LoseHtml(Content), vbCrLf, ""), " ", ""), C_Len) & "…"
End If
GetAnnounceList = GetAnnounceList & " " & vbCrLf
If ShowAuthor = 1 Then
GetAnnounceList = GetAnnounceList & "" & RSObj("Author") & " " & vbCrLf & "" & Year(AddDate) & "年" & Month(AddDate) & "月" & Day(AddDate) & "日 " & vbCrLf
End If
RSObj.MoveNext
Loop
GetAnnounceList = GetAnnounceList & "
" & vbCrLf
GetAnnounceList = GetAnnounceList & " "
ElseIf ShowStyle = 2 Then '横向显示
GetAnnounceList = ""
Do While Not RSObj.EOF
Title = Trim(RSObj("Title"))
AddDate = RSObj("AddDate")
If OpenType = 0 Then
GetAnnounceList = GetAnnounceList & " "
Else
GetAnnounceList = GetAnnounceList & " "
End If
GetAnnounceList = GetAnnounceList & NaviStr & KS.GotTopic(Title, T_Len) & " "
If ShowAuthor = 1 Then
GetAnnounceList = GetAnnounceList & "[" & RSObj("Author") & " " & Year(AddDate) & "年" & Month(AddDate) & "月" & Day(AddDate) & "日]"
End If
GetAnnounceList = GetAnnounceList & " "
RSObj.MoveNext
Loop
GetAnnounceList = GetAnnounceList & " "
Else
GetAnnounceList = ""
End If
End Select
End Function
'取得友情链接列表函数
Function GetLinkList(show,FolderID, LinkType, ShowStyle, LogoWidth, LogoHeight, num, T_Len, Col)
'On Error Resume Next
Dim SqlStr, Para, SiteName, URL,TitleStr, WidthStr, FriendLinkRegStr
Dim RSObj:Set RSObj=Server.CreateObject("ADODB.RECORDSET")
Dim k, I, NoLinkRowNumber
FriendLinkRegStr = DomainStr & "FriendLink/FriendLinkReg.asp" '注册链接
WidthStr = CInt(100 / CInt(Col)) & "%"
FolderID = CInt(FolderID):LinkType = CInt(LinkType)
Para = " Where Locked=0 And Verific=1"
If FolderID <> 0 Then
Para = Para & " And FolderID=" & FolderID
End If
If LinkType = 2 Then
Para = Para & " Order BY LinkType Desc,Recommend Desc,Hits Desc,AddDate Desc"
Else
Para = Para & " And LinkType=" & LinkType & " Order BY Recommend desc,Hits Desc,AddDate Desc"
End If
If num = 0 Then '列出所有友情链接站点
SqlStr = "Select LinkID,LinkType,SiteName,Description,Logo,AddDate,FolderID,Url From KS_Link" & Para
Else
SqlStr = "Select TOP " & num & " LinkID,LinkType,SiteName,Description ,Logo,AddDate,FolderID,Url From KS_Link" & Para
End If
RSObj.Open SqlStr, Conn, 1, 1
Select Case (CInt(ShowStyle))
Case 1 '向上滚动
GetLinkList = ""& vbCrLf
GetLinkList = GetLinkList & "
" & vbCrLf
GetLinkList = GetLinkList & "
" & vbCrLf
If RSObj.EOF And RSObj.BOF Then
If FolderID = 0 Then '当显示所有类别的友情链接时,显示点击申请
For I = 1 To num
GetLinkList = GetLinkList & "" & vbCrLf
If LinkType = 0 Then
GetLinkList = GetLinkList & "您的位置 "
Else
GetLinkList = GetLinkList & " "
End If
GetLinkList = GetLinkList & " " & vbCrLf
Next
End If
Else
Do While Not RSObj.EOF
GetLinkList = GetLinkList & "" & vbCrLf
SiteName = RSObj(2)
If Show=0 Then Url=RSObj(7) Else Url=DomainStr & "FriendLink/ToLink.asp?LinkID=" & RSObj(0)
TitleStr = " title=""网站名称:" & SiteName & "
添加日期:" & RSObj(5) & "
网站描述:" & RSObj(3) & """"
If RSObj(1) = 0 Then
GetLinkList = GetLinkList & "" & KS.GotTopic(SiteName, T_Len) & " "
Else
GetLinkList = GetLinkList & " "
End If
GetLinkList = GetLinkList & " " & vbCrLf
RSObj.MoveNext
I = I + 1
Loop
End If
GetLinkList = GetLinkList & "
"
RSObj.Close
Set RSObj = Nothing
GetLinkList = GetLinkList & "
" & vbCrLf
GetLinkList = GetLinkList & "
" & vbCrLf
GetLinkList = GetLinkList & "
" & vbCrLf
GetLinkList = GetLinkList & "" & vbCrLf
Case 2 '横向列表
GetLinkList = " " & vbCrLf
If RSObj.EOF And RSObj.BOF Then
If FolderID = 0 Then
If num = 0 Then
NoLinkRowNumber = 1
Else
NoLinkRowNumber = num \ Col
End If
For I = 1 To NoLinkRowNumber
GetLinkList = GetLinkList & "" & vbCrLf
For k = 1 To Col
If LinkType = 1 Then
GetLinkList = GetLinkList & " "
Else
GetLinkList = GetLinkList & "您的位置 "
End If
Next
GetLinkList = GetLinkList & " " & vbCrLf
Next
End If
Else
Do While Not RSObj.EOF
If Col = 1 Then
GetLinkList = GetLinkList & "" & vbCrLf
Else
GetLinkList = GetLinkList & " " & vbCrLf
End If
For k = 1 To Col
SiteName = RSObj(2)
If Show=0 Then Url=RSObj(7) Else Url=DomainStr & "FriendLink/ToLink.asp?LinkID=" & RSObj(0)
TitleStr = " title=""网站名称:" & SiteName & "
添加日期:" & RSObj(5) & "
网站描述:" & RSObj(3) & """"
If RSObj(1) = 0 Then
GetLinkList = GetLinkList & "" & KS.GotTopic(SiteName, T_Len) & " "
Else
GetLinkList = GetLinkList & " "
End If
RSObj.MoveNext
If RSObj.EOF Then Exit For
Next
'不到Col个单元格,则进行补空
for k=k+1 to Col
If LinkType = 1 Then
GetLinkList = GetLinkList & " "
Else
GetLinkList = GetLinkList & "您的位置 "
End If
next
GetLinkList = GetLinkList & " " & vbCrLf
Loop
End If
GetLinkList = GetLinkList & "
"
RSObj.Close:Set RSObj = Nothing
Case 3 '下拉列表
GetLinkList = "" & vbCrLf
If RSObj.EOF And RSObj.BOF Then
GetLinkList = GetLinkList & "---没有任何链接--- "
Else
GetLinkList = GetLinkList & "---" & Conn.Execute("Select FolderName From KS_LinkFolder Where FolderID=" & RSObj("FolderID"))(0) & "--- "
End If
Do While Not RSObj.EOF
If Show=0 Then Url=RSObj(7) Else Url=DomainStr & "FriendLink/ToLink.asp?LinkID=" & RSObj(0)
GetLinkList = GetLinkList & "" & KS.GotTopic(RSObj(2), T_Len) & " " & vbCrLf
RSObj.MoveNext
Loop
GetLinkList = GetLinkList & " " & vbCrLf
RSObj.Close:Set RSObj = Nothing
End Select
End Function
'取得顶部栏目导航
Function GetNavigation(ChannelID, TypeFlag, NavType, Nav, SplitPic, Col, OpenType, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
Dim I,SqlStr,RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
If ChannelID = "0" Then
SqlStr = "Select ID,FolderName,TN,FolderOrder From KS_Class A Inner Join KS_Channel B On A.ChannelID=B.ChannelID Where B.ChannelStatus=1 and TN='0' AND TopFlag=1 And DelTF=0 Union All Select ChannelName,ChannelName,Url,OrderID From KS_ExtChannel Where TopFlag=1 Order By FolderOrder"
ElseIf Len(ChannelID)<=3 Then
SqlStr = "Select ID,FolderName From KS_Class where TN='0' And ChannelID=" & ChannelID & " AND TopFlag=1 And DelTF=0 Order BY FolderOrder"
ElseIf ChannelID = "9999" Then
if Application(KS.SiteSN & "RefreshFolderID")="0" then
SqlStr = "Select ID,FolderName,TN,FolderOrder From KS_Class a inner join KS_Channel b on a.channelid=b.channelid Where B.ChannelStatus=1 and TN='0' AND TopFlag=1 And DelTF=0 Union All Select ChannelName,ChannelName,Url,OrderID From KS_ExtChannel Where TopFlag=1 Order By FolderOrder"
else
SqlStr = "Select ID,FolderName From KS_Class A Inner Join KS_Channel B On A.ChannelID=B.ChannelID Where B.ChannelStatus=1 And TN='" & Application(KS.SiteSN & "RefreshFolderID") & "' And DelTF=0 Order BY FolderOrder"
end if
ElseIf ChannelID = "9998" Then
GetNavigation=GetExtNav(0,NavType, Nav, SplitPic, Col, OpenType, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss):Exit Function
ElseIf ChannelID = "9997" Then
GetNavigation=GetExtNav(1,NavType, Nav, SplitPic, Col, OpenType, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss):Exit Function
ElseIf ChannelID = "9996" Then
GetNavigation=GetExtNav(2,NavType, Nav, SplitPic, Col, OpenType, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss):Exit Function
ElseIf ChannelID = "9995" Then
GetNavigation=GetExtNav(3,NavType, Nav, SplitPic, Col, OpenType, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss):Exit Function
ElseIf ChannelID = "9994" Then
GetNavigation=GetExtNav(4,NavType, Nav, SplitPic, Col, OpenType, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss):Exit Function
Else
SqlStr = "Select ID,FolderName From KS_Class A Inner Join KS_Channel B On A.ChannelID=B.ChannelID Where B.ChannelStatus=1 And TN='" & ChannelID & "' And DelTF=0 Order BY FolderOrder"
End If
RS.Open SqlStr, Conn, 1, 1
If Not RS.EOF Then
If Cint(P_T)=2 Then
GetNavigation = "" & vbCrLf & "
" & vbCrLf
Do While Not RS.EOF
if not isnumeric(mid(RS(0),3,3)) then
GetNavigation = GetNavigation & " " & "" & Trim(RS(1)) & " "
else
GetNavigation = GetNavigation & " " & "" & Trim(RS(1)) & " "
end if
RS.MoveNext
If RS.EOF Then Exit do
Loop
GetNavigation = GetNavigation & " " & vbcrlf & "
" & vbCrLf
Else
GetNavigation = "" & vbCrLf
Do While Not RS.EOF
GetNavigation = GetNavigation & "" & vbCrLf
For I = 1 To Col
Dim NavStr:NavStr=KS.GetNavi(NavType, Nav)
If I=1 Then NavStr=""
if not isnumeric(mid(RS(0),3,3)) then
GetNavigation = GetNavigation & NavStr & "" & Trim(RS(1)) & " "
else
GetNavigation = GetNavigation & NavStr & "" & Trim(RS(1)) & " "
end if
RS.MoveNext
If RS.EOF Then Exit For
Next
GetNavigation = GetNavigation & " " & vbCrLf
GetNavigation = GetNavigation & KS.GetSplitPic(SplitPic, Col)
Loop
GetNavigation = GetNavigation & "
" & vbCrLf
End If
Else
GetNavigation = ""
End If
End Function
'取得外部频道导航
Function GetExtNav(Flag,NavType, Nav, SplitPic, Col, OpenType, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
Dim SQL,RS, I,K,TotalNum,N,Url,SQLStr
Select Case Flag
Case 0:SQLStr="Select Url,ChannelName From KS_ExtChannel Where TopFlag=1 Order By OrderID asc"
Case 1:SQLStr="Select ClassID,ClassName From KS_BlogClass Order By OrderID asc"
Case 2:SQLStr="Select TypeID,TypeName From KS_BlogType Order By OrderID asc"
Case 3:SQLStr="Select ClassID,ClassName From KS_TeamClass Order By OrderID asc"
Case 4:SQLStr="Select ClassID,ClassName From KS_PhotoClass Order By OrderID asc"
Case Else:Exit Function
End Select
Set RS = Conn.Execute(SqlStr)
If RS.Eof And RS.Bof Then GetExtNav="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):TotalNum=Ubound(SQL,2)
If Cint(P_T)=2 Then
GetExtNav = "" & vbCrLf & "
" & vbCrLf
For K=0 To TotalNum
Url=SQL(0,K)
Select Case Flag
Case 1:Url=DomainStr &"space/morespace.asp?classID=" & Url
Case 2:Url=DomainStr &"space/morelog.asp?classID=" & Url
Case 3:Url=DomainStr &"space/moregroup.asp?classID=" & Url
Case 4:Url=DomainStr &"space/morephoto.asp?classID=" & Url
End Select
GetExtNav = GetExtNav & " " & "" & Trim(SQL(1,K)) & " " & vbCrLf
Next
GetExtNav = GetExtNav & " " & vbcrlf & "
" & vbCrLf
Else
GetExtNav = "" & vbCrLf
For K=0 To TotalNum
GetExtNav = GetExtNav & "" & vbCrLf
For I = 1 To Col
Url=SQL(0,N)
Select Case Flag
Case 1:Url=DomainStr &"space/morespace.asp?classID=" & Url
Case 2:Url=DomainStr &"space/morelog.asp?classID=" & Url
Case 3:Url=DomainStr &"space/moregroup.asp?classID=" & Url
Case 4:Url=DomainStr &"space/morephoto.asp?classID=" & Url
End Select
GetExtNav = GetExtNav & KS.GetNavi(NavType, Nav) & "" & Trim(SQL(1,N)) & " " & vbCrLf
N=N+1
If N>=TotalNum+1 Then Exit For
Next
GetExtNav = GetExtNav & " " & vbCrLf
GetExtNav = GetExtNav & KS.GetSplitPic(SplitPic, Col)
If N>=TotalNum+1 Then Exit For
Next
GetExtNav = GetExtNav & "
" & vbCrLf
End If
End Function
Function GetSpaceNav(NavType, Nav, SplitPic, Col, OpenType, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
End Function
'==========================================================================图片发布中心通用函数声明==============================
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:KS_P_L
'作 用:通用图片列表
'参 数:SqlStr 待查询的SQL语句,M_L_S更多链接字串,OpenTypStr链接打开类型,等
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function KS_P_L(ChannelID,SqlStr, M_L_S, Width, Height, O_T_S, PicStyle, C_Len, T_Len, Col, T_Css, NavType, Nav, SplitPic, DateRule, DateAlign, BorderType, Border,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
Dim SQL,K,N
Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open SqlStr, Conn, 1, 1
If RS.EOF Then KS_P_L="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
Dim TotalNum:TotalNum=Ubound(SQL,2)
Dim TempPicStr,Url,TempTitleStr, I,Title, T_CssStr, NaviStr,LinkAndPicStr
T_CssStr = KS.GetCss(T_Css):NaviStr = KS.GetNavi(NavType, Nav)
If P_T=2 Then
KS_P_L = "" & vbCrLf & "
" & vbCrLf
For K=0 To TotalNum
Title = SQL(1,K)
TempPicStr=GetPicUrl(SQL(7,K))
Url=KS.GetInfoUrl(ChannelID,SQL(2,K),SQL(0,K),SQL(5,K),SQL(3,K),SQL(4,K),0)
LinkAndPicStr = " "
TempTitleStr = "" & KS.GotTopic(Title, T_Len) & " "
Select Case CInt(PicStyle)
Case 1:KS_P_L = KS_P_L & (" " & LinkAndPicStr & " " & vbCrLf)
Case 2:KS_P_L = KS_P_L & (" " & LinkAndPicStr & " " & TempTitleStr & " " & vbCrLf)
Case 3:KS_P_L = KS_P_L & (" " & LinkAndPicStr & "" & TempTitleStr &" " & KS.GotTopic(Replace(Replace(KS.LoseHtml(SQL(8,K)), vbCrLf, ""), " ", ""), C_Len) &"...
"& vbCrLf)
Case 4:KS_P_L = KS_P_L & (" " & TempTitleStr &" " & KS.GotTopic(Replace(Replace(KS.LoseHtml(SQL(8,K)), vbCrLf, ""), " ", ""), C_Len) &"...
" & LinkAndPicStr & " "& vbCrLf)
Case 5:KS_P_L = KS_P_L & " "& NaviStr & TempTitleStr & KS.GetDCDateStr(SQL(6,K),DateRule,"") & " " & vbcrlf
End Select
Next
KS_P_L = KS_P_L & M_L_S & (" " & vbCrLf & "
")
Else
KS_P_L = "" & vbCrLf
For K=0 To TotalNum
KS_P_L = KS_P_L & "" & vbCrLf
For I = 1 To Col
Title = SQL(1,N)
TempPicStr=GetPicUrl(SQL(7,N))
Url=KS.GetInfoUrl(ChannelID,SQL(2,N),SQL(0,N),SQL(5,N),SQL(3,N),SQL(4,N),0)
Dim TempBorder
If BorderType = 1 And Border <> "" Then
TempBorder = TempPicStr '得到原图片
TempPicStr = Border '将原图片设定为透明边框
Else
TempBorder = Border
TempPicStr = TempPicStr
End If
LinkAndPicStr = " "
TempPicStr = KS.GetPhotoBorder(LinkAndPicStr, BorderType, TempBorder)
TempTitleStr = "" & KS.GotTopic(Title, T_Len) & " "
KS_P_L = KS_P_L & ("" & vbCrLf)
Select Case CInt(PicStyle)
Case 1:KS_P_L = KS_P_L & ("" & TempPicStr & " " & vbCrLf)
Case 2:KS_P_L = KS_P_L & ("" & TempPicStr & "
" & TempTitleStr & "
" & vbCrLf)
Case 3
KS_P_L = KS_P_L & "" & vbCrLf
KS_P_L = KS_P_L & " " & vbCrLf
KS_P_L = KS_P_L & " " & vbCrLf
KS_P_L = KS_P_L & " " & TempPicStr & "
" & vbCrLf
KS_P_L = KS_P_L & " " & vbCrLf
KS_P_L = KS_P_L & " "
KS_P_L = KS_P_L & " " & TempTitleStr & "
" & vbCrLf
KS_P_L = KS_P_L & " " & KS.GotTopic(Replace(Replace(KS.LoseHtml(SQL(8,N)), vbCrLf, ""), " ", ""), C_Len) & "……
" & vbCrLf
KS_P_L = KS_P_L & " " & vbCrLf
KS_P_L = KS_P_L & " " & vbCrLf
KS_P_L = KS_P_L & "
" & vbCrLf
Case 4
KS_P_L = KS_P_L & "" & vbCrLf
KS_P_L = KS_P_L & " " & vbCrLf
KS_P_L = KS_P_L & " " & vbCrLf
KS_P_L = KS_P_L & " " & TempTitleStr & "
" & vbCrLf
KS_P_L = KS_P_L & " " & KS.GotTopic(Replace(Replace(KS.LoseHtml(SQL(8,N)), vbCrLf, ""), " ", ""), C_Len) & "……
" & vbCrLf
KS_P_L = KS_P_L & " " & vbCrLf
KS_P_L = KS_P_L & " " & vbCrLf
KS_P_L = KS_P_L & " " & TempPicStr & "
" & vbCrLf
KS_P_L = KS_P_L & " " & vbCrLf
KS_P_L = KS_P_L & " " & vbCrLf
KS_P_L = KS_P_L & "
" & vbCrLf
Case 5 '样式五
Dim ColSpanNum
Dim DateStr:DateStr=KS.GetDateStr(SQL(6,N),DateRule,DateAlign,"",Col,ColSpanNum)
If Col=1 Then
KS_P_L = KS_P_L & NaviStr & TempTitleStr & DateStr
Else
KS_P_L = KS_P_L & (" " & vbCrLf)
KS_P_L = KS_P_L & (" " & NaviStr & TempTitleStr & DateStr)
KS_P_L = KS_P_L & (" " & vbcrlf &"
")
End If
End Select
KS_P_L = KS_P_L & (" " & vbCrLf)
N=N+1:If N>=TotalNum+1 Then Exit For
Next
KS_P_L = KS_P_L & (" " & vbCrLf)
If PicStyle=5 Then KS_P_L = KS_P_L & KS.GetSplitPic(SplitPic,ColSpanNum)
If N>=TotalNum+1 Then Exit For
Next
KS_P_L = KS_P_L & M_L_S & ("
" & vbCrLf)
End If
End Function
'=================================================================图片中心通用函数结束==================================
'************************************************************图片中心刷新函数****************************************************
'取得栏目图片列表函数
Function GetPictureList(ChannelID,FolderID, I_S_C, Width, Height, OpenType, P_P, PicStyle, C_Len, T_Len, num, ByVal S_Str, MoreType, MoreLink, Col, T_Css, NavType, Nav, SplitPic, DateRule, DateAlign, BorderType, Border,SpecialID,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetPictureList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim SqlStr, P_PStr, O_T_S, M_L_S, C_F_T,Param
If FolderID = "-1" Then
FolderID = Application(KS.SiteSN & "RefreshFolderID")
C_F_T = True
Else
C_F_T = False
End If
If FolderID="" Then FolderID="0"
Select Case P_P
Case 1 :P_PStr = "AND Recommend=1"
Case 2 :P_PStr = "AND Popular=1"
Case 3 :P_PStr = "AND Strip=1"
End Select
P_PStr=P_PStr & " And " & KS.GetSpecialPara(SpecialID)
If Lcase(Left(Trim(S_Str),2))<>"id" Then S_Str=S_Str & ",ID Desc"
If FolderID = "0" Then Param="" Else If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
SqlStr = "SELECT TOP " & num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,AddDate,PhotoUrl,PictureContent FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 " & P_PStr & " ORDER BY IsTop Desc," & S_Str
O_T_S = KS.G_O_T_S(OpenType)
If MoreLink <> "" And FolderID <> "0" And C_F_T = False Then M_L_S = KS.GetMoreLink(P_T,Col, 20, MoreType, MoreLink, KS.GetFolderPath(FolderID), O_T_S)
GetPictureList = KS_P_L(ChannelID,SqlStr, M_L_S, Width, Height, O_T_S, PicStyle, C_Len, T_Len, Col, T_Css, NavType, Nav, SplitPic, DateRule, DateAlign, BorderType, Border,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
End Function
'取得循环栏目图片列表函数
Function GetCirPictureList(ChannelID,Width, Height, OpenType, P_P, PicStyle, C_Len, T_Len, num, S_Str, MoreType, MoreLink, Col, T_Css, NavType, Nav, SplitPic, DateRule, DateAlign, ColNum, FolderCss, MenuBgType, MenuBg, BorderType, Border,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetCirPictureList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
' If Application(KS.SiteSN & "RefreshType") = "Folder" Then
Dim SqlStr,ID,SQL,K,n,TotalNum
Dim RS:Set RS=Conn.Execute("Select ID From KS_Class Where ChannelID=" & ChannelID & " And DelTF=0 AND TN='" & Application(KS.SiteSN & "RefreshFolderID") & "' ORDER BY FolderOrder")
If RS.EOF And RS.BOF Then RS.Close:Set RS = Nothing:GetCirPictureList = "": Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
TotalNum=Ubound(SQL,2)
Dim TempStr, I, MenuBgStr, PictureListStr, O_T_S
TempStr = "" & vbCrLf
MenuBgStr = KS.GetMenuBg(MenuBgType, MenuBg, ColNum)
O_T_S = KS.G_O_T_S(OpenType)
For K=0 To TotalNum
TempStr = TempStr & ""
For I = 1 To ColNum
ID = Trim(SQL(0,N))
TempStr = TempStr & "" & vbCrLf
TempStr = TempStr & ""
TempStr = TempStr & "" & KS.GetClassNP(ID) & "
" & vbCrLf
TempStr = TempStr & "" & vbCrLf
'调用栏目图片函数
PictureListStr = GetPictureList(ChannelID,ID, True, Width, Height, OpenType, P_P, PicStyle, C_Len, T_Len, num, S_Str, MoreType, MoreLink, Col, T_Css, NavType, Nav, SplitPic, DateRule, DateAlign, BorderType, Border,0,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,"ajax")
If Trim(PictureListStr) = "" Then PictureListStr = "
此栏目下没有图片 "
TempStr = TempStr & PictureListStr
TempStr = TempStr & "" & vbCrLf
TempStr = TempStr & "
" & vbCrLf
N=N+1
If N>=TotalNum+1 Then Exit For
Next
TempStr = TempStr & " " & vbCrLf
If N>=TotalNum+1 Then Exit For
Next
TempStr = TempStr & "
" & vbCrLf
GetCirPictureList = TempStr
' Else
' GetCirPictureList = ""
' End If
End Function
'取得图片分页函数
Function GetLastPictureList(ChannelID,PerPageNumber, I_S_C, Width, Height, OpenType, PicStyle, C_Len, T_Len, S_Str, Col, T_Css, NavType, Nav, SplitPic, DateRule, DateAlign, BorderType, Border,PageStyle,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If Cint(Application(KS.SiteSN&"ChannelID"))<>Cint(ChannelID) Then GetLastPictureList="该标签位置出错!":Exit Function
If P_T>2 Then GetLastPictureList=GetPageStr(KS.C_S(ChannelID,10),LabelID):Exit Function
If KS.C_S(ChannelID,7)=0 or KS.C_C(Application(KS.SiteSN & "RefreshFolderID"),3)>1 Then GetLastPictureList=Application("PageParam"):Exit Function
Dim FolderID, SqlStr, TempIDArrStr,Param
If Application(KS.SiteSN & "RefreshType") = "Folder" Or Application(KS.SiteSN & "RefreshType") = "Special" Then
If Application(KS.SiteSN & "RefreshType") = "Special" Then '刷新专题,查询语句不同
If DataBaseType=1 Then
SqlStr = "SELECT ID FROM " & KS.C_S(ChannelID,2) &" WHERE charindex('" & KS.C("CurrSpecialID") & "',specialid)>0 AND Verific=1 And DelTF=0 Order by IsTop Desc,ID Desc"
Else
SqlStr = "SELECT ID FROM " & KS.C_S(ChannelID,2) &" WHERE instr(specialid,'" & KS.C("CurrSpecialID") & "')>0 AND Verific=1 And DelTF=0 Order by IsTop Desc,ID Desc"
End If
Else
FolderID = Application(KS.SiteSN & "RefreshFolderID")
If CBool(I_S_C) = True Then Param="Tid In(" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
Dim ASort: If Lcase(Left(Trim(S_Str),2))<>"id" Then ASort=S_Str & ",ID Desc" Else ASort=S_Str
SqlStr = "SELECT ID FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 order by IsTop Desc," & Asort
End If
Dim N,SQL,TotalNum,RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF Then GetLastPictureList="此栏目下没有" & KS.C_S(ChannelID,3) & "
":RS.Close:Set RS=Nothing:Application(KS.SiteSN & "PageList") = "":Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
TotalNum=Ubound(SQL,2)+1
Dim PageNum, I, J, k, TempStr, O_T_S
O_T_S = KS.G_O_T_S(OpenType)
if (TotalNum mod PerPageNumber)=0 then
PageNum = TotalNum \ PerPageNumber
else
PageNum = TotalNum \ PerPageNumber + 1
end if
For I = 1 To PageNum
TempIDArrStr = ""
For J = 1 To PerPageNumber
TempIDArrStr = TempIDArrStr & SQL(0,N) & ","
N=N+1
If N>=TotalNum Then Exit For
Next
TempIDArrStr = Left(TempIDArrStr, Len(TempIDArrStr) - 1)
SqlStr = "SELECT ID,Title,Tid,ReadPoint,InfoPurview,Fname,AddDate,PhotoUrl,PictureContent FROM " & KS.C_S(ChannelID,2) &" Where ID in (" & TempIDArrStr & ") AND Verific=1 AND DelTF=0 order by IsTop Desc," & S_Str
TempStr = TempStr & KS_P_L(ChannelID,SqlStr, "", Width, Height, O_T_S, PicStyle, C_Len, T_Len, Col, T_Css, NavType, Nav, SplitPic, DateRule, DateAlign, BorderType, Border,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
TempStr = TempStr & KS.GetPrePageList(PageStyle,KS.C_S(ChannelID,4),PageNum,I,TotalNum,PerPageNumber)
TempStr = TempStr & "{$PageList}" '加上分页符
If N>=TotalNum Then Exit For
Next
Application(KS.SiteSN & "PageList") = TempStr
Application(KS.SiteSN & "PageStyle") = PageStyle
Else
Application(KS.SiteSN & "PageList") = ""
End If
GetLastPictureList = "{PageListStr}"
End Function
'取得相关图片列表
Function GetCorrelativePicture(ChannelID,innerstr,num, Col, Width, Height, OpenType, PicStyle, C_Len, T_Len, T_Css, NavType, Nav, SplitPic, DateRule, DateAlign, BorderType, Border,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetCorrelativePicture=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
'If Application(KS.SiteSN & "RefreshType") = "PictureContent" Then
Dim KeyWords:KeyWords=trim(Conn.Execute("Select " &innerstr& " From " & KS.C_S(ChannelID,2) &" Where ID=" & KS.ChkClng(Application(KS.SiteSN & "RefreshInfoID")))(0))
If KeyWords="" Then GetCorrelativePicture = "暂无相关链接 ":Exit Function
Dim KeyWordsArr, I, SqlKeyWordStr
KeyWordsArr = Split(KeyWords, "|")
For I = 0 To UBound(KeyWordsArr)
If DataBaseType=0 Then
If SqlKeyWordStr = "" Then
SqlKeyWordStr = " instr("& innerstr &",'" & KeyWordsArr(I) & "')>0 "
Else
SqlKeyWordStr = SqlKeyWordStr & "or instr("& innerstr &",'" & KeyWordsArr(I) & "')>0 "
End If
Else
If SqlKeyWordStr = "" Then
SqlKeyWordStr = " charindex('" & KeyWordsArr(I) & "',"& innerstr &")>0 "
Else
SqlKeyWordStr = SqlKeyWordStr & "or charindex('" & KeyWordsArr(I) & "',"& innerstr &")>0 "
End If
End If
Next
Dim SqlStr:SqlStr = "Select TOP " & num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,AddDate,PhotoUrl,PictureContent From " & KS.C_S(ChannelID,2) &" Where (" & SqlKeyWordStr & ") AND ID<>" & KS.ChkClng(Application(KS.SiteSN & "RefreshInfoID")) & " AND DelTF=0 AND Verific=1"
GetCorrelativePicture = KS_P_L(ChannelID,SqlStr, "", Width, Height, KS.G_O_T_S(OpenType), PicStyle, C_Len, T_Len, Col, T_Css, NavType, Nav, SplitPic, DateRule, DateAlign, BorderType, Border,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
If GetCorrelativePicture = "" Then GetCorrelativePicture = "暂无相关链接 "
' Else
' GetCorrelativePicture = ""
' End If
End Function
'********************************************************************************************************************************
'==========================================================================下载发布中心通用函数声明==============================
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:KS_D_L
'作 用:通用栏目下载列表
'参 数:SqlStr 待查询的SQL语句,M_L_S更多链接字串,OpenTypStr链接打开类型,等
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function KS_D_L(ChannelID,SqlStr, M_L_S, S_C_N, O_T_S, R_H, T_Len, Col, ShowStyle, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, DateCss,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
Dim I, C_N_Link,NaviStr,ColSpanNum, TempTitle,Title, T_CssStr, DateCssStr
Dim SQL,K,N,TotalNum
Dim RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF Then KS_D_L="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
TotalNum=Ubound(SQL,2)
T_CssStr = KS.GetCss(T_Css):DateCssStr = KS.GetCss(DateCss):R_H = KS.G_R_H(R_H):NaviStr = KS.GetNavi(NavType, Nav)
IF P_T=2 Then
KS_D_L = "" & vbCrLf & "
" & vbCrLf
For K=0 To TotalNum
If CBool(S_C_N) = True Then C_N_Link = "[" & KS.GetClassNP(SQL(2,K)) & "]"
Title = SQL(1,K) & " " & SQL(7,K)
TempTitle = "" & KS.GotTopic(Title, T_Len) & " "
KS_D_L = KS_D_L & " " & (NaviStr & C_N_Link & TempTitle & KS.GetDCDateStr(SQL(6,K),DateRule,DateCssStr)) & " " & vbCrLf
Next
KS_D_L = KS_D_L & M_L_S & " " & vbCrLf & "
" & vbCrLf
Else
KS_D_L = "" & vbCrLf
For K=0 To TotalNum
KS_D_L = KS_D_L & "" & vbCrLf
For I = 1 To Col
If CBool(S_C_N) = True Then C_N_Link = "[" & KS.GetClassNP(SQL(2,N)) & "]"
Title = SQL(1,N) & " " & SQL(7,N)
Dim DateStr:DateStr=KS.GetDateStr(SQL(6,N),DateRule,DateAlign,DateCssStr,Col,ColSpanNum)
TempTitle = "" & KS.GotTopic(Title, T_Len) & " "
If Col=1 Then
KS_D_L = KS_D_L & " " & vbCrLf & (NaviStr & C_N_Link & TempTitle & DateStr) & " " & vbCrLf
Else
KS_D_L = KS_D_L & ("" & vbCrLf)
KS_D_L = KS_D_L & ("" & vbCrLf)
KS_D_L = KS_D_L & (" " & (NaviStr & C_N_Link & TempTitle & DateStr) & " ")
KS_D_L = KS_D_L & (" " & vbcrlf &"
" & vbCrLf & " " & vbCrLf)
End If
N=N+1
If N>=TotalNum+1 Then Exit For
Next
KS_D_L = KS_D_L & " " & vbCrLf
KS_D_L = KS_D_L & KS.GetSplitPic(SplitPic, ColSpanNum)
If N>=TotalNum+1 Then Exit For
Next
KS_D_L = KS_D_L & M_L_S & ("
" & vbCrLf)
End If
End Function
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名: KS_C_PicD_L
'作 用: 通用图片下载函数
'参 数: SqlStr 待查询的SQL语句,OpenTypStr链接打开类型,等
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function KS_C_PicD_L(ChannelID,SqlStr, Width, Height, O_T_S, ShowTitle, PicStyle, C_Len, T_Len, Col, T_Css, BorderType, Border,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
Dim LinkAndPicStr,TempPicStr, TempTitleStr, I,Title, T_CssStr,URL,ReturnStr,SQL,K,N,TotalNum
Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open SqlStr, Conn, 1, 1
If RS.EOF Then KS_C_PicD_L="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
TotalNum=Ubound(SQL,2)
T_CssStr = KS.GetCss(T_Css)
IF P_T=2 Then
ReturnStr = "" & vbCrLf & "
" & vbCrLf
For K=0 To TotalNum
Title = SQL(1,K):TempPicStr=GetPicUrl(SQL(6,K))
URL=KS.GetInfoUrl(ChannelID,SQL(2,K),SQL(0,K),SQL(5,K),SQL(3,K),SQL(4,K),0)
LinkAndPicStr = " "
TempTitleStr = "" & KS.Gottopic(Title,T_Len) & " "
Select Case CInt(PicStyle)
Case 1:ReturnStr = ReturnStr & (" " & LinkAndPicStr & " " & vbCrLf)
Case 2:ReturnStr = ReturnStr & ("" & LinkAndPicStr & " " & TempTitleStr & " " & vbCrLf)
Case 3
ReturnStr = ReturnStr & (" " & LinkAndPicStr)
If Cbool(ShowTitle) = True Then ReturnStr = ReturnStr & ("" & TempTitleStr &" ")
ReturnStr = ReturnStr & ("" & KS.GotTopic(Replace(Replace(KS.LoseHtml(SQL(7,K)), vbCrLf, ""), " ", ""), C_Len) &"...
"& vbCrLf)
Case 4
ReturnStr = ReturnStr & (" ")
If Cbool(ShowTitle) = True Then ReturnStr = ReturnStr & ("" & TempTitleStr &" ")
ReturnStr = ReturnStr & ("" & KS.GotTopic(Replace(Replace(KS.LoseHtml(SQL(7,K)), vbCrLf, ""), " ", ""), C_Len) &"...
" & LinkAndPicStr &" "& vbCrLf)
End Select
Next
KS_C_PicD_L = ReturnStr & (" " & vbCrLf &"
")
Else
ReturnStr = "" & vbCrLf
For K=0 To TotalNum
ReturnStr = ReturnStr & "" & vbCrLf
For I = 1 To Col
Title = SQL(1,N):TempPicStr=GetPicUrl(SQL(6,N))
URL=KS.GetInfoUrl(ChannelID,SQL(2,N),SQL(0,N),SQL(5,N),SQL(3,N),SQL(4,N),0)
'-------------------------------加边框开始-------------------------------------------------
Dim TempBorder
If BorderType = 1 And Border <> "" Then
TempBorder = TempPicStr '得到原图片
TempPicStr = Border '将原图片设定为透明边框
Else
TempBorder = Border:TempPicStr = TempPicStr
End If
LinkAndPicStr = " "
TempPicStr = KS.GetPhotoBorder(LinkAndPicStr, BorderType, TempBorder)
'-----------------------------------图片加边框结束-------------------------------------------------------------------
TempTitleStr = "" & KS.Gottopic(Title,T_Len) & " "
ReturnStr = ReturnStr & ("" & vbCrLf)
Select Case CInt(PicStyle)
Case 1
ReturnStr = ReturnStr & ("" & TempPicStr & "
" & vbCrLf)
Case 2
ReturnStr = ReturnStr & (" ")
ReturnStr = ReturnStr & ("" & TempPicStr & " " & vbCrLf)
If CBool(ShowTitle) = True Then
ReturnStr = ReturnStr & ("" & TempTitleStr & " " & vbCrLf)
End If
ReturnStr = ReturnStr & ("
")
Case 3
ReturnStr = ReturnStr & "" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & " " & TempPicStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & ""
If CBool(ShowTitle) = True Then
ReturnStr = ReturnStr & "" & TempTitleStr & " " & vbCrLf
End If
ReturnStr = ReturnStr & "" & KS.GotTopic(Replace(Replace(KS.LoseHtml(SQL(7,N)), vbCrLf, ""), " ", ""), C_Len) & "... " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
Case 4
ReturnStr = ReturnStr & "" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & ""
If CBool(ShowTitle) = True Then
ReturnStr = ReturnStr & "" & TempTitleStr & " " & vbCrLf
End If
ReturnStr = ReturnStr & "" & KS.GotTopic(Replace(Replace(KS.LoseHtml(SQL(7,N)), vbCrLf, ""), " ", ""), C_Len) & "... " & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & "" & vbCrLf
ReturnStr = ReturnStr & "" & TempPicStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
ReturnStr = ReturnStr & " " & vbCrLf
ReturnStr = ReturnStr & "
" & vbCrLf
End Select
ReturnStr = ReturnStr & (" " & vbCrLf)
N=N+1
IF N>=TotalNum+1 Then Exit For
Next
ReturnStr = ReturnStr & (" " & vbCrLf)
ReturnStr = ReturnStr & (" ")
IF N>=TotalNum+1 Then Exit For
Next
KS_C_PicD_L = ReturnStr & ("
" & vbCrLf)
End If
End Function
'==========================================================================下载发布中心通用函数结束==============================
'***********************************下载中心刷新函数****************************************************
'取得栏目下载列表
Function GetDownLoadList(ChannelID,FolderID, I_S_C, S_C_N, OpenType, D_P, num, R_H, T_Len,ByVal S_Str, Col, ShowStyle, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, DateAlign, T_Css, DateCss,SpecialID,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetDownLoadList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim SqlStr, D_PStr, M_L_S, O_T_S, C_F_T,Param
If FolderID = "-1" Then
FolderID = Application(KS.SiteSN & "RefreshFolderID")
C_F_T = True
Else
C_F_T = False
End If
If FolderID = "" Then FolderID="0"
Select Case D_P
Case 1:D_PStr = " And Recommend=1"
Case 2:D_PStr = " And Popular=1"
End Select
D_PStr=D_PStr & " And " & KS.GetSpecialPara(SpecialID)
If Lcase(Left(Trim(S_Str),2))<>"id" Then S_Str=S_Str & ",ID Desc"
If FolderID = "0" Then Param="" Else If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
SqlStr = "SELECT TOP " & num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,AddDate,DownVersion FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 " & D_PStr & " ORDER BY IsTop Desc," & S_Str
O_T_S = KS.G_O_T_S(OpenType)
If MoreLink <> "" And FolderID <> "0" And C_F_T = False Then M_L_S = KS.GetMoreLink(P_T,Col, R_H, MoreType, MoreLink, KS.GetFolderPath(FolderID), O_T_S)
GetDownLoadList = KS_D_L(ChannelID,SqlStr, M_L_S, S_C_N, O_T_S, R_H, T_Len, Col, ShowStyle, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, DateCss,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
End Function
'取得图片下载列表函数
Function GetPicDownLoadList(ChannelID,FolderID, I_S_C, Width, Height, OpenType, ShowTitle, D_P, PicStyle, C_Len, T_Len, Num, SqlSort, Col, T_Css, BorderType, Border,SpecialID,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetPicDownLoadList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim SqlStr, D_PStr,Param
If FolderID = "-1" Then FolderID = Application(KS.SiteSN & "RefreshFolderID")
Select Case D_P
Case 1:D_PStr = " And Recommend=1"
Case 2:D_PStr = " And Popular=1"
End Select
D_PStr=D_PStr & " And " & KS.GetSpecialPara(SpecialID)
If Lcase(Left(Trim(SqlSort),2))<>"id" Then SqlSort=SqlSort & ",ID Desc"
If FolderID = "" Or FolderID = "0" Then Param="" Else If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
SqlStr = "SELECT TOP " & Num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,PhotoUrl,DownContent FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0" & D_PStr & " ORDER BY IsTop Desc," & SqlSort
GetPicDownLoadList = KS_C_PicD_L(ChannelID,SqlStr, Width, Height, KS.G_O_T_S(OpenType), ShowTitle, PicStyle, C_Len, T_Len, Col, T_Css, BorderType, Border,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
End Function
'循环列出下载栏目函数
Function GetCirDownLoadList(ChannelID,Col, FolderCss, MenuBgType, MenuBg, S_C_N, OpenType, num, R_H, T_Len, S_Str, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, DateAlign, T_Css, DateCss,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetCirDownLoadList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
'If Application(KS.SiteSN & "RefreshType") = "Folder" Then
Dim FolderID, SqlStr,ID,SQL,K,n,TotalNum
FolderID = Application(KS.SiteSN & "RefreshFolderID")
Dim RS:Set RS=Conn.Execute("Select ID From KS_Class Where ChannelID=" & ChannelID & " And DelTF=0 AND TN='" & FolderID & "' ORDER BY FolderOrder")
If RS.EOF And RS.BOF Then RS.Close:Set RS = Nothing:GetCirDownLoadList = "": Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS=Nothing
TotalNum=Ubound(SQL,2)
Dim I, MenuBgStr, DownLoadListStr, O_T_S
GetCirDownLoadList = "" & vbCrLf
MenuBgStr = KS.GetMenuBg(MenuBgType, MenuBg, Col)
O_T_S = KS.G_O_T_S(OpenType)
For K=0 To TotalNum
GetCirDownLoadList = GetCirDownLoadList & "" & vbCrLf
For I = 1 To Col
ID = SQL(0,N)
GetCirDownLoadList = GetCirDownLoadList & "" & vbCrLf
GetCirDownLoadList = GetCirDownLoadList & ""
GetCirDownLoadList = GetCirDownLoadList & "" & KS.GetClassNP(ID) & "
" & vbCrLf
GetCirDownLoadList = GetCirDownLoadList & "" & vbCrLf
DownLoadListStr = GetDownLoadList(ChannelID,ID, True, S_C_N, OpenType, 0, num, R_H, T_Len, S_Str, 1, 1, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, DateAlign, T_Css, DateCss,0,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,"ajax")
If Trim(DownLoadListStr) = "" Then DownLoadListStr = "
此栏目下没有下载 "
GetCirDownLoadList = GetCirDownLoadList & DownLoadListStr
GetCirDownLoadList = GetCirDownLoadList & " " & vbCrLf
GetCirDownLoadList = GetCirDownLoadList & "
" & vbCrLf
GetCirDownLoadList = GetCirDownLoadList & " " & vbCrLf
N=N+1
If N>=TotalNum+1 Then Exit For
Next
GetCirDownLoadList = GetCirDownLoadList & " " & vbCrLf
If N>=TotalNum+1 Then Exit For
Next
GetCirDownLoadList = GetCirDownLoadList & "
" & vbCrLf
'Else
' GetCirDownLoadList = ""
'End If
End Function
'取得下载分页函数
Function GetLastDownLoadList(ChannelID,PerPageNumber, R_H, S_C_N, OpenType, T_Len, S_Str, I_S_C, ShowStyle, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, DateCss,Col,PageStyle,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If Cint(Application(KS.SiteSN&"ChannelID"))<>Cint(ChannelID) Then GetLastDownLoadList="该标签位置出错!":Exit Function
If P_T>2 Then GetLastDownLoadList=GetPageStr(KS.C_S(ChannelID,10),LabelID):Exit Function
If KS.C_S(ChannelID,7)=0 or KS.C_C(Application(KS.SiteSN & "RefreshFolderID"),3)>1 Then GetLastDownLoadList=Application("PageParam"):Exit Function
Dim FolderID, SqlStr,Param
If Application(KS.SiteSN & "RefreshType") = "Folder" Or Application(KS.SiteSN & "RefreshType") = "Special" Then
If Application(KS.SiteSN & "RefreshType") = "Special" Then '刷新专题,查询语句不同
If DataBaseType=1 Then
SqlStr = "SELECT ID FROM " & KS.C_S(ChannelID,2) &" WHERE charindex('" & KS.C("CurrSpecialID") & "',specialid)>0 AND Verific=1 And DelTF=0 Order by IsTop Desc,ID Desc"
Else
SqlStr = "SELECT ID FROM " & KS.C_S(ChannelID,2) &" WHERE instr(specialid,'" & KS.C("CurrSpecialID") & "')>0 AND Verific=1 And DelTF=0 Order by IsTop Desc,ID Desc"
End If
Else
FolderID = Application(KS.SiteSN & "RefreshFolderID")
If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
Dim ASort: If Lcase(Left(Trim(S_Str),2))<>"id" Then ASort=S_Str & ",ID Desc" Else ASort=S_Str
SqlStr = "SELECT ID FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 order by IsTop Desc," & Asort
End If
Dim SQL,TotalPut,RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF Then GetLastDownLoadList="此栏目下没有" & KS.C_S(ChannelID,3) & "
":RS.Close:Set RS=Nothing:Application(KS.SiteSN & "PageList") = "":Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
TotalPut=Ubound(SQL,2)+1
Dim N,PageNum,I, J, k, TempStr, O_T_S,CurrTid, AddDate,TempIDArrStr
O_T_S = KS.G_O_T_S(OpenType)
R_H = KS.G_R_H(R_H)
if (TotalPut mod PerPageNumber)=0 then
PageNum = TotalPut \ PerPageNumber
else
PageNum = TotalPut \ PerPageNumber + 1
end if
For I = 1 To PageNum
TempIDArrStr=""
For J = 1 To PerPageNumber
TempIDArrStr = TempIDArrStr &SQL(0,N) & ","
N=N+1
If N>=TotalPut Then Exit For
Next
TempIDArrStr = Left(TempIDArrStr, Len(TempIDArrStr) - 1)
SqlStr = "SELECT ID,Title,Tid,ReadPoint,InfoPurview,Fname,AddDate,DownVersion FROM " & KS.C_S(ChannelID,2) &" Where ID in (" & TempIDArrStr & ") AND Verific=1 AND DelTF=0 order by IsTop Desc," & S_Str
TempStr = TempStr & KS_D_L(ChannelID,SqlStr, "", S_C_N, O_T_S, R_H, T_Len, Col, ShowStyle, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, DateCss,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
TempStr = TempStr & KS.GetPrePageList(PageStyle,KS.C_S(ChannelID,4),PageNum,I,TotalPut,PerPageNumber)& "{$PageList}"
If N>=TotalPut Then Exit For
Next
Application(KS.SiteSN & "PageList") = TempStr
Application(KS.SiteSN & "PageStyle") = PageStyle
Else
Application(KS.SiteSN & "PageList") = ""
End If
GetLastDownLoadList = "{PageListStr}"
End Function
'取得相关下载
Function GetCorrelativeDownLoad(ChannelID,InnerStr,num, R_H, T_Len, Col, OpenType, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetCorrelativeDownLoad=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
' If Application(KS.SiteSN & "RefreshType") = "DownLoadContent" Then
Dim KeyWords:KeyWords=trim(Conn.Execute("Select " &innerstr& " From " & KS.C_S(ChannelID,2) &" Where ID=" & KS.ChkClng(Application(KS.SiteSN & "RefreshInfoID")))(0))
If KeyWords="" Then GetCorrelativeDownLoad = "暂无相关" & KS.C_S(ChannelID,3) & " ":Exit Function
Dim KeyWordsArr, I, SqlKeyWordStr,SqlStr
KeyWordsArr = Split(KeyWords, "|")
For I = 0 To UBound(KeyWordsArr)
If DataBaseType=0 Then
If SqlKeyWordStr = "" Then
SqlKeyWordStr = " instr("& innerstr &",'" & KeyWordsArr(I) & "')>0 "
Else
SqlKeyWordStr = SqlKeyWordStr & "or instr("& innerstr &",'%" & KeyWordsArr(I) & "')>0 "
End If
Else
If SqlKeyWordStr = "" Then
SqlKeyWordStr = " charindex('" & KeyWordsArr(I) & "',"& innerstr &")>0 "
Else
SqlKeyWordStr = SqlKeyWordStr & "or charindex('%" & KeyWordsArr(I) & "',"& innerstr &")>0 "
End If
End If
Next
SqlStr = "Select TOP " & num & " ID,Title,Tid,ReadPoint,InfoPurview,Fname,AddDate,DownVersion From " & KS.C_S(ChannelID,2) &" Where (" & SqlKeyWordStr & ") AND ID<>" & KS.ChkClng(Application(KS.SiteSN & "RefreshInfoID")) & " AND DelTF=0 AND Verific=1 order by IsTop Desc,ID Desc"
GetCorrelativeDownLoad = KS_D_L(ChannelID,SqlStr, "", False, KS.G_O_T_S(OpenType), R_H, T_Len, Col, 1, NavType, Nav, SplitPic, DateRule, DateAlign, T_Css, "",P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
If GetCorrelativeDownLoad = "" Then GetCorrelativeDownLoad = "暂无相关" & KS.C_S(ChannelID,3)
' Else
' GetCorrelativeDownLoad = ""
' End If
End Function
'=====================================================商城通用开始==========================================================
'通用商品列表
Function KS_Pro_L(SqlStr,ShowStyle,ButtonType,PriceType,Discount,Width,Height,BorderType,Border,O_T_S, T_Len, Col, NavType, Nav, M_L_S, SplitPic, DateRule, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
Dim SQL,K,N,TotalNum
Dim RS:Set RS=Server.CreateObject("ADODB.RECORDSET")
RS.Open SqlStr, Conn, 1, 1
If RS.Eof And RS.Bof Then KS_Pro_L="" :RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS=Nothing
TotalNum=Ubound(SQL,2)
Dim Url,DateStr,TempPicStr,LinkAndPicStr,TempTitleStr, I, CurrTid,Title,T_CssStr, NaviStr,C_N_Link,ColSpanNum,ButtonStr,PriceStr
T_CssStr = KS.GetCss(T_Css):NaviStr = KS.GetNavi(NavType, Nav)
IF P_T=2 Then
KS_Pro_L = "" & vbCrLf & "
" & vbCrLf
For K=0 To TotalNum
CurrTid = SQL(2,K):Title = SQL(1,K)
Url=KS.GetInfoUrl(5,CurrTid,SQL(0,K),SQL(3,K),0,0,0)
ButtonStr=GetButtonStr(ButtonType,SQL(0,K),SQL(11,K),Url,O_T_S)
PriceStr=GetPriceStr(PriceType,Discount,SQL(6,K),SQL(7,K),SQL(8,K),SQL(9,K),SQL(10,K))
TempPicStr=GetPicUrl(SQL(5,K))
LinkAndPicStr = " "
TempTitleStr =NaviStr & "" & KS.GotTopic(Title, T_Len) & " "
Select Case CInt(ShowStyle)
Case 1
DateStr=KS.GetDCDateStr(SQL(4,K),DateRule,"")
KS_Pro_L = KS_Pro_L & " " &TempTitleStr & DateStr&" "&vbcrlf
Case 2
KS_Pro_L = KS_Pro_L & (" " & LinkAndPicStr & " " & vbCrLf)
Case 3
KS_Pro_L = KS_Pro_L & (" " & LinkAndPicStr & " " & TempTitleStr & " " & vbCrLf)
Case 4
KS_Pro_L = KS_Pro_L & (" " & LinkAndPicStr & " " & ButtonStr & " " & vbCrLf)
Case 5
KS_Pro_L = KS_Pro_L & (" " & LinkAndPicStr & " " & TempTitleStr & " " & ButtonStr & " " & vbCrLf)
Case 6
KS_Pro_L = KS_Pro_L & (" " & LinkAndPicStr & " " & TempTitleStr & " " & PriceStr & " " & ButtonStr & " " & vbCrLf)
Case 7
KS_Pro_L = KS_Pro_L & " " & LinkAndPicStr & " " & PriceStr & " " &buttonstr & "
" & vbCrLf
Case 8
KS_Pro_L = KS_Pro_L & " " &LinkAndPicStr & " " &TempTitleStr & "" & PriceStr & " " &buttonstr & "
" & vbCrLf
Case 9
KS_Pro_L = KS_Pro_L & " " & LinkAndPicStr & "" & TempTitleStr & " " & PriceStr & " " &buttonstr & "
" & vbCrLf
Case 10
KS_Pro_L = KS_Pro_L & " " & LinkAndPicStr & " " &TempTitleStr & "" & TempTitleStr & " " & PriceStr & " " &buttonstr & "
" & vbCrLf
End Select
Next
KS_Pro_L = KS_Pro_L & M_L_S & (" " & vbCrLf)
Else
KS_Pro_L = "" & vbCrLf
For K=0 To TotalNum
KS_Pro_L = KS_Pro_L & "" & vbCrLf
For I = 1 To Col
CurrTid = SQL(2,N):Title = SQL(1,N)
Url=KS.GetInfoUrl(5,CurrTid,SQL(0,N),SQL(3,N),0,0,0)
ButtonStr=GetButtonStr(ButtonType,SQL(0,N),SQL(11,N),Url,O_T_S)
PriceStr=GetPriceStr(PriceType,Discount,SQL(6,N),SQL(7,N),SQL(8,N),SQL(9,N),SQL(10,N))
TempPicStr=GetPicUrl(SQL(5,N))
Dim TempBorder
If BorderType = 1 And Border <> "" Then
TempBorder = TempPicStr '得到原图片
TempPicStr = Border '将原图片设定为透明边框
Else
TempBorder = Border
TempPicStr = TempPicStr
End If
LinkAndPicStr = " "
'给图片加边框
TempPicStr = KS.GetPhotoBorder(LinkAndPicStr, BorderType, TempBorder)
TempTitleStr =NaviStr & "" & KS.GotTopic(Title, T_Len) & " "
KS_Pro_L = KS_Pro_L & ("" & vbCrLf)
ColSpanNum=Col
Select Case CInt(ShowStyle)
Case 1
DateStr=KS.GetDateStr(SQL(4,N),DateRule,"center","",Col,ColSpanNum)
If Col=1 Then
KS_Pro_L = KS_Pro_L & TempTitleStr & DateStr
Else
KS_Pro_L = KS_Pro_L & (" " & vbCrLf)
KS_Pro_L = KS_Pro_L & (" " & TempTitleStr & DateStr)
KS_Pro_L = KS_Pro_L & (" " & vbcrlf &"
")
End If
Case 2
KS_Pro_L = KS_Pro_L & ("" & TempPicStr & "
" & vbCrLf)
Case 3
KS_Pro_L = KS_Pro_L & ("" & TempPicStr & "
" & vbCrLf)
KS_Pro_L = KS_Pro_L & ("" & TempTitleStr & "
" & vbCrLf)
Case 4
KS_Pro_L = KS_Pro_L & ("" & TempPicStr & "
" & vbCrLf)
KS_Pro_L = KS_Pro_L & ("" & ButtonStr & "
" & vbCrLf)
Case 5
KS_Pro_L = KS_Pro_L & ("" & TempPicStr & "
" & vbCrLf)
KS_Pro_L = KS_Pro_L & ("" & TempTitleStr & "
" & vbCrLf)
KS_Pro_L = KS_Pro_L & ("" & ButtonStr & "
" & vbCrLf)
Case 6
KS_Pro_L = KS_Pro_L & ("" & TempPicStr & "
" & vbCrLf)
KS_Pro_L = KS_Pro_L & ("" & TempTitleStr & "
" & vbCrLf)
KS_Pro_L = KS_Pro_L & ("" & PriceStr & "
" & vbCrLf)
KS_Pro_L = KS_Pro_L & ("" & ButtonStr & "
" & vbCrLf)
Case 7
KS_Pro_L = KS_Pro_L & "" & vbCrLf
KS_Pro_L = KS_Pro_L & " " & vbCrLf
KS_Pro_L = KS_Pro_L & " " & TempPicStr & " " & vbCrLf
KS_Pro_L = KS_Pro_L & "" & vbCrLf
KS_Pro_L = KS_Pro_L & " "& vbcrlf & "" & vbcrlf & "" & PriceStr & " " & vbCrLf
KS_Pro_L = KS_Pro_L & " " &buttonstr & " " & vbCrLf
KS_Pro_L = KS_Pro_L & "
" & vbCrLf
KS_Pro_L = KS_Pro_L & " " & vbCrLf
KS_Pro_L = KS_Pro_L & "
" & vbCrLf
Case 8
KS_Pro_L = KS_Pro_L & "" & vbCrLf
KS_Pro_L = KS_Pro_L & " " & vbCrLf
KS_Pro_L = KS_Pro_L & " " & TempPicStr & "
" &TempTitleStr & "
" & vbCrLf
KS_Pro_L = KS_Pro_L & "" & vbCrLf
KS_Pro_L = KS_Pro_L & " "& vbcrlf & "" & vbcrlf & "" & PriceStr & " " & vbCrLf
KS_Pro_L = KS_Pro_L & " " &buttonstr & " " & vbCrLf
KS_Pro_L = KS_Pro_L & "
" & vbCrLf
KS_Pro_L = KS_Pro_L & " " & vbCrLf
KS_Pro_L = KS_Pro_L & "
" & vbCrLf
Case 9
KS_Pro_L = KS_Pro_L & "" & vbCrLf
KS_Pro_L = KS_Pro_L & " " & vbCrLf
KS_Pro_L = KS_Pro_L & " " & TempPicStr & " " & vbCrLf
KS_Pro_L = KS_Pro_L & "" & vbCrLf
KS_Pro_L = KS_Pro_L & " "& vbcrlf & "" & vbcrlf & "" & TempTitleStr & " "& vbcrlf & "" & vbcrlf & "" & PriceStr & " " & vbCrLf
KS_Pro_L = KS_Pro_L & " " &buttonstr & " " & vbCrLf
KS_Pro_L = KS_Pro_L & "
" & vbCrLf
KS_Pro_L = KS_Pro_L & " " & vbCrLf
KS_Pro_L = KS_Pro_L & "
" & vbCrLf
Case 10
KS_Pro_L = KS_Pro_L & "" & vbCrLf
KS_Pro_L = KS_Pro_L & " " & vbCrLf
KS_Pro_L = KS_Pro_L & " " & TempPicStr & "
" &TempTitleStr & "
" & vbCrLf
KS_Pro_L = KS_Pro_L & "" & vbCrLf
KS_Pro_L = KS_Pro_L & " "& vbcrlf & "" & vbcrlf & "" & TempTitleStr & " "& vbcrlf & "" & vbcrlf & "" & PriceStr & " " & vbCrLf
KS_Pro_L = KS_Pro_L & " " &buttonstr & " " & vbCrLf
KS_Pro_L = KS_Pro_L & "
" & vbCrLf
KS_Pro_L = KS_Pro_L & " " & vbCrLf
KS_Pro_L = KS_Pro_L & "
" & vbCrLf
End Select
KS_Pro_L = KS_Pro_L & (" " & vbCrLf)
N=N+1
If N>=TotalNum+1 Then Exit For
Next
KS_Pro_L = KS_Pro_L & (" " & vbCrLf)
KS_Pro_L = KS_Pro_L & KS.GetSplitPic(SplitPic,ColSpanNum)
If N>=TotalNum+1 Then Exit For
Next
KS_Pro_L = KS_Pro_L & M_L_S & ("
" & vbCrLf)
End If
End Function
'价格样式
Function GetPriceStr(PriceType,Discount,Discount_v,Price_Original,Price,Price_Market,Price_Member)
If Price_Market=0 Then Price_Market="—" Else Price_Market="¥"&Price_Market
If Price_Member=0 Then Price_Member="—" Else Price_Member="¥"&Price_Member
If Price_Original=0 Then Price_Original="—" Else Price_Original="¥"&Price_Original
Select Case PriceType
Case 0:GetPriceStr="市场价:"&Price_Market &" 商城价:¥"&Price &" 会员价:" & Price_Member
Case 1:GetPriceStr="原价:"&Price_Original
Case 2:GetPriceStr="商城价:¥"&Price
Case 3:GetPriceStr="原 价:"&Price_Original & " 会员价:" & Price_Member
Case 4:GetPriceStr="商城价:¥"&Price & " 会员价:" & Price_Member
Case 5:GetPriceStr="市场价:"&Price_Market & " 商城价:¥"&Price
Case 6:GetPriceStr="市场价:"&Price_Market &" 原 价:"&Price_Original & " 会员价:"&Price_Member
Case 7:GetPriceStr="市场价:"&Price_Market &" 原 价:"&Price_Original & " 商城价:¥"&Price & " 会员价:"&Price_Member
End Select
If Cbool(Discount)=true Then GetPriceStr=GetPriceStr & " 折扣率:"&FormatPercent(Discount_v/10,0)
End Function
'按钮样式
Function GetButtonStr(ButtonType,ID,ProID,Url,O_T_S)
Dim BuyButton:BuyButton=" "
Dim FavButton:FavButton=" "
Dim XQButton:XQButton=" "
Select Case ButtonType
Case 1:GetButtonStr=BuyButton
Case 2:GetButtonStr=FavButton
Case 3:GetButtonStr=XQButton
Case 4:GetButtonStr=BuyButton&" " & FavButton
Case 5:GetButtonStr=BuyButton&" " & XQButton
Case 6:GetButtonStr=FavButton&" " & XQButton
Case 7:GetButtonStr=BuyButton&" " & XQButton&" " & FavButton
Case Else:GetButtonStr=""
End Select
End Function
'=====================================================商城通用结束==========================================================
'栏目商品列表
Function GetProductList(FolderID,I_S_C,SpecialID,ProductType,ButtonType, ShowStyle,Width,Height,BorderType,Border,Discount, OpenType,num, PriceType, T_Len, S_Str, Col, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, T_Css, RecommendTF,PopularTF,SpecialTF,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetProductList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
Dim SqlStr, Pro_PStr,M_L_S, O_T_S,C_F_T,Param
If FolderID = "-1" Then
FolderID = Application(KS.SiteSN & "RefreshFolderID"):C_F_T = True
Else
C_F_T = False
End If
If Cbool(RecommendTF) = true Then Pro_PStr =Pro_PStr &" And Recommend=1"
If Cbool(PopularTF)=true Then Pro_PStr=Pro_PStr & " And Popular=1"
If Cbool(SpecialTF)=true Then Pro_PStr=Pro_PStr & " And IsSPecial=1"
If ProductType<>"" And ProductType<>0 Then Pro_PStr=Pro_PStr & " And ProductType="&ProductType
Pro_PStr=Pro_PStr & " And " & KS.GetSpecialPara(SpecialID)
If Lcase(Left(Trim(S_Str),2))<>"id" Then S_Str=S_Str & ",ID Desc"
If FolderID = "" Or FolderID = "0" Then Param="" Else If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
SqlStr = "SELECT TOP " & num & " ID,Title,Tid,Fname,AddDate,PhotoUrl,Discount,Price_Original,Price,Price_Market,Price_Member,ProID FROM KS_Product WHERE " & Param & " Verific=1 AND DelTF=0 " & Pro_PStr & " ORDER BY IsTop Desc," & S_Str
O_T_S = KS.G_O_T_S(OpenType)
If MoreLink <> "" And FolderID <> "0" And C_F_T = False Then M_L_S = KS.GetMoreLink(P_T,Col, 20, MoreType, MoreLink, KS.GetFolderPath(FolderID), O_T_S)
GetProductList = KS_Pro_L(SqlStr,ShowStyle,ButtonType,PriceType,Discount,Width,Height,BorderType,Border,O_T_S, T_Len, Col, NavType, Nav, M_L_S, SplitPic, DateRule, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
End Function
'取得栏目循环商品列表函数
Function GetCirProductList(ColNum, FolderCss, MenuBgType, MenuBg,ButtonType, ShowStyle,Width,Height,BorderType,Border,Discount, OpenType,num, PriceType, T_Len, S_Str, Col, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetCirProductList=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
' If Application(KS.SiteSN & "RefreshType") = "Folder" Then
Dim SqlStr,ID,SQL,K,N,TotalNum
Dim RS:Set RS=Conn.Execute("Select ID From KS_Class Where DelTF=0 AND TN='" & Application(KS.SiteSN & "RefreshFolderID") & "' ORDER BY FolderOrder")
If RS.EOF And RS.BOF Then RS.Close:Set RS = Nothing:GetCirProductList = "": Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS=Nothing
TotalNum=Ubound(SQL,2)
Dim TempStr, I, MenuBgStr, ProductListStr, O_T_S
TempStr = "" & vbCrLf
MenuBgStr = KS.GetMenuBg(MenuBgType, MenuBg, ColNum)
O_T_S = KS.G_O_T_S(OpenType)
For K=0 To TotalNum
TempStr = TempStr & "" & vbCrLf
For I = 1 To ColNum
ID = SQL(0,N)
TempStr = TempStr & "" & vbCrLf
TempStr = TempStr & "" & vbCrLf
TempStr = TempStr & ""
TempStr = TempStr & KS.GetClassNP(ID) & " " & vbCrLf
TempStr = TempStr & "" & vbCrLf
ProductListStr = GetProductList(ID,true,0,0,ButtonType, ShowStyle,Width,Height,BorderType,Border,Discount, OpenType,num, PriceType, T_Len, S_Str, Col, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, T_Css, false,false,false,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,"ajax")
If Trim(ProductListStr) = "" Then ProductListStr = "此栏目下没有商品! "
TempStr = TempStr & ProductListStr
TempStr = TempStr & " " & vbCrLf
TempStr = TempStr & "
" & vbCrLf
TempStr = TempStr & " " & vbCrLf
N=N+1
If N>=TotalNum+1 Then Exit For
Next
TempStr = TempStr & " " & vbCrLf
If N>=TotalNum+1 Then Exit For
Next
TempStr = TempStr & "
" & vbCrLf
GetCirProductList = TempStr
'Else
' GetCirProductList = ""
'End If
End Function
'分页商品
Function GetLastProductList(PerPageNumber,I_S_C,ButtonType,ShowStyle,Width,Height,BorderType,Border,Discount,OpenType,PriceType,T_Len,S_Str,Col,NavType,Nav,SplitPic,DateRule,T_Css,PageStyle,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
Dim ChannelID:ChannelID=5
If P_T>2 Then GetLastProductList=GetPageStr(KS.C_S(ChannelID,10),LabelID):Exit Function
If KS.C_S(ChannelID,7)=0 Then GetLastProductList=Application("PageParam"):Exit Function
Dim FolderID,SqlStr, TempIDArrStr,Param
If Application(KS.SiteSN & "RefreshType") = "Folder" Or Application(KS.SiteSN & "RefreshType") = "Special" Then
If Application(KS.SiteSN & "RefreshType") = "Special" Then '刷新专题,查询语句不同
If DataBaseType=1 Then
SqlStr = "SELECT ID FROM KS_Product WHERE charindex('" & KS.C("CurrSpecialID") & "',specialid)>0 AND Verific=1 And DelTF=0 Order by IsTop Desc,ID Desc"
Else
SqlStr = "SELECT ID FROM KS_Product WHERE instr(specialid,'" & KS.C("CurrSpecialID") & "')>0 AND Verific=1 And DelTF=0 Order by IsTop Desc,ID Desc"
End If
Else
FolderID = Application(KS.SiteSN & "RefreshFolderID")
If CBool(I_S_C) = True Then Param="Tid In (" & KS.GetFolderTid(FolderID) & ") And" Else Param="Tid='" & FolderID & "' And"
Dim ASort: If Lcase(Left(Trim(S_Str),2))<>"id" Then ASort=S_Str & ",ID Desc" Else ASort=S_Str
SqlStr = "SELECT ID FROM " & KS.C_S(ChannelID,2) &" Where " & Param & " Verific=1 AND DelTF=0 order by IsTop Desc," & Asort
End If
Dim SQL,TotalPut,RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF Then GetLastArticleList="此栏目下没有" & KS.C_S(ChannelID,3) & "
":RS.Close:Set RS=Nothing:Application(KS.SiteSN & "PageList") = "":Exit Function
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
TotalPut=Ubound(SQL,2)+1
Dim N,PageNum, I, J, k, TempStr, O_T_S,C_N_Link, TempTitle, NaviStr, ColSpanNum,CurrTid, T_CssStr, AddDate
T_CssStr = KS.GetCss(T_Css)
O_T_S = KS.G_O_T_S(OpenType)
NaviStr = KS.GetNavi(NavType, Nav)
if (TotalPut mod PerPageNumber)=0 then
PageNum = TotalPut \ PerPageNumber
else
PageNum = TotalPut \ PerPageNumber + 1
end if
For I = 1 To PageNum
TempIDArrStr = ""
For J = 1 To PerPageNumber
TempIDArrStr = TempIDArrStr & SQL(0,N) & ","
N=N+1
If N>=TotalPut Then Exit For
Next
TempIDArrStr = Left(TempIDArrStr, Len(TempIDArrStr) - 1)
SqlStr = "SELECT ID,Title,Tid,Fname,AddDate,PhotoUrl,Discount,Price_Original,Price,Price_Market,Price_Member,ProID FROM KS_Product Where ID in (" & TempIDArrStr & ") AND Verific=1 AND DelTF=0 order by IsTop Desc," & S_Str
TempStr = TempStr & KS_Pro_L(SqlStr,ShowStyle,ButtonType,PriceType,Discount,Width,Height,BorderType,Border,O_T_S, T_Len, Col, NavType, Nav, "", SplitPic, DateRule, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
TempStr = TempStr & KS.GetPrePageList(PageStyle,"条",PageNum,I,TotalPut,PerPageNumber) & "{$PageList}"
If N>=TotalPut Then Exit For
Next
Application(KS.SiteSN & "PageList") = TempStr
Application(KS.SiteSN & "PageStyle") = PageStyle
Else
Application(KS.SiteSN & "PageList") = ""
End If
GetLastProductList = "{PageListStr}"
End Function
'取得相关产品列表
Function GetCorrelativeProduct(innerstr,num,Col,T_Len,ButtonType,ShowStyle,PriceType,Width,Height,BorderType,Border,Discount,OpenType,NavType,Nav,SplitPic,DateRule,T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss,LabelID)
If LabelID<>"ajax" and P_T>2 Then
GetCorrelativeProduct=" ":Exit Function
ElseIf P_T>2 Then
P_T=P_T-2
End If
'If Application(KS.SiteSN & "RefreshType") = "ProductContent" Then
Dim KeyWords:KeyWords=trim(Conn.Execute("Select " &innerstr& " From KS_Product Where ID=" & KS.ChkClng(Application(KS.SiteSN & "RefreshInfoID")))(0))
If KeyWords="" Then GetCorrelativeProduct = " 暂无相关链接 ":Exit Function
Dim KeyWordsArr, I, SqlKeyWordStr
KeyWordsArr = Split(KeyWords, "|")
For I = 0 To UBound(KeyWordsArr)
If DataBaseType=0 Then
If SqlKeyWordStr = "" Then
SqlKeyWordStr = " instr("& innerstr &",'" & KeyWordsArr(I) & "')>0 "
Else
SqlKeyWordStr = SqlKeyWordStr & "or instr("& innerstr &",'" & KeyWordsArr(I) & "')>0 "
End If
Else
If SqlKeyWordStr = "" Then
SqlKeyWordStr = " charindex('" & KeyWordsArr(I) & "',"& innerstr &")>0 "
Else
SqlKeyWordStr = SqlKeyWordStr & "or charindex('" & KeyWordsArr(I) & "',"& innerstr &")>0 "
End If
End If
Next
Dim Sqlstr:SqlStr = "Select TOP " & num & " ID,Title,Tid,Fname,AddDate,PhotoUrl,Discount,Price_Original,Price,Price_Market,Price_Member,ProID From KS_Product Where (" & SqlKeyWordStr & ") AND ID<>" & KS.ChkClng(Application(KS.SiteSN & "RefreshInfoID")) & " AND DelTF=0 AND Verific=1 order by IsTop Desc,ID Desc"
GetCorrelativeProduct = KS_Pro_L(SqlStr,ShowStyle,ButtonType,PriceType,Discount,Width,Height,BorderType,Border,KS.G_O_T_S(OpenType), T_Len, Col, NavType, Nav, "", SplitPic, DateRule, T_Css,P_T,DivID,DivCss,UlID,ULCss,LiID,LICss)
If GetCorrelativeProduct = "" Then GetCorrelativeProduct = "暂无相关产品 "
' Else
' GetCorrelativeProduct = ""
' End If
End Function
'============================================================================================================================
' 以下为相关刷新通用函数
'============================================================================================================================
'----------------------------------------------------------------------------------------------------------------------------
'函数名: GetArticleTitle
'功 能:取得文章标题
'参 数: Title原标题, T_Len保留字符长度,PicTF显示图文标志与否 TitleType图文标志, TitleFontColor颜色, TitleFontType字体
'----------------------------------------------------------------------------------------------------------------------------
Function GetArticleTitle(Byval Title, T_Len, PicTF, TitleType, TitleFontColor, TitleFontType)
Dim DecoratesTitle
If IsNumeric(T_Len) Then
Title = KS.GotTopic(Title, T_Len)
End If
If CBool(PicTF) = True Then
Select Case Trim(TitleType)
Case "[图文]":DecoratesTitle = "" & TitleType & " "
Case "[组图]":DecoratesTitle = "" & TitleType & " "
Case "[推荐]":DecoratesTitle = "" & TitleType & " "
Case "[注意]":DecoratesTitle = "" & TitleType & " "
End Select
End If
If TitleFontColor <> "" Then
DecoratesTitle = DecoratesTitle & "" & Title & " "
Else
DecoratesTitle = DecoratesTitle & Title
End If
If TitleFontType <> "" Then
Select Case (TitleFontType)
Case 1:DecoratesTitle = "" & DecoratesTitle & " "
Case 2:DecoratesTitle = "" & DecoratesTitle & " "
Case 3:DecoratesTitle = "" & DecoratesTitle & " "
Case Else
DecoratesTitle = DecoratesTitle
End Select
End If
GetArticleTitle = DecoratesTitle
End Function
Function GetPicUrl(PicUrl)
PicUrl=trim(PicUrl)
If IsNull(PicUrl) Or Trim(PicUrl) = "" Then PicUrl = DomainStr & "images/nopic.gif"
if Lcase(left(PicUrl,7))<>"http://" then GetPicUrl=KS.Setting(2) &PicUrl else GetPicUrl=PicUrl
End Function
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@以下按样式刷新自由JS函数@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
'取得JS文字样式
Function RefreshCss(JSID, WordCss, Col, OpenType, num, R_H, T_Len, C_Len, NavType, Nav, MoreType, MoreLink, SplitPic, DateRule, DateAlign, T_Css, DateCss, ContentCss, BGCss)
If JSID = "" Then
RefreshCss = ""
Exit Function
End If
Dim SqlStr,RS,ChannelID
ChannelID=1
Set RS=Server.CreateObject("ADODB.RECORDSET")
If num = 0 Then
SqlStr = "Select * From " & KS.C_S(ChannelID,2) &" Where JSID like '%" & JSID & "%' AND Verific=1 AND DelTF=0 Order BY IsTop Desc,ID Desc "
Else
SqlStr = "Select TOP " & num & " * From " & KS.C_S(ChannelID,2) &" Where JSID like '%" & JSID & "%' AND Verific=1 AND DelTF=0 Order BY IsTop Desc,ID Desc "
End If
RS.Open SqlStr, Conn, 1, 1
If Not RS.EOF Then
Dim TempStr, TempTitle, NaviStr,ArticleContent, I, ColSpanNum
TempStr = ""
Do While Not RS.EOF
TempStr = TempStr & ""
For I = 1 To Col
TempTitle = GetArticleTitle(RS("Title"), T_Len, False, RS("TitleType"), RS("TitleFontColor"), RS("TitleFontType"))
TempTitle = "" & TempTitle & " "
R_H = KS.G_R_H(R_H)
NaviStr = KS.GetNavi(NavType, Nav)
TempStr = TempStr & ""
If RS("Intro")="" Then ArticleContent=RS("ArticleContent") Else ArticleContent=RS("Intro")
Select Case WordCss
Case "A"
TempStr = TempStr & ""
TempStr = TempStr & " " & NaviStr & TempTitle & " "
If DateRule <> "0" And DateRule <> "" Then
TempStr = TempStr & "" & KS.DateFormat(RS("AddDate"), DateRule) & " "
ColSpanNum = 2
Else
TempStr = TempStr & ""
ColSpanNum = 1
End If
If SplitPic <> "" Then
TempStr = TempStr & KS.GetSplitPic(SplitPic, ColSpanNum)
End If
TempStr = TempStr & "
"
Case "B"
TempStr = TempStr & ""
If DateRule <> "0" And DateRule <> "" Then
TempStr = TempStr & " " & NaviStr & TempTitle & " " & KS.DateFormat(RS("AddDate"), DateRule) & " "
ColSpanNum = 2
Else
TempStr = TempStr & " " & NaviStr & TempTitle & " "
ColSpanNum = 1
End If
TempStr = TempStr & " " & KS.GotTopic(Replace(Replace(Replace(KS.LoseHtml(ArticleContent), vbCrLf, ""), "[NextPage]", ""), " ", ""), C_Len) & "…… " & KS.GetMoreLink(1,1, R_H, MoreType, MoreLink, KS.GetInfoUrl(channelid,rs("tid"),rs("id"),rs("fname"),rs("readpoint"),rs("InfoPurview"),rs("changes")), KS.G_O_T_S(OpenType)) & "
"
If SplitPic <> "" Then
TempStr = TempStr & KS.GetSplitPic(SplitPic, ColSpanNum)
End If
TempStr = TempStr & "
"
Case "C"
TempStr = TempStr & ""
TempStr = TempStr & " " & KS.GotTopic(Replace(Replace(Replace(KS.LoseHtml(ArticleContent), vbCrLf, ""), "[NextPage]", ""), " ", ""), C_Len) & "…… " & KS.GetMoreLink(1,1, R_H, MoreType, MoreLink, KS.GetInfoUrl(channelid,rs("tid"),rs("id"),rs("fname"),rs("readpoint"),rs("InfoPurview"),rs("changes")), KS.G_O_T_S(OpenType)) & "
"
If DateRule <> "0" And DateRule <> "" Then
TempStr = TempStr & " " & NaviStr & TempTitle & " " & KS.DateFormat(RS("AddDate"), DateRule) & " "
Else
TempStr = TempStr & " " & NaviStr & TempTitle & " "
End If
TempStr = TempStr & KS.GetSplitPic(SplitPic, 1)
TempStr = TempStr & "
"
Case "D"
TempStr = TempStr & ""
TempStr = TempStr & " " & NaviStr & "" & KS.ListTitle1(Trim(RS("Title")), T_Len) & " "
TempStr = TempStr & " " & KS.GotTopic(Replace(Replace(Replace(KS.LoseHtml(ArticleContent), vbCrLf, ""), "[NextPage]", ""), " ", ""), C_Len) & "…… " & KS.GetMoreLink(1,1, R_H, MoreType, MoreLink, KS.GetInfoUrl(channelid,rs("tid"),rs("id"),rs("fname"),rs("readpoint"),rs("InfoPurview"),rs("changes")), KS.G_O_T_S(OpenType)) & "
"
TempStr = TempStr & KS.GetSplitPic(SplitPic, ColSpanNum)
TempStr = TempStr & "
"
Case "E"
TempStr = TempStr & ""
TempStr = TempStr & " " & KS.GotTopic(Replace(Replace(Replace(KS.LoseHtml(ArticleContent), vbCrLf, ""), "[NextPage]", ""), " ", ""), C_Len) & "…… " & KS.GetMoreLink(1,1, R_H, MoreType, MoreLink, KS.GetInfoUrl(channelid,rs("tid"),rs("id"),rs("fname"),rs("readpoint"),rs("InfoPurview"),rs("changes")), KS.G_O_T_S(OpenType)) & "
"
TempStr = TempStr & " " & NaviStr & "" & KS.ListTitle1(Trim(RS("Title")), T_Len) & " "
TempStr = TempStr & KS.GetSplitPic(SplitPic, ColSpanNum)
TempStr = TempStr & "
"
End Select
TempStr = TempStr & " "
RS.MoveNext
If RS.EOF Then Exit For
Next
TempStr = TempStr & " "
Loop
TempStr = TempStr & "
"
RefreshCss = TempStr
Else
RefreshCss = "":RS.Close:Set RS = Nothing
End If
End Function
End Class
%>
<%
Class ManageCls
Private KS
Private Sub Class_Initialize()
Set KS=New PublicCls
End Sub
Private Sub Class_Terminate()
Call CloseConn()
Set KS=Nothing
End Sub
'返回相应模型的自定义字段名称数组
Function Get_KS_D_F_Arr(ChannelID)
Dim KS_RS_Obj:Set KS_RS_Obj=Server.CreateObject("ADODB.RECORDSET")
KS_RS_Obj.Open "Select FieldName,Title,Tips,FieldType,DefaultValue,Options,MustFillTF,Width,FieldID From KS_Field Where ChannelID=" & ChannelID &" And ShowOnForm=1 Order By OrderID Asc",Conn,1,1
If Not KS_RS_Obj.Eof Then
Get_KS_D_F_Arr=KS_RS_Obj.GetRows(-1)
Else
Get_KS_D_F_Arr=""
End If
KS_RS_Obj.Close:Set KS_RS_Obj=Nothing
End Function
'取得后台信息添加时的自定义字段
Function Get_KS_D_F(ChannelID,ByVal UserDefineFieldValueStr)
Dim I,K,F_Arr,O_Arr,F_Value
F_Arr=Get_KS_D_F_Arr(ChannelID)
If UserDefineFieldValueStr<>"0" And UserDefineFieldValueStr<>"" Then UserDefineFieldValueStr=Split(UserDefineFieldValueStr,"||||")
If IsArray(F_Arr) Then
For I=0 To Ubound(F_Arr,2)
Get_KS_D_F=Get_KS_D_F & "" & F_Arr(1,I) & ": "
Get_KS_D_F=Get_KS_D_F & " "
If IsArray(UserDefineFieldValueStr) Then
F_Value=UserDefineFieldValueStr(I)
Else
F_Value=F_Arr(4,I)
End If
Select Case F_Arr(3,I)
Case 2
Get_KS_D_F=Get_KS_D_F & ""
Case 3
Get_KS_D_F=Get_KS_D_F & ""
O_Arr=Split(F_Arr(5,I),vbcrlf)
For K=0 To Ubound(O_Arr)
If F_Value=O_Arr(K) Then
Get_KS_D_F=Get_KS_D_F & "" & O_Arr(K) & " "
Else
Get_KS_D_F=Get_KS_D_F & "" & O_Arr(K) & " "
End If
Next
Get_KS_D_F=Get_KS_D_F & " "
Case 6
O_Arr=Split(F_Arr(5,I),vbcrlf)
For K=0 To Ubound(O_Arr)
If F_Value=O_Arr(K) Then
Get_KS_D_F=Get_KS_D_F & " " & O_Arr(K) & ""
Else
Get_KS_D_F=Get_KS_D_F & " " & O_Arr(K) & ""
End If
Next
Case 7
O_Arr=Split(F_Arr(5,I),vbcrlf)
For K=0 To Ubound(O_Arr)
If KS.FoundInArr(F_Value,O_Arr(K),",")=true Then
Get_KS_D_F=Get_KS_D_F & " " & O_Arr(K) & ""
Else
Get_KS_D_F=Get_KS_D_F & " " & O_Arr(K)
End If
Next
Case Else
Get_KS_D_F=Get_KS_D_F & " "
End Select
If F_Arr(6,I)=1 Then Get_KS_D_F=Get_KS_D_F & " * "
if F_Arr(3,I)=9 Then Get_KS_D_F=Get_KS_D_F & " "
If F_Arr(2,I)<>"" Then Get_KS_D_F=Get_KS_D_F & " " & F_Arr(2,I) & " "
if F_Arr(3,I)=9 Then Get_KS_D_F=Get_KS_D_F & "
"
Get_KS_D_F=Get_KS_D_F & " "
Get_KS_D_F=Get_KS_D_F & " "
Next
End If
End Function
'返回系统支持的生成类型(.htm,.html,.shtml.shtm等)参 数:ExtType 预定选中的类型
Public Function GetFsoTypeStr(ExtType)
GetFsoTypeStr = ""
If ExtType = ".html" Then
GetFsoTypeStr = GetFsoTypeStr & ".html "
Else
GetFsoTypeStr = GetFsoTypeStr & ".html "
End If
If ExtType = ".htm" Then
GetFsoTypeStr = GetFsoTypeStr & ".htm "
Else
GetFsoTypeStr = GetFsoTypeStr & ".htm "
End If
If ExtType = ".shtm" Then
GetFsoTypeStr = GetFsoTypeStr & ".shtm "
Else
GetFsoTypeStr = GetFsoTypeStr & ".shtm "
End If
If ExtType = ".shtml" Then
GetFsoTypeStr = GetFsoTypeStr & ".shtml "
Else
GetFsoTypeStr = GetFsoTypeStr & ".shtml "
End If
If ExtType = ".asp" Then
GetFsoTypeStr = GetFsoTypeStr & ".asp "
Else
GetFsoTypeStr = GetFsoTypeStr & ".asp "
End If
GetFsoTypeStr = GetFsoTypeStr & " "
End Function
'取得专题
Function Get_KS_Admin_Special(ChannelID,SpecialList)
Dim I,SpecialArr,SpecialChannelStr
Dim KS_RSOBJ:Set KS_RSObj = Server.CreateObject("ADODB.RECORDSET")
Dim KS_SpecialSql:KS_SpecialSql = "Select Specialid,SpecialName,FolderID From KS_Special Where ChannelID=" & ChannelID &" Order By SpecialAddDate Desc"
KS_RSObj.Open KS_SpecialSql, conn, 1, 1
If Not KS_RSObj.Eof Then
SpecialArr=KS_RSObj.GetRows(-1)
KS_RSObj.Close:Set KS_RSObj = Nothing
for i=0 to Ubound(SpecialArr,2)
'If CurrChannel=SpecialArr(2,i) Then SpecialChannelStr="(本频道)" Else SpecialChannelStr=""
If KS.FoundInArr(SpecialList,SpecialArr(0,i),",") Then
Get_KS_Admin_Special = Get_KS_Admin_Special & "" & SpecialArr(1,i) & SpecialChannelStr & " "
Else
Get_KS_Admin_Special = Get_KS_Admin_Special & "" & SpecialArr(1,i) & SpecialChannelStr & " "
End If
Next
End If
End Function
'从数据表添加数据到option选项 参数:表名,字段,查询条件
Function Get_O_F_D(Table,FieldStr,Param)
Dim KS_RS_Obj,Arr,I
Set KS_RS_Obj = conn.Execute("Select " & FieldStr & " FROM " & Table & " Where " & Param)
If Not KS_RS_Obj.Eof Then
Arr=KS_RS_Obj.GetRows(-1)
KS_RS_Obj.Close:Set KS_RS_Obj=Nothing
For I=0 To Ubound(Arr,2)
Get_O_F_D = Get_O_F_D & "" & Arr(0,i) & " "
Next
End If
End Function
'取得相应的模板 参数 obj对象
Function Get_KS_T_C(obj)
Dim CurrPath:CurrPath=KS.Setting(3)&KS.Setting(90)
If Right(CurrPath,1)="/" Then CurrPath=Left(CurrPath,Len(CurrPath)-1)
Get_KS_T_C= " "
End Function
'复制剪切,检查是否允许操作
Function CheckOp(DestFolderID, DFolderID, OpStr, SFlag)
Dim RS, ObjRS, I
Set RS = Server.CreateObject("Adodb.RecordSet")
Set ObjRS = Server.CreateObject("Adodb.RecordSet")
For I = LBound(DFolderID) To UBound(DFolderID)
RS.Open "Select TN,ID,TJ,TS,FolderName From KS_Class Where ID ='" & DFolderID(I) & "'", conn, 1, 1
If Not RS.EOF Then
ObjRS.Open "Select TS,ID,TJ,TN From KS_Class Where ID='" & DestFolderID & "'", conn, 1, 1
If Not ObjRS.EOF Then
If InStr(ObjRS("TS"), Trim(RS("TS"))) <> 0 Then '判断目标目录是否是该目录的子目录
If ObjRS("TJ") = RS("TJ") Then
RS.Close:ObjRS.Close:Set ObjRS = Nothing:Set RS = Nothing:CheckOp = False
Call KS.AlertHistory("无法" & OpStr & ":目标目录和源目录相同!", 1)
Set KS = Nothing:Exit Function
ElseIf ObjRS("TJ") > RS("TJ") Then
RS.Close:ObjRS.Close:Set ObjRS = Nothing:Set RS = Nothing:CheckOp = False
Call KS.AlertHistory("无法" & OpStr & ":目标目录是源目录的子目录!", 1)
Set KS = Nothing:Exit Function
End If
End If
ObjRS.Close
If Not SFlag Then
ObjRS.Open "Select FolderName From KS_Class Where FolderName='" & RS("FolderName") & "' And TN='" & DestFolderID & "'", conn, 1, 1
If Not ObjRS.EOF Then
RS.Close:ObjRS.Close:Set ObjRS = Nothing:Set RS = Nothing:CheckOp = False
Call KS.AlertHistory("操作失败,存在相同目录名称!", 1)
Set KS = Nothing:Exit Function
End If
ObjRS.Close
End If
RS.Close
Else
RS.Close:Set RS = Nothing: CheckOp = False
Call KS.AlertHistory("参数传递出错!", 1)
Set KS = Nothing:Exit Function
End If
Else
RS.Close:Set RS = Nothing:CheckOp = False
Call KS.AlertHistory("参数传递出错!", 1)
Set KS = Nothing:Exit Function
End If
Next
CheckOp = True
End Function
'添加复制的目录
Function AddCopyFolder(ClassID, OriFolderName, Folder, DestTS, DestTJ, DestFolderID, RS)
Dim I
Dim IRS:Set IRS = Server.CreateObject("AdoDb.RecordSet")
IRS.Open "Select * From KS_Class Where ID IS Null", conn, 1, 3
IRS.AddNew
IRS("ID") = ClassID
IRS("FolderName") = OriFolderName
IRS("TS") = DestTS & ClassID & ","
IRS("TN") = DestFolderID
IRS("TJ") = DestTJ + 1
IRS("Folder") = Folder
For I=6 To RS.Fields.Count-1
IRS(I)=RS(I)
Next
IRS.Update
AddCopyFolder = IRS("TS") & "|||" & IRS("Folder")
IRS.Close:Set IRS = Nothing
End Function
'过程:PasteByCut剪切粘贴
'参数:ChannelID--模型ID,SourceFolderID--源目录,DestFolderID--目标目录,FolderID---被剪切的目录,ContentID---被剪切的文件
Sub PasteByCut(ChannelID,SourceFolderID, DestFolderID, FolderID, ContentID)
Dim RS, OriFolderID, DestTS, DestTJ, DestFolder, SubDestTS, DFolderID, I, Folder
If (SourceFolderID = DestFolderID) Then
Exit Sub
End If
If FolderID <> "0" Then
Set RS = Server.CreateObject("Adodb.RecordSet")
'取得目标目录信息
RS.Open "Select TS,TJ,Folder From KS_Class Where ID='" & DestFolderID & "'", conn, 1, 1
DestTS = RS(0)
DestTJ = RS(1)
DestFolder = RS(2)
RS.Close
DFolderID = Split(FolderID, ",")
If CheckOp(DestFolderID, DFolderID, "剪切", False) Then '检查是否允许剪切
For I = LBound(DFolderID) To UBound(DFolderID)
RS.Open "Select TN,ID,TJ,TS,Folder From KS_Class Where ID ='" & DFolderID(I) & "'", conn, 1, 3
OriFolderID = RS(1) '记住原父ID
RS("TS") = DestTS & RS(1) & ","
Folder = RS(4)
RS("Folder")= DestFolder & Split(Left(Folder, Len(Folder) - 1), "/")(UBound(Split(Left(Folder, Len(Folder) - 1), "/"))) & "/"
RS("TN") = DestFolderID
RS("TJ") = DestTJ + 1
RS.Update
'对该目录下子目录信息做相应改变
SubDestTS = RS(3)
Call CutSubFolder(OriFolderID, SubDestTS, DestFolder)
RS.Close
Next
End If
Set RS = Nothing
End If
If ContentID <> "0" Then
Select Case KS.C_S(ChannelID,6)
Case 1:Conn.Execute ("Update " & KS.C_S(ChannelID,2) & " Set Tid='" & DestFolderID & "' Where NewsID In (" & ContentID & ")")
Case 2:Conn.Execute ("Update " & KS.C_S(ChannelID,2) & " Set Tid='" & DestFolderID & "' Where PicID In (" & ContentID & ")")
Case 3:Conn.Execute ("Update " & KS.C_S(ChannelID,2) & " Set Tid='" & DestFolderID & "' Where DownID In (" & ContentID & ")")
Case 4:Conn.Execute ("Update " & KS.C_S(ChannelID,2) & " Set Tid='" & DestFolderID & "' Where FlashID In (" & ContentID & ")")
Case 5:Conn.Execute ("Update " & KS.C_S(ChannelID,2) & " Set Tid='" & DestFolderID & "' Where ProID In (" & ContentID & ")")
Case 7:Conn.Execute ("Update " & KS.C_S(ChannelID,2) & " Set Tid='" & DestFolderID & "' Where MovieID In (" & ContentID & ")")
End Select
End If
End Sub
'剪切子目录
Sub CutSubFolder(ParentID, SubDestTS, DestFolder)
Dim RSTS, OriSubClassID, Folder
Set RSTS = Server.CreateObject("Adodb.RecordSet")
RSTS.Open "Select TS,ID ,TJ,Folder From KS_Class Where TN='" & ParentID & "' Order BY TJ Asc", conn, 1, 3
If Not RSTS.EOF Then
Do While Not RSTS.EOF
OriSubClassID = RSTS("ID")
RSTS("TS") = SubDestTS & RSTS("ID") & ","
Folder = RSTS("Folder")
RSTS("Folder") = DestFolder & Split(Left(Folder, Len(Folder) - 1), "/")(UBound(Split(Left(Folder, Len(Folder) - 1), "/"))) & "/"
RSTS("TJ") = UBound(Split(RSTS("TS"), ","))
RSTS.Update
Call CutSubFolder(OriSubClassID, RSTS("TS"), RSTS("Folder"))
RSTS.MoveNext
Loop
End If
RSTS.Close:Set RSTS = Nothing
End Sub
'得到复制的名称
Function GetNewTitle(TableName,NewClassID, OriTitle)
Dim RSC, CheckRS
On Error Resume Next
Set RSC = Server.CreateObject("Adodb.RecordSet")
Set CheckRS = Server.CreateObject("Adodb.RecordSet")
CheckRS.Open "Select * From " & TableName & " Where TID='" & NewClassID & "' And Title='" & OriTitle & "' And DelTF=0", conn, 1, 1
If Not CheckRS.EOF Then
RSC.Open "Select * From " & TableName & " Where TID='" & NewClassID & "' And Title Like '复制%" & OriTitle & "' And DelTF=0 Order By ID Desc", conn, 1, 1
If Not RSC.EOF Then
RSC.MoveFirst
If RSC.RecordCount = 1 Then
RSC.Close:Set RSC = Nothing:CheckRS.Close:Set CheckRS = Nothing
GetNewTitle = "复制(1) " & OriTitle
Exit Function
Else
GetNewTitle = "复制(" & CInt(Left(Split(RSC("Title"), "(")(1), 1)) + 1 & ") " & OriTitle
End If
CheckRS.Close:RSC.Close:Set RSC = Nothing: Set CheckRS = Nothing
Else
RSC.Close:Set RSC = Nothing:CheckRS.Close:Set CheckRS = Nothing
GetNewTitle = "复制 " & OriTitle
Exit Function
End If
RSC.Close:Set RSC = Nothing
Else
CheckRS.Close:Set CheckRS = Nothing
GetNewTitle = OriTitle
Exit Function
End If
End Function
'普通管理员允许管理的栏目
Function GetAdminClass(ChannelID)
If KS.FoundInarr(KS.C("ModelPower"),KS.C_S(ChannelID,10) & "1",",")=false then
Dim Param:Param=" And ID IN('" & replace(Session(KS.SiteSn&"PowerList"),",","','") &"')"
end if
Dim RS:Set RS=Conn.Execute("select ID,FolderName from KS_Class Where ChannelID=" & ChannelID & " AND tj=1 " & Param &" Order BY FolderOrder ASC")
If Not RS.Eof Then
Dim SQL,K,ID,TreeStr
SQL=RS.GetRows(-1):RS.Close:Set RS = Nothing
For K=0 To Ubound(SQL,2)
ID=trim(SQL(0,K))
TreeStr = TreeStr & "" & Trim(SQL(1,K)) & " "
TreeStr = TreeStr & ReturnSubList("TN='" & ID & "'" & Param,Param)
Next
End If
GetAdminClass=TreeStr
End Function
'**************************************************
'函数名:ReturnSubList
'作 用:查找并返子树数据。
'参 数:ParentID ----父节点ID
'返回值:子树
'**************************************************
Public Function ReturnSubList(Param,par)
Dim SubTypeList, RS, SpaceStr, k, Total, Num,ID,TJ,SQL,n
Set RS=Conn.Execute("Select ID,FolderName,TJ from KS_Class Where " & Param & " Order BY FolderOrder ASC")
Num = 0
If RS.Eof Then ReturnSubList="":RS.Close:Set RS=Nothing:Exit Function
SQL=RS.GetRows(-1):Total=Ubound(SQL,2)
For n=0 To Total
Num = Num + 1:SpaceStr = "":TJ = CInt(SQL(2,N))
For k = 1 To TJ - 1
If k = 1 And k <> TJ - 1 Then
SpaceStr = SpaceStr & " │"
ElseIf k = TJ - 1 Then
If Num = Total+1 Then
SpaceStr = SpaceStr & " └ "
Else
SpaceStr = SpaceStr & " ├ "
End If
Else
SpaceStr = SpaceStr & " │"
End If
Next
ID = Trim(SQL(0,N))
SubTypeList = SubTypeList & "" & SpaceStr & Trim(SQL(1,N)) & " "
SubTypeList = SubTypeList & ReturnSubList("TN='" & ID & "'"&par,par)
Next
ReturnSubList = SubTypeList
End Function
Sub AddKeyTags(ChannelID,KeyWords)
dim i
dim trs:set trs=server.createobject("adodb.recordset")
dim karr:karr=split(KeyWords,"|")
for i=0 to ubound(karr)
trs.open "select * from ks_keywords where keytext='" & left(karr(i),100) & "' and channelid=" & channelid,conn,1,3
if trs.eof then
trs.addnew
trs("keytext")=left(karr(i),100)
trs("channelid")=channelid
trs("adddate")=now
trs.update
end if
trs.close
next
set trs=nothing
End Sub
Sub ClassAction(ChannelID)
Response.Write ""
Application(KS.SiteSN&"_selectclass")=empty
Application(KS.SiteSN&"_classpath")=empty
Application(KS.SiteSN&"_class")=empty
Dim KSR:Set KSR=New Refresh
Dim SearchJS,FsoPath
FsoPath=KS.Setting(3) & KS.C_S(ChannelID,10) & "/search.js"
SearchJS = "" & vbCrLf
SearchJS = SearchJS & "" & vbCrLf
SearchJS = SearchJS & "
"
SearchJS = Replace(Replace(SearchJS,"'","\'"),"""","\""")
SearchJS = KSR.ReplaceJsBr(SearchJS)
Call KSR.FsoSaveFile(SearchJS,FsoPath)
Set KSR=Nothing
End Sub
End Class
%>
<%
Class RefreshLocationCls
Private KS
Private KMRFObj,DomainStr,WebNameStr
Private Sub Class_Initialize()
Set KS=New PublicCls
DomainStr=KS.GetDomain
WebNameStr=KS.Setting(0)
End Sub
Private Sub Class_Terminate()
Set KS=Nothing
End Sub
'***********************************************************************************************************
'取得位置导航
'***********************************************************************************************************
Function GetLocation(Bold, StartTag, NavType, Nav, OpenType, TitleCss)
Dim NaviStr
If CBool(Bold) = True Then StartTag = "" & StartTag & " "
NaviStr = GetLocationNav(NavType, Nav)
TitleCss=KS.GetCss(TitleCss)
Select Case UCase(Application(KS.SiteSN & "RefreshType"))
Case "INDEX","COMMENT","SEARCH" ,"SPACEINDEX","LINKINDEX","MAP","RSS","GUESTINDEX","GUESTWRITE" '网站首页的位置导航
GetLocation = GetIndexLocation(StartTag, NaviStr, OpenType, TitleCss)
Case "MORESPACE","MORELOG","MOREGROUP","MOREXC"
GetLocation = GetMoreSpaceLocation(StartTag, NaviStr, OpenType, TitleCss)
Case "SPECIALINDEX" '专题首页的位置导航
GetLocation = GetSpecialIndexLocation(StartTag, NaviStr, OpenType, TitleCss)
Case "FOLDER" '栏目的位置导航
GetLocation = GetFolderLocation(StartTag, NaviStr, OpenType, TitleCss, Application(KS.SiteSN & "RefreshFolderID"))
Case "ARTICLECONTENT","PICTURECONTENT","DOWNLOADCONTENT","FLASHCONTENT","MOVIECONTENT","PRODUCTCONTENT","GQCONTENT" '信息页的位置导航
GetLocation = GetContentLocation(StartTag, NaviStr, OpenType, TitleCss, Application(KS.SiteSN & "RefreshFolderID"))
Case "CHANNELSPECIAL" '频道专题汇总的位置导航
GetLocation = GetSpecialTotalLocation(StartTag, NaviStr, OpenType, TitleCss, Application(KS.SiteSN & "RefreshFolderID"))
Case "SPECIAL" '专题页的位置导航
GetLocation = GetSpecialLocation(StartTag, NaviStr, OpenType, TitleCss, Application(KS.SiteSN & "RefreshFolderID"))
'--------------------------------------------会员中心导航-------------------------------------------
Case "USERREGSTEP1" '会员注册协议
GetLocation = GetUserRegLocation(1,StartTag, NaviStr, OpenType, TitleCss)
Case "USERREGSTEP2" '填写会员注册表单
GetLocation = GetUserRegLocation(2,StartTag, NaviStr, OpenType, TitleCss)
Case "USERREGSTEP3" '会员注册结果页
GetLocation = GetUserRegLocation(3,StartTag, NaviStr, OpenType, TitleCss)
Case "USERLIST" '所有会员列表页
GetLocation = GetUserListLocation(StartTag, NaviStr, OpenType, TitleCss)
Case "SHOWUSER" '所有会员信息页
GetLocation = GetUserInfoLocation(StartTag, NaviStr, OpenType, TitleCss)
Case "MEMBER" '所有会员信息页
GetLocation = GetMemberLocation(StartTag, NaviStr, OpenType, TitleCss)
'-------------------------------------------会员中心导航结束----------------------------------------
'--------------------------------------------音乐频道导航-------------------------------------------
Case "MUSICINDEX" '音乐频道首页
GetLocation = GetMusicIndexLocation(StartTag, NaviStr, OpenType, TitleCss)
Case "MUSICSINGER" '音乐频道歌手列表页
GetLocation = GetMusicSingerLocation(StartTag, NaviStr, OpenType, TitleCss)
Case "MUSICSINGERSPECIAL" '音乐频道歌手专辑列表页
GetLocation = GetMusicSingerSpecialLocation(StartTag, NaviStr, OpenType, TitleCss)
Case "MUSICSPECIAL" '音乐专辑歌曲列表页
GetLocation = GetMusicSpecialLocation(StartTag, NaviStr, OpenType, TitleCss)
'-------------------------------------------音乐频道导航结束----------------------------------------
'-------------------------------------------购物流程------------------------------------------------
Case "SHOPPINGCART"
GetLocation = GetShoppingLocation(StartTag, NaviStr, OpenType, TitleCss,1)
Case "SHOPPINGPAYMENT"
GetLocation = GetShoppingLocation(StartTag, NaviStr, OpenType, TitleCss,2)
Case "SHOPPINGPREVIEW"
GetLocation = GetShoppingLocation(StartTag, NaviStr, OpenType, TitleCss,3)
Case "SHOPPINGSUCCESS"
GetLocation = GetShoppingLocation(StartTag, NaviStr, OpenType, TitleCss,4)
Case Else
GetLocation = ""
End Select
End Function
'取得网站首页导航位置的函数
Function GetIndexLocation(StartTag, NaviStr, OpenType, TitleCss)
Dim str
Select Case UCase(Application(KS.SiteSN & "RefreshType"))
case "INDEX" :str="网站首页"
case "COMMENT":str="所有评论"
case "SEARCH":str="搜索结果"
case "SPACEINDEX":str="空间首页"
case "LINKINDEX":str="友情链接"
case "MAP":str="网站地图"
case "RSS":str="RSS订阅服务"
case "GUESTINDEX":str="雁过留声"
case "GUESTWRITE":str="雁过留声 >> 签写留言"
End Select
GetIndexLocation = StartTag & "" & WebNameStr & " " & NaviStr & str
End Function
'取得更多空间导航位置的函数
Function GetMoreSpaceLocation(StartTag, NaviStr, OpenType, TitleCss)
Dim MoreStr
Select Case UCase(Application(KS.SiteSN & "RefreshType"))
Case "MORESPACE":MoreStr="个人空间列表"
Case "MORELOG":MoreStr="日志列表"
Case "MOREGROUP":MoreStr="圈子列表"
Case "MOREXC":MoreStr="相册列表"
End Select
GetMoreSpaceLocation = StartTag & "" & WebNameStr & " " & NaviStr & "空间首页 " & NaviStr &MoreStr
End Function
'所有会员列表页
Function GetUserListLocation(StartTag, NaviStr, OpenType, TitleCss)
GetUserListLocation = StartTag & "" & WebNameStr & " " & NaviStr & "所有注册会员列表"
End Function
'所有会员信息页
Function GetUserInfoLocation(StartTag, NaviStr, OpenType, TitleCss)
GetUserInfoLocation = StartTag & "" & WebNameStr & " " & NaviStr & "所有会员列表 "& NaviStr & "会员信息"
End Function
'会员中心
Function GetMemberLocation(StartTag, NaviStr, OpenType, TitleCss)
GetMemberLocation = StartTag & "" & WebNameStr & " " & NaviStr & "会员中心"
End Function
'取得会员注册导航
Function GetUserRegLocation(Step,StartTag, NaviStr, OpenType, TitleCss)
Select Case Step
Case 1
GetUserRegLocation = StartTag & "" & WebNameStr & " " & NaviStr & "服务条款和声明"
Case 2
GetUserRegLocation = StartTag & "" & WebNameStr & " " & NaviStr & "填写注册表单"
Case 3
GetUserRegLocation = StartTag & "" & WebNameStr & " " & NaviStr & "完成注册"
End Select
End Function
'取得专题首页导航位置的函数
Function GetSpecialIndexLocation(StartTag, NaviStr, OpenType, TitleCss)
GetSpecialIndexLocation = StartTag & "" & WebNameStr & " " & NaviStr & "专题首页"
End Function
'取得频道专题汇总导航
Function GetSpecialTotalLocation(StartTag, NaviStr, OpenType, TitleCss, RefreshFolderIDValue)
Dim SpecialIndexUrl,SpecialDir:SpecialDir = KS.Setting(95)
If Split(KS.Setting(5),".")(1)<>"asp" Then SpecialIndexUrl=DomainStr & SpecialDir Else SpecialIndexUrl=DomainStr & "SpecialIndex.asp"
If Left(SpecialDir, 1) = "/" Or Left(SpecialDir, 1) = "\" Then SpecialDir = Right(SpecialDir, Len(SpecialDir) - 1)
GetSpecialTotalLocation = StartTag & "" & WebNameStr & " " & NaviStr & "专题首页 " & NaviStr & KS.C_C(RefreshFolderIDValue,1) & "专题汇总"
End Function
'取得专题页的位置导航
Function GetSpecialLocation(StartTag, NaviStr, OpenType, TitleCss, RefreshFolderIDValue)
Dim SpecialIndexUrl,SpecialDir:SpecialDir = KS.Setting(95)
If Split(KS.Setting(5),".")(1)<>"asp" Then SpecialIndexUrl=DomainStr & SpecialDir Else SpecialIndexUrl=DomainStr & "SpecialIndex.asp"
If Left(SpecialDir, 1) = "/" Or Left(SpecialDir, 1) = "\" Then SpecialDir = Right(SpecialDir, Len(SpecialDir) - 1)
Dim TempFolderStr
Dim FolderName:FolderName = KS.C_C(RefreshFolderIDValue,1)
TempFolderStr = "" & FolderName & "专题汇总 " & NaviStr
GetSpecialLocation = StartTag & "" & WebNameStr & " " & NaviStr & "专题首页 " & NaviStr & TempFolderStr & "浏览专题"
End Function
'取得栏目的位置导航
Function GetFolderLocation(StartTag, NaviStr, OpenType, TitleCss, RefreshFolderIDValue)
Dim FolderNaviStr:FolderNaviStr = GetFolderNaviStr(NaviStr, OpenType, TitleCss, RefreshFolderIDValue)
If CBool(Application(KS.SiteSN & "RefreshChannelHomeFlag")) = True Then
GetFolderLocation = StartTag & "" & WebNameStr & " " & FolderNaviStr & NaviStr & "首页"
Else
GetFolderLocation = StartTag & "" & WebNameStr & " " & FolderNaviStr
End If
End Function
'取得信息页导航位置的函数
Function GetContentLocation(StartTag, NaviStr, OpenType, TitleCss, RefreshFolderIDValue)
Dim TempStr,FolderNaviStr:FolderNaviStr = GetFolderNaviStr(NaviStr, OpenType, TitleCss, RefreshFolderIDValue)
Select Case UCase(Application(KS.SiteSN & "RefreshType"))
Case "ARTICLECONTENT"
TempStr="正文"
Case "PICTURECONTENT"
TempStr="浏览图片"
Case "DOWNLOADCONTENT"
TempStr="浏览下载"
Case "FLASHCONTENT"
TempStr="浏览动漫"
Case "MOVIECONTENT"
TempStr="浏览影片"
Case "GQCONTENT"
TempStr="浏览信息"
Case "PRODUCTCONTENT"
TempStr="浏览商品"
Case else
Exit Function
End Select
TempStr="浏览"& KS.C_S(Application(KS.SiteSN&"Channelid"),3)
GetContentLocation = StartTag & "" & WebNameStr & " " & FolderNaviStr & NaviStr & TempStr
End Function
'取得音乐频道首页导航位置的函数
Function GetMusicIndexLocation(StartTag, NaviStr, OpenType, TitleCss)
GetMusicIndexLocation = StartTag & "" & WebNameStr & " " & NaviStr & "音乐频道 " & NaviStr & "首页"
End Function
'取得音乐歌手列表页导航位置的函数
Function GetMusicSingerLocation(StartTag, NaviStr, OpenType, TitleCss)
GetMusicSingerLocation = StartTag & "" & WebNameStr & " " & NaviStr & "音乐频道 " & NaviStr & Application(KS.SiteSN & "RefreshMusicTempStr") &NaviStr & "歌手导航列表"
End Function
'取得音乐歌手专辑列表页导航位置的函数
Function GetMusicSingerSpecialLocation(StartTag, NaviStr, OpenType, TitleCss)
GetMusicSingerSpecialLocation = StartTag & "" & WebNameStr & " " & NaviStr & "音乐频道 " & NaviStr & KS.C("RefreshMusicClass") &NaviStr & Application(KS.SiteSN & "RefreshMusicSingerTempStr") & NaviStr & "所有专辑"
End Function
'取得音乐最终专辑歌曲列表页导航位置的函数
Function GetMusicSpecialLocation(StartTag, NaviStr, OpenType, TitleCss)
GetMusicSpecialLocation = StartTag & "" & WebNameStr & " " & NaviStr & "音乐频道 " & NaviStr & Application(KS.SiteSN & "RefreshMusicTempStr") &NaviStr & Application(KS.SiteSN & "RefreshMusicSingerTempStr") & NaviStr & Application(Cstr(KS.SiteSN & "RefreshMusicSpecialNameTempStr")) & "专辑歌曲列表"
End Function
'购物流程
Function GetShoppingLocation(StartTag, NaviStr, OpenType, TitleCss,TypeID)
GetShoppingLocation = StartTag & "" & WebNameStr & " " & NaviStr & "商城中心" & NaviStr
Select Case TypeID
Case 1: GetShoppingLocation=GetShoppingLocation & "我的购物车"
Case 2: GetShoppingLocation=GetShoppingLocation & "收银台"
Case 3: GetShoppingLocation=GetShoppingLocation & "预览订单并确认"
Case 4: GetShoppingLocation=GetShoppingLocation & "订单提交成功"
End Select
End Function
'******************************************************************************************************
'函数名:GetFolderNameStr
'作 用:返回栏目顺序列表
'参 数:NaviStr--链接字符串,RefreshFolderIDValue--栏目ID, OpenType---新窗口打开, TitleCss---名称样式
'返回值:形如: 科汛网络 >> 产品列表 >> 科汛网站管理系统
'******************************************************************************************************
Function GetFolderNaviStr(NaviStr, OpenType, TitleCss, RefreshFolderIDValue)
Dim TSArr, I
TSArr = Split(KS.C_C(RefreshFolderIDValue,8), ",")
For I = LBound(TSArr) To UBound(TSArr) - 1
GetFolderNaviStr = GetFolderNaviStr & NaviStr & "" & KS.C_C(TSArr(I),1) & " "
Next
End Function
Function GetLocationNav(NavType, Nav)
If CStr(NavType) = "0" Then
If Nav = "" Then
GetLocationNav = " >> "
Else
GetLocationNav = Nav
End If
Else
If Nav = "" Then
GetLocationNav = " >> "
Else
If Left(Nav, 1) = "/" Or Left(Nav, 1) = "\" Then Nav = Right(Nav, Len(Nav) - 1)
GetLocationNav = " "
End If
End If
End Function
End Class
%>
<%
'-----------------------------------------------------------------------------------------------
Class RefreshSearchCls
Private KS
Private KMRFObj,DomainStr
Private Sub Class_Initialize()
Set KS=New PublicCls
DomainStr=KS.GetDomain
End Sub
Private Sub Class_Terminate()
Set KS=Nothing
End Sub
'替换网站的所有搜索
Function ReplaceAllSearch(FileContent)
FileContent = Replace(FileContent, "{$GetSearchByDate}", GetSearchByDate())
FileContent = Replace(FileContent, "{$GetSearch}", GetSearch())
Dim rs:set rs=conn.execute("select modelename from ks_channel where channelstatus=1 order by channelid")
dim k,sql:sql=rs.getrows(-1)
for k=0 to ubound(sql,2)
if instr(filecontent,"{$Get" & sql(0,k) & "Search}")>0 then
FileContent = Replace(FileContent, "{$Get" & sql(0,k) & "Search}", "")
end if
next
ReplaceAllSearch=FileContent
End Function
'取得高级日历搜索
Function GetSearchByDate()
GetSearchByDate=""
End Function
'取得总搜索
Function GetSearch()
GetSearch = "" & vbCrLf
GetSearch = GetSearch & "
" & vbcrlf
GetSearch = GetSearch & " " & vbCrLf
GetSearch = GetSearch & "
" & vbCrLf
End Function
End Class
%>
<%
Class DIYCls
Private KS
Private TConn,DataSourceType,DataSourceStr
Private Sub Class_Initialize()
Set KS=New PublicCls
End Sub
Private Sub Class_Terminate()
Set KS=Nothing
If isobject(tconn) Then
TConn.Close:Set TConn=Nothing
End If
End Sub
'替换自定义函数标签
Function ReplaceUserFunctionLabel(Content)
Dim regEx, Matches, SqlLabel,Match
Dim Matchn,n
Set regEx = New RegExp
regEx.Pattern = "{SQL_[^{]*\)}"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(Content)
ReplaceUserFunctionLabel=Content
For Each Match In Matches
SqlLabel=Match.value
ReplaceUserFunctionLabel=Replace(ReplaceUserFunctionLabel,SqlLabel,ReplaceDIYFunctionLabel(SqlLabel,"label"))
Next
End Function
'返回循环次数
Function GetLoopNum(Content)
Dim regEx, Matches, Match
Set regEx = New RegExp
regEx.Pattern="\[loop=\d*]"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(Content)
If Matches.count > 0 Then
GetLoopNum=Replace(Replace(Matches.item(0),"[loop=",""),"]","")
Else
GetLoopNum=0
end if
End Function
'取得分页标志
Function GetPageStr(SqlLabel)
Dim slab:slab=split(SqlLabel,"(")(0)
slab=replace(slab,"{","")
GetPageStr="" & vbcrlf
GetPageStr=GetPageStr & "" & vbcrlf
GetPageStr=GetPageStr & "" & vbcrlf
GetPageStr=GetPageStr & "" & vbcrlf
End Function
'替换自定义函数标签
'参数SqlLabel:{SQL_标签名称(15,0,1,...)}
Function ReplaceDIYFunctionLabel(SqlLabel,GetFrom)
Dim I,KS_RS_Obj,LabelName,UserParamArr,FunctionLabelParamArr,CirLabelContent,FunctionSQL,LabelContent
Dim FunctionLabelType,ItemName,PageStyle,PerPageNumber,TotalPut,PageNum,J,TempStr,Ajax
LabelName = Replace(Replace(Split(SqlLabel,"(")(0),"""",""),"'","")
'用户函数参数
UserParamArr = Split(Replace(Replace(Replace(Replace(SqlLabel,LabelName&"(",""),")}",""),"""",""),"'",""),",")
Set KS_RS_Obj=Server.CreateObject("ADODB.RECORDSET")
KS_RS_Obj.Open "Select Description,LabelContent From KS_Label Where LabelName='" & LabelName & "}'",Conn,1,1
IF KS_RS_Obj.Eof And KS_RS_Obj.Bof Then
KS_RS_Obj.Close:Set KS_RS_Obj=Nothing:ReplaceDIYFunctionLabel="":Exit Function
Else
FunctionLabelParamArr = Split(KS_RS_Obj(0),"@@@")
'LabelContent = ReplaceGeneralLabelContent(Replace(KS_RS_Obj(1),vbcrlf,"$KS:Page$"))
LabelContent = Replace(KS_RS_Obj(1),vbcrlf,"$KS:Page$")
End If
KS_RS_Obj.Close
FunctionSQL=FunctionLabelParamArr(0) '查询语句
FunctionSQL=Replace(FunctionSQL,"{$CurrClassID}",Application(KS.SiteSN & "RefreshFolderID"))
FunctionSQL=Replace(FunctionSQL,"{$CurrClassChildID}",KS.GetFolderTid(Application(KS.SiteSN & "RefreshFolderID")))
FunctionSQL=Replace(FunctionSQL,"{$CurrInfoID}",Application(KS.SiteSN & "RefreshInfoID"))
FunctionSQL=Replace(FunctionSQL,"{$CurrSpecialID}",Request.Cookies(KS.SiteSN)("CurrSpecialID"))
For I=0 To Ubound(UserParamArr)
FunctionSQL = Replace(FunctionSQL,"{$Param("&I&")}",UserParamArr(I))
LabelContent = Replace(LabelContent,"{$Param("&I&")}",UserParamArr(I))
Next
FunctionLabelType=FunctionLabelParamArr(2)
If Not Isnumeric(FunctionLabelType) Then FunctionLabelType=0
Ajax=FunctionLabelParamArr(5)
ItemName=FunctionLabelParamArr(3)
PageStyle=FunctionLabelParamArr(4)
DataSourceType=FunctionLabelParamArr(6)
DataSourceStr=FunctionLabelParamArr(7)
If Ajax=1 And GetFrom<>"ajax" and FunctionLabelType=1 and DataSourceType=0 then ReplaceDIYFunctionLabel=GetPageStr(SqlLabel):exit function
If Ajax=1 and GetFrom<>"ajax" Then ReplaceDIYFunctionLabel=" ":exit function
If DataSourceType<>0 and GetFrom<>"ajax" and FunctionLabelType=1 Then ReplaceDIYFunctionLabel=GetPageStr(SqlLabel):exit function
If OpenExtConn=false Then ReplaceDIYFunctionLabel="外部数据库连接出错!":Exit Function
If DataSourceType=0 Then
KS_RS_Obj.Open FunctionSQL,Conn,1,1
Else
KS_RS_Obj.Open FunctionSQL,TConn,1,1
End IF
If Not KS_RS_Obj.Eof Then
Dim regEx, Matches, Match,LoopTimes
Set regEx = New RegExp
regEx.Pattern = "\[loop=\d*].+?\[/loop]"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(LabelContent)
If FunctionLabelType=1 and DataSourceType=0 Then '分页标签
PerPageNumber=0
For Each Match In Matches
PerPageNumber=PerPageNumber+GetLoopNum(Match.Value) '每页记录数
Next
If PerPageNumber=0 Then ReplaceDIYFunctionLabel="自定义函数标签的循环次数必须大于0":Exit Function
TotalPut = KS_RS_Obj.recordcount
if (TotalPut mod PerPageNumber)=0 then
PageNum = TotalPut \ PerPageNumber
else
PageNum = TotalPut \ PerPageNumber + 1
end if
Application(KS.SiteSN & "PageStyle") = PageStyle
If KS.S("ID")<>"" Then
Dim CurrPage:CurrPage=KS.ChkClng(KS.G("Page"))
If CurrPage<=0 Then CurrPage=1
Application("PageNum")=PageNum
TempCirContent = LabelContent
KS_RS_Obj.Move (CurrPage - 1) * PerPageNumber
For Each Match In Matches
LoopTimes=GetLoopNum(Match.Value) '循环次数
CirLabelContent = Replace(Replace(Match.value,"[loop=" & LoopTimes&"]",""),"[/loop]","")
TempCirContent = Replace(TempCirContent,"[loop="&LoopTimes&"]"&CirLabelContent&"[/loop]",GetCirLabelContent(CirLabelContent,KS_RS_Obj,LoopTimes),1,1)
If KS_RS_Obj.Eof Then Exit For
Next
TempStr = TempCirContent & KS.GetPrePageList(PageStyle,ItemName,PageNum,CurrPage,TotalPut,PerPageNumber)
TempStr=TempStr &"{$PageList}" '加上分页符
ReplaceDIYFunctionLabel=Replace(CleanLabel(TempStr),"$KS:Page$",vbcrlf)
Else
dim TempCirContent
For I = 1 To Cint(PageNum)
TempCirContent = LabelContent
For Each Match In Matches
LoopTimes=GetLoopNum(Match.Value) '循环次数
CirLabelContent = Replace(Replace(Match.value,"[loop=" & LoopTimes&"]",""),"[/loop]","")
'TempStr=TempStr & GetCirLabelContent(CirLabelContent,KS_RS_Obj,LoopTimes)
TempCirContent=Replace(TempCirContent,"[loop="&LoopTimes&"]"&CirLabelContent&"[/loop]",GetCirLabelContent(CirLabelContent,KS_RS_Obj,LoopTimes),1,1)
If KS_RS_Obj.Eof Then Exit For
Next
TempStr = TempStr & TempCirContent & KS.GetPrePageList(PageStyle,ItemName,PageNum,I,TotalPut,PerPageNumber)
TempStr=TempStr & "{$PageList}" '加上分页符
Next
Application(Cstr(KS.SiteSN & "PageList")) = Replace(CleanLabel(TempStr),"$KS:Page$",vbcrlf)
ReplaceDIYFunctionLabel="{PageListStr}"
End If
Else
Do While Not KS_RS_Obj.Eof
For Each Match In Matches
LoopTimes=GetLoopNum(Match.Value) '循环次数
CirLabelContent = Replace(Replace(Match.value,"[loop=" & LoopTimes&"]",""),"[/loop]","")
LabelContent = Replace(LabelContent,"[loop="&LoopTimes&"]"&CirLabelContent&"[/loop]",GetCirLabelContent(CirLabelContent,KS_RS_Obj,LoopTimes),1,1)
If KS_RS_Obj.Eof Then Exit For
Next
If KS_RS_Obj.Eof Then Exit Do
Loop
'消除多余的循环体
ReplaceDIYFunctionLabel=Replace(CleanLabel(LabelContent),"$KS:Page$",vbcrlf)
End If
Else
ReplaceDIYFunctionLabel="":Exit Function
End if
KS_RS_Obj.Close:Set KS_RS_Obj=Nothing
End Function
'消除多余的循环体
Function CleanLabel(Content)
Dim regEx, Matches, Match,LoopTimes
Set regEx = New RegExp
regEx.Pattern = "\[loop=\d*][^\[\]]*\[/loop]"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(Content)
For Each Match In Matches
Content=Replace(Content,Match.value,"")
Next
CleanLabel=Content
End Function
'替换循环部分内容
Function GetCirLabelContent(CirLabelContent,ByRef KS_RS_Obj,LoopTimes)
Dim regEx, Matches, Match, TempStr
Dim FieldParam,FieldParamArr,FieldName,FieldType,ReturnFieldValue
Dim DB_FieldValue,FieldParamLength,I,FieldPosition,N
If Not IsNumeric(LoopTimes) Then LoopTimes=10
For N=1 To LoopTimes
If Not KS_RS_Obj.Eof Then
Set regEx = New RegExp
regEx.Pattern = "{\$Field\([^{\$}]*}"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(CirLabelContent)
TempStr=Replace(CirLabelContent,"{$AutoID}",N)
For Each Match In Matches
FieldParam = Replace(Replace(Match.Value,"{$Field(",""),")}","")
FieldParamArr = Split(FieldParam,",")
FieldParamLength=Ubound(FieldParamArr) '参数数组长度
FieldName = FieldParamArr(0) '根据参数得到字段名称
FieldType = FieldParamArr(1) '根据参数得到字段类型
FieldPosition=0
For I=0 To KS_RS_Obj.Fields.count-1
IF lcase(FieldName)=lcase(KS_RS_Obj.Fields(I).name) Then FieldPosition=I:Exit For
Next
DB_FieldValue=KS_RS_Obj(FieldPosition) '得到字段的值
If lcase(FieldName)="keywords" Then
ReturnFieldValue=ReplaceKeyTags(1,DB_FieldValue)
Else
Select Case Lcase(FieldType)
Case "text"
ReturnFieldValue=Get_Text_Field(DB_FieldValue,FieldParamArr(2),FieldParamArr(3),FieldParamArr(4),FieldParamArr(5))
Case "num"
ReturnFieldValue=Get_Num_Field(DB_FieldValue,FieldParamArr(2),FieldParamArr(3))
Case "date"
ReturnFieldValue=Get_Date_Field(DB_FieldValue,FieldParamArr(2))
Case "getinfourl"
ReturnFieldValue=Get_InfoUrl_Field(FieldName,DB_FieldValue,FieldParamArr(2),FieldParamArr(3))
Case "getclassurl"
ReturnFieldValue=Get_ClassUrl_Field(FieldName,DB_FieldValue,FieldParamArr(2),FieldParamArr(3))
End Select
End iF
on error resume next
TempStr=Replace(TempStr,"{$Field(" &FieldParam &")}",ReturnFieldValue)
Next
GetCirLabelContent=GetCirLabelContent &TempStr
Else
Exit For
End If
KS_RS_Obj.MoveNext
Next
End Function
'取文本字段的值
'参数说明:字段值,截段字数,未尾输出的字符,HTML处理方式
Function Get_Text_Field(FieldValue,CutNum,EndTag,HtmlTag,DefaultChar)
Dim TempStr:TempStr=FieldValue
If FieldValue="" Or IsNull(FieldValue) Then TempStr=DefaultChar
If Not IsNumeric(HtmlTag) Or Not IsNumeric(CutNum) Then Exit Function
If HtmlTag=1 Then
TempStr=Server.HtmlEncode(TempStr)
ElseIF HtmlTag=2 Then
TempStr=KS.LoseHtml(TempStr)
End If
If EndTag="0" Then EndTag=""
if KS.strLength(TempStr)>cint(CutNum) and CutNum<>0 then TempStr = KS.GotTopic(TempStr, CutNum) & EndTag
Get_Text_Field=TempStr
End Function
'取数字字段的值
'参数说明:FieldValue-字段值,OutType-输出方式0、原数,1、小数,2百分数,XSWS-小数位数
Function Get_Num_Field(FieldValue,OutType,XSWS)
If Not IsNumeric(FieldValue) Then Get_Num_Field=FieldValue:Exit Function
If Not IsNumeric(OutType) Then OutType=0
If Not IsNumeric(XSWS) Then XSWS=0
If OutType=1 Then
Get_Num_Field=FormatNumber(FieldValue,XSWS)
ElseIf OutType=2 Then
Get_Num_Field=FormatPercent(FieldValue)
Else
Get_Num_Field=FieldValue
End if
End Function
'取日期字段的值
'参数说明:FieldValue-字段值,DateMB-输出日期模板
Function Get_Date_Field(FieldValue,DateMB)
IF Not IsDate(FieldValue) Then Get_Date_Field=FieldValue:Exit Function
Get_Date_Field=Replace(DateMB,"YYYY",Year(FieldValue))
Get_Date_Field=Replace(Get_Date_Field,"YY",Right("0" & Year(FieldValue), 2))
Get_Date_Field=Replace(Get_Date_Field,"MM",Right("0" & Month(FieldValue), 2))
Get_Date_Field=Replace(Get_Date_Field,"DD",Right("0" & Day(FieldValue), 2))
Get_Date_Field=Replace(Get_Date_Field,"hh",Right("0" & hour(FieldValue), 2))
Get_Date_Field=Replace(Get_Date_Field,"mm",Right("0" & minute(FieldValue), 2))
Get_Date_Field=Replace(Get_Date_Field,"ss",Right("0" & second(FieldValue), 2))
End Function
'取对象的链接URL
'参数说明:FieldName-字段名称,FieldValue-字段值,ChannelID数据表 1、2、3、4、100等,OutType输出方式 0、混合,1、URL,2、名称
Function Get_InfoUrl_Field(byval FieldName,byval FieldValue,ChannelID,OutType)
If OutType=2 or DataSourceType<>0 Then Get_InfoUrl_Field=FieldValue:Exit Function
Dim SqlStr
If Not Isnumeric(ChannelID) Then Exit Function
If ChannelID=100 Then
if len(FieldValue)<10 then FieldValue=conn.execute("select id from ks_class where " & FieldName &"=" &FieldValue)(0)
If OutType=0 Then
Get_InfoUrl_Field="" & KS.C_C(FieldValue,1) &" "
ElseIF OutType=1 Then
Get_InfoUrl_Field=KS.GetFolderPath(FieldValue)
End If
Exit Function
End If
Select Case KS.C_S(ChannelID,6)
Case 1
If len(FieldValue)>=10 Then
SqlStr="Select ID,Title,Tid,ReadPoint,InfoPurview,Fname,Changes From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"='" &FieldValue&"'"
Else
SqlStr="Select ID,Title,Tid,ReadPoint,InfoPurview,Fname,Changes From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"=" &FieldValue
End IF
Case 2
If len(FieldValue)>=10 Then
SqlStr="Select ID,Title,Tid,ReadPoint,InfoPurview,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"='" &FieldValue&"'"
Else
SqlStr="Select ID,Title,Tid,ReadPoint,InfoPurview,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"=" &FieldValue
End IF
Case 3
If len(FieldValue)>=10 Then
SqlStr="Select ID,Title,Tid,ReadPoint,InfoPurview,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"='" &FieldValue&"'"
Else
SqlStr="Select ID,Title,Tid,ReadPoint,InfoPurview,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"=" &FieldValue
End IF
Case 4
If len(FieldValue)>=10 Then
SqlStr="Select ID,Title,Tid,ReadPoint,InfoPurview,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"='" &FieldValue&"'"
Else
SqlStr="Select ID,Title,Tid,ReadPoint,InfoPurview,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"=" &FieldValue
End IF
Case 5
If len(FieldValue)>=10 Then
SqlStr="Select ID,Title,Tid,0,0,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"='" &FieldValue&"'"
Else
SqlStr="Select ID,Title,Tid,0,0,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"=" &FieldValue
End IF
Case 7
If len(FieldValue)>=10 Then
SqlStr="Select ID,Title,Tid,ReadPoint,InfoPurview,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"='" &FieldValue&"'"
Else
SqlStr="Select ID,Title,Tid,ReadPoint,InfoPurview,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"=" &FieldValue
End IF
Case 8
If len(FieldValue)>=10 Then
SqlStr="Select ID,Title,Tid,0,0,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"='" &FieldValue&"'"
Else
SqlStr="Select ID,Title,Tid,0,0,Fname,0 From " & KS.C_S(ChannelID,2) & " Where " & FieldName &"=" &FieldValue
End IF
Case Else
Exit Function
End Select
Dim KS_RS_Obj:Set KS_RS_Obj=Server.CreateObject("ADODB.RECORDSET")
KS_RS_Obj.Open SqlStr,Conn,1,1
IF KS_RS_Obj.Eof Then
KS_RS_Obj.Close:Set KS_RS_Obj=Nothing:Exit Function
Else
If OutType=0 Then
Get_InfoUrl_Field="" & FieldValue &" "
ElseIF OutType=1 Then
Get_InfoUrl_Field=KS.GetInfoUrl(ChannelID,KS_RS_Obj(2),KS_RS_Obj(0),KS_RS_Obj(5),KS_RS_Obj(3),KS_RS_Obj(4),KS_RS_Obj(6))
End If
End if
KS_RS_Obj.Close:Set KS_RS_Obj=Nothing
End Function
'得到栏目的链接URL
'参数说明:FieldName-字段名称,FieldValue-字段值,ChannelID数据表 1、2、3、4、100等,OutType输出方式 0、混合,1、URL,2、名称
Function Get_ClassUrl_Field(FieldName,FieldValue,ChannelID,OutType)
If OutType=2 Or DataSourceType<>0 Then Get_ClassUrl_Field=FieldValue:Exit Function
Dim ClassID:ClassID=FieldValue
If FieldName="id" Then
Dim SqlStr:SqlStr="Select id From KS_Class Where ID='" & Conn.Execute("Select Tid From " & C_S(ChannelID,2) & " Where " & FieldName &"=" &FieldValue)(0)
Dim KS_RS_Obj:Set KS_RS_Obj=Server.CreateObject("ADODB.RECORDSET")
KS_RS_Obj.Open SqlStr,Conn,1,1
IF KS_RS_Obj.Eof Then
KS_RS_Obj.Close:Set KS_RS_Obj=Nothing:Exit Function
Else
ClassID = KS_RS_Obj(0)
End if
KS_RS_Obj.Close:Set KS_RS_Obj=Nothing
End IF
If OutType=0 Then
Get_ClassUrl_Field="" & KS.C_C(classID,1) &" "
ElseIF OutType=1 Then
Get_ClassUrl_Field=KS.GetFolderPath(ClassID)
End If
End Function
Function ReplaceKeyTags(ChannelID,KeyStr)
Dim I,K_Arr:K_Arr=Split(KeyStr,"|")
For I=0 To Ubound(K_Arr)
ReplaceKeyTags=ReplaceKeyTags & "" & K_Arr(i) & " "
Next
End Function
Function OpenExtConn()
If DataSourceType=0 Then
OpenExtConn=True
Else
on error resume next
Set tconn = Server.CreateObject("ADODB.Connection")
tconn.open datasourcestr
If Err Then
Err.Clear
Set tconn = Nothing
OpenExtConn=False
Else
OpenExtConn=true
End If
End If
End Function
End Class
%>
<%
Class Refresh
Private KS,KSLabel,KSCls ,DomainStr
Private Sub Class_Initialize()
Set KS=New PublicCls
Set KSCls=New ManageCls
Set KSLabel =New RefreshFunction
DomainStr=KS.GetDomain
End Sub
Private Sub Class_Terminate()
Set KS=Nothing
Set KSCls=Nothing
Set KSLabel=Nothing
End Sub
'替换所有标签
Public Function KSLabelReplaceAll(F_C)
F_C = ReplaceGeneralLabelContent(F_C) '替换通用标签 如{$GetWebmaster}
F_C = ReplaceLableFlag(ReplaceAllLabel(F_C)) '替换函数标签
F_C = ReplaceRA(F_C, "")
KSLabelReplaceAll=F_C
End Function
'*******************************************************************************************************
'函数名:LoadTemplate
'作 用:取出模板内容
'参 数:TemplateFname模板地址
'返回值:模板内容
'********************************************************************************************************
Function LoadTemplate(TemplateFname)
on error resume next
' If Application(KS.SiteSN & TemplateFname)="" Then
Dim FSO, FileObj, FileStreamObj
Set FSO = CreateObject(KS.Setting(99))
TemplateFname = Server.MapPath(Replace(TemplateFname, "//", "/"))
If FSO.FileExists(TemplateFname) = False Then
LoadTemplate = "模板不存在,请先绑定!"
Else
Set FileObj = FSO.GetFile(TemplateFname)
Set FileStreamObj = FileObj.OpenAsTextStream(1)
If Not FileStreamObj.AtEndOfStream Then
LoadTemplate = FileStreamObj.ReadAll
Else
LoadTemplate = "模板内容为空"
End If
End If
Set FSO = Nothing:Set FileObj = Nothing:Set FileStreamObj = Nothing
LoadTemplate=LoadTemplate & Published
' Application(KS.SiteSN &TemplateFname)=LoadTemplate
' End If
' LoadTemplate=Application(KS.SiteSN &TemplateFname)
End Function
'**************************************************
'函数名:ReplaceLableFlag
'作 用:去除标签{$},并分组以将标签参数用","隔开
' 示例: km=ReplaceLableFlag("{$Test("par1","par2","par3")}")
' 结果 km=Test,Par1,Par2,Par3
'参 数: Content ----待替换内容
'返回值:返回用","隔开的字符串
'**************************************************
Function ReplaceLableFlag(Content)
Dim regEx, Matches, Match, TempStr
Set regEx = New RegExp
regEx.Pattern = "{\$[^{\$}]*}"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(Content)
ReplaceLableFlag = Content
For Each Match In Matches
On Error Resume Next
TempStr = Match.Value
TempStr = Replace(TempStr, Chr(13) & Chr(10), "")
TempStr = Replace(TempStr, "{$", "")
TempStr = Replace(TempStr, "}", "")
TempStr = Left(TempStr, InStr(TempStr, "(") - 1) & "," & Mid(TempStr, InStr(TempStr, "(") + 1)
TempStr = Left(TempStr, InStrRev(TempStr, ")") - 1)
TempStr = Replace(TempStr, """", "")
If Err.Number = 0 Then
ReplaceLableFlag = Replace(ReplaceLableFlag, Match.Value, KSLabel.ChangeLableToFunction(TempStr))
End If
Next
End Function
'*********************************************************************************************************
'函数名:ReplaceAllLabel
'作 用:将标签名称转换成对应标签内容
'参 数: Content需转换的内容
'*********************************************************************************************************
Function ReplaceAllLabel(Content)
Content=ReplaceLabel(Content)
Dim DCls:Set Dcls=New DIYCls
Content=DCls.ReplaceUserFunctionLabel(Content) '替换自定义函数标签
Set DCls=nothing
ReplaceAllLabel =Content
End Function
'替换标签
Public Function ReplaceLabel(Byval sTrC)
dim sRow,sCol,i
KS.Name="ReplaceLabel"
if KS.ObjIsEmpty() then
Dim RS:Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "Select LabelType,LabelName,LabelContent,ID from KS_Label Where LabelType<>5", Conn, 1, 1
if RS.bof or RS.eof then
KS.Value=""
else
KS.Value=RS.GetString(,,"^||^","^%%%^","")
end if
RS.Close:Set RS = Nothing
end if
if KS.Value<>"" then
sRow=Split(KS.Value,"^%%%^")
for i=0 to Ubound(sRow)-1
sCol=Split(sRow(i),"^||^")
If sCol(0) = 1 Then
sTrC = Replace(sTrC, sCol(1), ReplaceFreeLabel(sCol(2))) '此处影响生成速度
Else
' If Instr(sCol(2),"Last")>0 Then
sTrC = Replace(sTrC,trim(sCol(1)),Replace(sCol(2),")}","," & sCol(3) &")}"))
' Else
' sTrC = Replace(sTrC,trim(sCol(1)),sCol(2))
' End If
End IF
next
end if
KS.Name="ReplaceJS"
if KS.ObjIsEmpty() then
Dim RSJ:Set RSJ = Server.CreateObject("ADODB.Recordset")
RSJ.Open "Select JSName FROM KS_JSFile", Conn, 1, 1
if RSJ.bof or RSJ.eof then
KS.Value=""
else
KS.Value=RSJ.GetString(,,"","^%%%^","")
end if
Set RSJ = Nothing
end if
if KS.Value<>"" then
sRow=Split(KS.Value,"^%%%^")
for i=0 to Ubound(sRow)-1
sTrC = Replace(sTrC,sRow(i),ReplaceAllJS(sRow(i)))
next
end if
ReplaceLabel=sTrC
End Function
Function ReplaceAllJS(JSName)
Dim JSRS:Set JSRS = Server.CreateObject("ADODB.Recordset")
JSRS.Open "Select * from KS_JSFile Where JSName='" & JSName & "'", Conn, 1, 1
If Not JSRS.EOF Then
ReplaceAllJS = ""
Else
ReplaceAllJS = "":JSRS.Close:Set JSRS = Nothing
End If
End Function
'替换自由标签为内容,仅替换一级
Function ReplaceFreeLabel(sTrC)
dim sRow,sCol,i
KS.Name="ReplaceFreeLabel"
if KS.ObjIsEmpty() then
Dim RS:Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "Select LabelName,LabelContent,ID from KS_Label", Conn, 1, 1
if RS.bof or RS.eof then
KS.Value=""
else
KS.Value=RS.GetString(,,"^||^","^%%%^","")
end if
RS.Close:Set RS = Nothing
end if
if KS.Value<>"" then
sRow=Split(KS.Value,"^%%%^")
for i=0 to Ubound(sRow)-1
sCol=Split(sRow(i),"^||^")
sTrC = Replace(sTrC,trim(sCol(0)),Replace(sCol(1),")}","," & sCol(2) &")}"))
next
end if
ReplaceFreeLabel = ReplaceGeneralLabelContent(sTrC)
End Function
'*********************************************************************************************************
'函数名:FSOSaveFile
'作 用:生成文件
'参 数: Content内容,路径 注意虚拟目录
'*********************************************************************************************************
Sub FSOSaveFile(Content, LocalFileName)
Dim FSO, FileObj
Set FSO = Server.CreateObject(KS.Setting(99))
Set FileObj = FSO.CreateTextFile(Server.MapPath(LocalFileName), True) '创建文件
FileObj.Write Content
FileObj.Close '释放对象
Set FileObj = Nothing:Set FSO = Nothing
End Sub
'*********************************************************************************************************
'函数名:RefreshJS
'作 用:发布JS
'参 数:JSName JS名称
'*********************************************************************************************************
Sub RefreshJS(JSName)
Dim JSRS, SqlStr, JSContent
Set JSRS = Server.CreateObject("ADODB.Recordset")
SqlStr = "Select * From KS_JSFile Where JSName='" & Trim(JSName) & "'"
JSRS.Open SqlStr, Conn, 1, 1
If JSRS.EOF And JSRS.BOF Then
JSRS.Close:Set JSRS = Nothing:Exit Sub
End If
Dim JSConfig, JSFileName, SaveFilePath, JSDir, JSType
JSFileName = Trim(JSRS("JSFileName"))
JSDir = Trim(KS.Setting(93))
JSType = Trim(JSRS("JSType"))
If Left(JSDir, 1) = "/" Or Left(JSDir, 1) = "\" Then JSDir = Right(JSDir, Len(JSDir) - 1)
SaveFilePath = KS.Setting(3) & JSDir
Call KS.CreateListFolder(SaveFilePath)
JSConfig = Trim(JSRS("JSConfig"))
If JSType = "0" Then
JSConfig = Replace(Trim(JSRS("JSConfig")), """", "") '替换原参数的双引号为空
JSContent=Replace(Replace(Replace(KSLabel.ChangeLableToFunction(JSConfig), Chr(13) & Chr(10), ""),"'","\'"),"""","\""")
JSContent = "document.write('" & JSContent & "');"
Else
Dim FreeType
FreeType = Left(JSConfig, InStr(JSConfig, ",") - 1) '取出自由JS的类型
JSConfig = Replace(JSConfig, FreeType & ",", "")
Select Case FreeType '根据函数做相应的操作
Case "GetExtJS" '扩展JS
JSConfig = Replace(JSConfig, "'", """")
JSConfig = ReplaceLableFlag(ReplaceAllLabel(JSConfig))
JSConfig = ReplaceGeneralLabelContent(JSConfig)
JSConfig = Replace(Replace(Replace(JSConfig, Published, ""),"'","\'"),"""","\""")
JSContent = ReplaceJsBr(JSConfig)
'JSContent = "document.write('" & JSConfig & "');"
Case "GetWordJS"
JSConfig = Replace(Trim(JSConfig), """", "") '替换原参数的双引号为空
JSContent = RefreshWordJS(Trim(JSRS("JSID")), JSConfig) '替换文字JS
Case "GetPicJS"
JSConfig = Replace(Trim(JSConfig), """", "") '替换原参数的双引号为空
JSContent = RefreshPicJS(Trim(JSRS("JSID")), JSConfig) '替换图像JS
Case Else
JSContent = ""
End Select
End If
'JSConfig = ReplaceRA(JSConfig, "") '相对路径与绝对路径的替换
Call FSOSaveFile(JSContent, SaveFilePath & JSFileName)
JSRS.Close:Set JSRS = Nothing
End Sub
Function ReplaceJsBr(Content)
Dim i
Dim JsArr:JSArr=Split(Content,Chr(13) & Chr(10))
For I=0 To Ubound(JsArr)
ReplaceJsBr=ReplaceJsBr & "document.writeln('" & JsArr(I) &"')" & vbcrlf
Next
End Function
'*********************************************************************************************************
'函数名:RefreshWordJS
'作 用:发布文字JS
'参 数:JSID JSID,JSConfig JS参数
'*********************************************************************************************************
Function RefreshWordJS(JSID, JSConfig)
Dim JSConfigArr:JSConfigArr = Split(JSConfig, ",")
If UBound(JSConfigArr) = 17 Then
RefreshWordJS = KSLabel.RefreshCss(JSID, UCase(JSConfigArr(0)), JSConfigArr(1), JSConfigArr(2), JSConfigArr(3), JSConfigArr(4), JSConfigArr(5), JSConfigArr(6), JSConfigArr(7), JSConfigArr(8), JSConfigArr(9), JSConfigArr(10), JSConfigArr(11), JSConfigArr(12), JSConfigArr(13), JSConfigArr(14), JSConfigArr(15), JSConfigArr(16), JSConfigArr(17))
RefreshWordJS = Replace(RefreshWordJS, "'", """")
RefreshWordJS = "document.write('" & RefreshWordJS & "');"
Else
RefreshWordJS = "document.write('标签参数溢出!');"
End If
End Function
'*********************************************************************************************************
'函数名:RefreshPicJS
'作 用:发布图片JS
'参 数:JSID JSID,JSConfig JS参数
'*********************************************************************************************************
Function RefreshPicJS(JSID, JSConfig)
End Function
'=================================以下为相关栏目,内容页,频道首页等的刷新函数=====================================
' 修改日期 2007-5-19 开发:林文仲
'===================================================================================================================
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:RefreshArticleContent
'作 用:刷新文章内容页面
'参 数:RS Recordset数据集
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function RefreshArticleContent(RS,ChannelID)
Dim TFileContent, F_C, FilePath, FilePathAndName, FilePathAndNameTemp, Fname, FExt, TempFileContent, Content, ContentArr, TotalPage, I, N, CurrPage, PageStr, Flag
Application(KS.SiteSN & "RefreshType") = "ArticleContent"
Application(KS.SiteSN & "RefreshFolderID") = RS("Tid")
Application(KS.SiteSN & "RefreshInfoID") = RS("ID")
Application(KS.SiteSN & "ChannelID")=ChannelID
TempFileContent = LoadTemplate(RS("TemplateID"))
TempFileContent = ReplaceAllLabel(TempFileContent)
If InStr(TempFileContent, "{$GetCorrelativeArticle(") <> 0 Then
TempFileContent = Replace(TempFileContent, "{$GetCorrelativeArticle(", "[$GetCorrelativeArticle(")
Flag = True
Else
Flag = False
End If
If Flag = True Then
TFileContent = ReplaceLableFlag(ReplaceGeneralLabelContent(TempFileContent))
ElseIf (RS("TemplateID") <> Application(KS.SiteSN & "RefreshTemplateID")) Or (Trim(RS("Tid")) <> Trim(Application(KS.SiteSN & "RefreshCurrTid"))) Or Application(KS.SiteSN & "RefreshTempFileContent") = "" Then
Application(KS.SiteSN & "RefreshCurrTid") = RS("Tid")
Application(KS.SiteSN & "RefreshTemplateID") = RS("TemplateId")
Application(KS.SiteSN & "RefreshTempFileContent") = ReplaceLableFlag(ReplaceGeneralLabelContent(TempFileContent)) '替换函数标签
TFileContent = Application(KS.SiteSN & "RefreshTempFileContent")
Else
TFileContent = Application(KS.SiteSN & "RefreshTempFileContent")
End If
on error resume next
FExt = Mid(Trim(RS("Fname")), InStrRev(Trim(RS("Fname")), ".")) '分离出扩展名
Fname = Replace(Trim(RS("Fname")), FExt, "") '分离出文件名 如 2005/9-10/1254ddd
FilePathAndNameTemp =Replace(KS.Setting(3) & KS.C_S(ChannelID,8),"//","/")& KS.C_C(RS("Tid"),2)
Dim ShowUrl:ShowUrl =KS.GetFolderPath(RS("Tid"))
FilePathAndName = FilePathAndNameTemp & RS("Fname")
FilePath = Replace(FilePathAndName, Mid(FilePathAndName, InStrRev(FilePathAndName, "/")), "")
Call KS.CreateListFolder(FilePath)
Content =RS("ArticleContent")
If Content="" Then Content = " "
ContentArr = Split(Content, "[NextPage]")
TotalPage = UBound(ContentArr) + 1
For I = 0 To UBound(ContentArr)
CurrPage = I + 1
If TotalPage > 1 Then
If I = 0 Then
PageStr = "
下一页 "
ElseIf I = 1 And I <> TotalPage - 1 Then '对于最后一页刚好是第二页的要做特殊处理
PageStr = "
上一页 下一页 "
ElseIf I = 1 And I = TotalPage - 1 Then
PageStr = "
上一页 "
ElseIf I = TotalPage - 1 Then
PageStr = "
上一页 "
Else
PageStr = "
上一页 下一页 "
End If
PageStr = PageStr & "本文共
" & TotalPage & " 页,第 "
For N = 1 To TotalPage
If N = 1 Then
If CurrPage = N Then
PageStr = PageStr & ("
[" & N & "] ")
Else
PageStr = PageStr & ("
[" & N & "] ")
End If
Else
If CurrPage = N Then
PageStr = PageStr & ("
[" & N & "] ")
Else
PageStr = PageStr & ("
[" & N & "] ")
End If
End If
If TotalPage > 10 Then
If N Mod 10 = 0 Then PageStr = PageStr & "
"
End If
Next
PageStr = PageStr & "页
"
Else
PageStr = ""
End If
If CurrPage <> 1 Then FilePathAndName = FilePathAndNameTemp & Fname & "_" & CurrPage & FExt
F_C = TFileContent
If InStr(F_C, "[$GetCorrelativeArticle(") <> 0 Then F_C = ReplaceLableFlag(Replace(F_C, "[$GetCorrelativeArticle(", "{$GetCorrelativeArticle("))
F_C = ReplaceNewsContent(ChannelID,RS, F_C, ContentArr(I) & PageStr)
F_C = ReplaceRA(F_C, Trim(KS.C_C(RS("Tid"),4)))
Call FSOSaveFile(F_C, FilePathAndName)
On Error GoTo 0
Next
End Function
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:RefreshFolder
'作 用:刷新栏目页面
'参 数:RS Recordset数据集
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function RefreshFolder(ChannelID,RS)
Dim F_C, FolderDir, FilePath, TempFilePath,Index
Application(KS.SiteSN & "RefreshType") = "Folder"
Application(KS.SiteSN&"ChannelID") = RS("ChannelID")
Application(KS.SiteSN & "RefreshFolderID") = RS("ID")
'检查当前刷新的是否是频道(栏目)首页
If Trim(RS("TN")) = "0" Then Application(KS.SiteSN & "RefreshChannelHomeFlag") = True Else Application(KS.SiteSN & "RefreshChannelHomeFlag") = False
F_C = LoadTemplate(RS("FolderTemplateID"))
F_C = ReplaceGeneralLabelContent(F_C) '替换网站通用标签
F_C = ReplaceAllLabel(F_C)
F_C = ReplaceLableFlag(F_C) '替换函数标签
Index = RS("FolderFsoIndex")
FolderDir = KS.C_S(ChannelID,8)
If Left(FolderDir, 1) = "/" Or Left(FolderDir, 1) = "\" Then FolderDir = Right(FolderDir, Len(FolderDir) - 1)
FilePath = KS.Setting(3) & FolderDir & RS("Folder")
Call KS.CreateListFolder(FilePath)
If (Application(Cstr(KS.SiteSN & "PageList")) <> "") Then
Call GetPageStr(Application(Cstr(KS.SiteSN & "PageList")), "", Index, F_C, FilePath, Trim(RS("FolderDomain")), True)
Application.Contents.Remove (KS.SiteSN & "PageList")
Else
F_C = Replace(F_C, "{PageListStr}", "")
F_C = ReplaceRA(F_C, Trim(RS("FolderDomain")))
Call FSOSaveFile(F_C, FilePath & Index)
End If
End Function
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:RefreshSpecials
'作 用:刷新专题页面
'参 数:RS Recordset数据集
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function RefreshSpecials(RS)
Dim F_C, SpecialDir, FilePath,Index,TempStr
'设置刷新类型,以取得当前导航位置
Application(KS.SiteSN & "RefreshType") = "Special"
Application(KS.SiteSN & "RefreshFolderID") = Trim(RS("FolderID"))
Response.Cookies(KS.SiteSN)("CurrSpecialID") = Trim(RS("SpecialID"))
Application(KS.SiteSN&"ChannelID")=RS("ChannelID")
'读出专题页对应的模板
F_C = LoadTemplate(RS("TemplateID"))
F_C = ReplaceGeneralLabelContent(F_C) '替换网站通用标签
F_C = ReplaceAllLabel(F_C)
Index = Trim(RS("FsoSpecialIndex"))
SpecialDir = KS.Setting(95)
If Left(SpecialDir, 1) = "/" Or Left(SpecialDir, 1) = "\" Then SpecialDir = Right(SpecialDir, Len(SpecialDir) - 1)
FilePath = KS.Setting(3) & SpecialDir & RS("SpecialEName") & "/"
Call KS.CreateListFolder(FilePath)
F_C = ReplaceLableFlag(F_C) '替换函数标签
F_C = ReplaceSpecialCotent(F_C,RS)
If (Application(KS.SiteSN & "PageList") <> "") Then
Call GetPageStr(Application(KS.SiteSN & "PageList"), Trim(DomainStr & SpecialDir & RS("SpecialEname") & "/"), Index, F_C, FilePath, "", True)
Application(KS.SiteSN & "PageList") = ""
Else
F_C = Replace(F_C, "{PageListStr}", "")
F_C = ReplaceRA(F_C, "")
Call FSOSaveFile(F_C, FilePath & Index)
End If
End Function
'6-1增加
Function ReplaceSpecialCotent(F_C,RS)
F_C=Replace(F_C,"{$GetSpecialName}",RS("SpecialName"))
If Not Isnull(RS("PhotoUrl")) And RS("PhotoUrl")<>"" Then
F_C=Replace(F_C,"{$GetSpecialPic}","
")
Else
F_C=Replace(F_C,"{$GetSpecialPic}","
")
End If
F_C=Replace(F_C,"{$GetSpecialNote}",RS("SpecialNote"))
F_C=Replace(F_C,"{$GetSpecialDate}",RS("SpecialAddDate"))
ReplaceSpecialCotent=F_C
End Function
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:RefreshChannelSpecials
'作 用:刷新频道专题汇总页
'参 数:RS Recordset数据集
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function RefreshChannelSpecials(RS)
Dim F_C, SpecialDir, Index, FilePath
Application(KS.SiteSN & "RefreshType") = "ChannelSpecial" '设置刷新类型,以取得当前导航位置
Application("RefreshFolderName") = RS("FolderName") '此处存放频道名称,以取得导航位置
Application(KS.SiteSN & "RefreshFolderID") = RS("ID")
If RS("SpecialTemplateID")="" Then
RefreshChannelSpecials="请先绑定频道专题汇总模板!":exit function
Else
F_C = LoadTemplate(RS("SpecialTemplateID"))
End If
F_C = ReplaceGeneralLabelContent(F_C) '替换网站通用标签
F_C = ReplaceAllLabel(F_C)
F_C = ReplaceLableFlag(F_C) '替换函数标签
SpecialDir = KS.Setting(95)
If Left(SpecialDir, 1) = "/" Or Left(SpecialDir, 1) = "\" Then SpecialDir = Right(SpecialDir, Len(SpecialDir) - 1)
Index = RS("FolderFsoIndex")
FilePath = KS.Setting(3) & SpecialDir & RS("Folder")
Call KS.CreateListFolder(FilePath)
If (Application(Cstr(KS.SiteSN & "PageList")) <> "") Then
'调用通用分页处理过程
Call GetPageStr(Application(Cstr(KS.SiteSN & "PageList")), Trim(DomainStr & SpecialDir & RS("Folder")), Index, F_C, FilePath, "", True)
Application.Contents.Remove (KS.SiteSN & "PageList")
Else
F_C = ReplaceRA(F_C, "")
Call FSOSaveFile(F_C, FilePath & Index)
End If
End Function
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:RefreshCommonPage
'作 用:刷新通用页面
'参 数:RS Recordset数据集
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function RefreshCommonPage(ByVal FileName,FsoFileName)
Dim F_C, CommonDir, FilePath
F_C = LoadTemplate(FileName)
F_C = ReplaceGeneralLabelContent(F_C) '替换通用标签 如{$GetWebmaster}
F_C = ReplaceLableFlag(ReplaceAllLabel(F_C)) '替换函数标签
'如果采用根相对路径,则替换绝对路径为根相对路径
F_C = ReplaceRA(F_C, "")
CommonDir = Replace(KS.Setting(94), "\", "")
If Left(CommonDir, 1) = "/" Then CommonDir = Right(CommonDir, Len(CommonDir) - 1)
'FilePath = KS.Setting(3) & CommonDir
FilePath=Replace(FsoFileName,Split(FsoFileName,"/")(Ubound(Split(FsoFileName,"/"))),"")
Call KS.CreateListFolder(KS.Setting(3) & CommonDir & FilePath)
Call FSOSaveFile(F_C, KS.Setting(3) & CommonDir & FsoFileName)
End Function
'*********************************************************************************************************
'函数名:ReplaceRA
'作 用:自动判断系统是否用相对路径或绝对路径并转换
'参 数:FileContent原文件,FolderDomain 是否有绑定二级域名
'*********************************************************************************************************
Function ReplaceRA(F_C, FolderDomain)
If CStr(KS.Setting(97)) = "0" Then
If FolderDomain <> "" Then
F_C = Replace(F_C, FolderDomain, "/")
Else
If Trim(KS.Setting(3)) = "/" Then
F_C = Replace(F_C, DomainStr, "/")
Else
F_C = Replace(F_C, Replace(DomainStr, Trim(KS.Setting(3)), ""), "")
End If
End If
End If
ReplaceRA = F_C
End Function
'-----------------------------------------------------------------------------------------------------------------------------
'过程名:GetPageStr
'作 用:取得分页的通用函数
'参 数:PageContent--分页内容,LinkUrl--链接地址,Index-首页名称
' F_C--待保存的文件内容,FilePath---待保存路径,SecondDomain --二级域名 ,ShowTurnToFlag ---是否显示转到下拉框
'------------------------------------------------------------------------------------------------------------------------------
Sub GetPageStr(PageContent, LinkUrl, Index, F_C, FilePath, SecondDomain, ShowTurnToFlag)
Dim CurrPage, PageStr, TempFileContent, I, PageContentArr, J, SelectStr
Dim TotalPage
Dim HomeLink '构造首页链接
Dim LinkUrlFname '构造其它页链接
Dim Fname '文件名
Dim FExt '扩展名
HomeLink = LinkUrl & Index
FExt = Mid(Trim(Index), InStrRev(Trim(Index), ".")) '分离出扩展名
Fname = Replace(Trim(Index), FExt, "") '分离出文件名 如 1254ddd
LinkUrlFname = LinkUrl & Fname
PageContentArr = Split(PageContent, "{$PageList}")
TotalPage = UBound(PageContentArr)
For I = LBound(PageContentArr) To TotalPage - 1
CurrPage = I + 1
Select Case Application(KS.SiteSN & "PageStyle")
Case 1
If CurrPage = 1 And CurrPage <> TotalPage Then
PageStr = "首页 上一页
下一页 尾页 "
ElseIf CurrPage = 1 And CurrPage = TotalPage Then
PageStr = "首页 上一页 下一页 尾页"
ElseIf CurrPage = TotalPage And CurrPage <> 2 Then '对于最后一页刚好是第二页的要做特殊处理
PageStr = "
首页 上一页 下一页 尾页"
ElseIf CurrPage = TotalPage And CurrPage = 2 Then
PageStr = "
首页 上一页 下一页 尾页"
ElseIf CurrPage = 2 Then
PageStr = "
首页 上一页 下一页 尾页 "
Else
PageStr = "
首页 上一页 下一页 尾页 "
End If
Case 2
If CurrPage=1 Then
PageStr="
9 7 "
ElseIf CurrPage=2 Then
PageStr="
9 7 "
Else
PageStr="
9 7 "
End If
For J=CurrPage To CurrPage+9
If J>TotalPage Then Exit For
If J= CurrPage Then
PageStr=PageStr & "
[" & J &"] "
Else
PageStr=PageStr & "
[" & J &"] "
End If
Next
If CurrPage=TotalPage Then
PageStr=PageStr & "
8 : "
Else
PageStr=PageStr & "
8 : "
End If
Case 3
If CurrPage=1 Then
PageStr="
9 7 "
ElseIf CurrPage=2 Then
PageStr="
9 7 "
Else
PageStr="
9 7 "
End If
If CurrPage=TotalPage Then
PageStr=PageStr & "
8 : "
Else
PageStr=PageStr & "
8 : "
End If
End Select
If CBool(ShowTurnToFlag) = True Then
PageStr = PageStr & " 转到:
"
For J = 1 To TotalPage
If J = CurrPage Then
SelectStr = " selected"
Else
SelectStr = ""
End If
If J = 1 Then
PageStr = PageStr & "第" & J & "页 "
Else
PageStr = PageStr & "第" & J & "页 "
End If
Next
PageStr = PageStr & " "
End If
TempFileContent = Replace(F_C, "{PageListStr}", PageContentArr(I) & PageStr & "
")
TempFileContent = ReplaceRA(TempFileContent, SecondDomain)
Dim TempFilePath
If CurrPage = 1 Then
TempFilePath = FilePath & Index
Else
TempFilePath = FilePath & Fname & "_" & CurrPage & FExt
End If
Call FSOSaveFile(TempFileContent, TempFilePath)
Next
End Sub
'*********************************************************************************************************
'函数名:ReplaceGeneralLabelContent
'作 用:替换通用标签为内容
'参 数:FileContent原文件
'*********************************************************************************************************
Function ReplaceGeneralLabelContent(F_C)
Dim HtmlLabel,HtmlLabelArr, Param,LabelTotal,I
'替换通用JS
F_C=ReplaceCommonJS(F_C)
'替换搜索标签
Dim KSCSH:Set KSCSH=New RefreshSearchCls
F_C=KSCSH.ReplaceAllSearch(F_C)
Set KSCSH=Nothing
F_C=ReplaceChannelLabel(F_C)
F_C=ReplaceRssLabel(F_C)
F_C = Replace(F_C, "{$GetSiteName}", KS.Setting(0))
F_C = Replace(F_C, "{$GetSiteTitle}", KS.Setting(1))
F_C = Replace(F_C, "{$GetSiteLogo}", "
")
'替换网站Logo(带参数)
If InStr(F_C, "{=GetLogo") <> 0 Then
HtmlLabel = KSLabel.GetFunctionLabel(F_C, "{=GetLogo")
HtmlLabelArr=Split(HtmlLabel,"@@@")
For I=0 To Ubound(HtmlLabelArr)
Param = Split(KSLabel.GetFunctionLabelParam(HtmlLabelArr(I), "{=GetLogo"),",")
F_C = Replace(F_C, HtmlLabelArr(I), "
")
Next
End If
If InStr(F_C, "{=GetTopUser") <> 0 Then
HtmlLabel = KSLabel.GetFunctionLabel(F_C, "{=GetTopUser")
HtmlLabelArr=Split(HtmlLabel,"@@@")
For I=0 To Ubound(HtmlLabelArr)
Param = Split(KSLabel.GetFunctionLabelParam(HtmlLabelArr(I), "{=GetTopUser"),",")
F_C = Replace(F_C, HtmlLabelArr(I), GetTopUser(Param(0),Param(1)))
Next
End If
'替换网站广告位
If InStr(F_C, "{=GetAdvertise") <> 0 Then
HtmlLabel = KSLabel.GetFunctionLabel(F_C, "{=GetAdvertise")
HtmlLabelArr=Split(HtmlLabel,"@@@")
For I=0 To Ubound(HtmlLabelArr)
Param = KSLabel.GetFunctionLabelParam(HtmlLabelArr(I), "{=GetAdvertise")
F_C = Replace(F_C, HtmlLabelArr(I), "")
Next
End If
If InStr(F_C, "{=GetVote") <> 0 Then
HtmlLabel = KSLabel.GetFunctionLabel(F_C, "{=GetVote")
HtmlLabelArr=Split(HtmlLabel,"@@@")
For I=0 To Ubound(HtmlLabelArr)
Param = split(KSLabel.GetFunctionLabelParam(HtmlLabelArr(I), "{=GetVote"),",")(0)
F_C = Replace(F_C, HtmlLabelArr(I), GetVote(Param))
Next
End If
If InStr(F_C, "{=GetTags") <> 0 Then
HtmlLabel = KSLabel.GetFunctionLabel(F_C, "{=GetTags")
HtmlLabelArr=Split(HtmlLabel,"@@@")
For I=0 To Ubound(HtmlLabelArr)
Param = Split(KSLabel.GetFunctionLabelParam(HtmlLabelArr(I), "{=GetTags"),",")
F_C = Replace(F_C, HtmlLabelArr(I), GetTags(Param(0),Param(1)))
Next
End If
'站点统计
F_C = Replace(F_C, "{$GetSiteCountAll}", GetSiteCountAll())
F_C = Replace(F_C, "{$GetSiteOnline}", "")
F_C = Replace(F_C, "{$GetTopUserLogin}", "
")
F_C = Replace(F_C, "{$GetUserLogin}", "
")
If InStr(F_C, "{$GetSpecial}") <> 0 Then
Dim SpecialIndexUrl,SpecialDir:SpecialDir = KS.Setting(95)
If Split(KS.Setting(5),".")(1)<>"asp" Then SpecialIndexUrl=DomainStr & SpecialDir Else SpecialIndexUrl=DomainStr & "SpecialIndex.asp"
F_C = Replace(F_C, "{$GetSpecial}", "
专题首页 ")
End If
F_C = Replace(F_C, "{$GetFriendLink}", "
友情链接 ")
F_C = Replace(F_C, "{$GetSiteUrl}", DomainStr)
F_C = Replace(F_C, "{$GetInstallDir}", KS.Setting(3))
F_C = Replace(F_C, "{$GetManageLogin}", "
管理登录 ")
F_C = Replace(F_C, "{$GetCopyRight}", KS.Setting(18))
F_C = Replace(F_C, "{$GetMetaKeyWord}", KS.Setting(19))
F_C = Replace(F_C, "{$GetMetaDescript}", KS.Setting(20))
F_C = Replace(F_C, "{$GetWebmaster}", "
" & KS.Setting(10) & " ")
F_C = Replace(F_C, "{$GetWebmasterEmail}", KS.Setting(11))
ReplaceGeneralLabelContent = F_C
End Function
Function GetTags(TagType,Num)
if not isnumeric(num) then exit function
dim sqlstr,sql,i,n,str
select case cint(tagtype)
case 1:sqlstr="select top 500 keytext,channelid,hits from ks_keywords order by hits desc"
case 2:sqlstr="select top 500 keytext,channelid,hits from ks_keywords order by lastusetime desc,id desc"
case 3:sqlstr="select top 500 keytext,channelid,hits from ks_keywords order by Adddate desc,id desc"
case else
GetTags="":exit function
end select
dim rs:set rs=conn.execute(sqlstr)
if rs.eof then rs.close:set rs=nothing:exit function
sql=rs.getrows(-1)
rs.close:set rs=nothing
for i=0 to ubound(sql,2)
if KS.FoundInArr(str,sql(0,i),",")=false then
n=n+1
str=str & "," & sql(0,i)
gettags=gettags & "
" & sql(0,i) & " "
end if
if n>=cint(num) then exit for
next
End Function
'*********************************************************************************************************
'函数名:GetSiteCountAll
'作 用:替换网站统计标签为内容
'参 数:Flag-0总统计,1-文章统计 2-图片统计
'*********************************************************************************************************
Function GetSiteCountAll()
Dim ChannelTotal: ChannelTotal = Conn.Execute("Select Count(*) From KS_Class Where TN='0'")(0)
Dim MemberTotal:MemberTotal=Conn.Execute("Select Count(*) From KS_User")(0)
Dim CommentTotal: CommentTotal = Conn.Execute("Select Count(*) From KS_Comment")(0)
Dim GuestBookTotal:GuestBookTotal=Conn.Execute("Select Count(ID) From KS_GuestBook")(0)
GetSiteCountAll="
" & vbcrlf
GetSiteCountAll = GetSiteCountAll & "
频道总数: " & ChannelTotal & " 个 " & vbcrlf
dim rsc:set rsc=conn.execute("select channelid,ItemName,Itemunit,channeltable from ks_channel where channelstatus=1 and channelid<>6 And ChannelID<>9")
dim k,sql:sql=rsc.getrows(-1)
rsc.close:set rsc=nothing
for k=0 to ubound(sql,2)
GetSiteCountAll = GetSiteCountAll & "" & sql(1,k) & "总数: " & Conn.Execute("Select Count(id) From " & sql(3,k))(0) & " " & sql(2,k)&" " & vbcrlf
next
GetSiteCountAll = GetSiteCountAll & "注册会员: " & MemberTotal & " 位 " & vbcrlf
GetSiteCountAll = GetSiteCountAll & "留言总数: " & GuestBookTotal &" 条 " & vbcrlf
GetSiteCountAll = GetSiteCountAll & "评论总数: " & CommentTotal & " 条 " & vbcrlf
GetSiteCountAll = GetSiteCountAll & "在线人数: 人 " & vbcrlf
GetSiteCountAll = GetSiteCountAll & "" & vbcrlf
End Function
'替换RSS标签
Function ReplaceRssLabel(F_C)
IF KS.Setting(83)=0 Then
F_C=Replace(F_C,"{$Rss}","")
F_C=Replace(F_C,"{$RssElite}","")
F_C=Replace(F_C,"{$RssHot}","")
ReplaceRssLabel=F_C
Exit Function
End If
Dim CurrentRefreshType:CurrentRefreshType=Application(KS.SiteSN & "RefreshType")
Dim CurrentClassID:CurrentClassID=Application(KS.SiteSN & "RefreshFolderID")
Dim ChannelID:ChannelID=Application(KS.SiteSN&"ChannelID")
Select Case Ucase(CurrentRefreshType)
Case "INDEX"
F_C=Replace(F_C,"{$Rss}",GetRssLink("Rss.asp"))
F_C=Replace(F_C,"{$RssElite}",GetRssLink("Rss.asp?Elite=1"))
F_C=Replace(F_C,"{$RssHot}",GetRssLink("Rss.asp?Hot=1"))
Case "FOLDER"
F_C=Replace(F_C,"{$Rss}",GetRssLink("Rss.asp?ChannelID=" & ChannelID & "&ClassID=" &CurrentClassID & ""))
F_C=Replace(F_C,"{$RssElite}",GetRssLink("Rss.asp?ChannelID=" & ChannelID & "&ClassID=" &CurrentClassID & "&Elite=1"))
F_C=Replace(F_C,"{$RssHot}",GetRssLink("Rss.asp?ChannelID=" & ChannelID & "&ClassID=" &CurrentClassID & "&Hot=1"))
Case Else
F_C=Replace(F_C,"{$Rss}","")
F_C=Replace(F_C,"{$RssElite}","")
F_C=Replace(F_C,"{$RssHot}","")
End Select
ReplaceRssLabel = F_C
End Function
'取得每个频道的RSS链接,结合ReplaceRssLabel调用
Function GetRssLink(LinkStr)
GetRssLink="
"
End Function
'*********************************************************************************************************
'函数名:ReplaceNewsContent
'作 用:替换文章内容页标签为内容
'参 数:RS Recordset数据集,FileContent待替换的内容,Content文章内容
'*********************************************************************************************************
Function ReplaceNewsContent(ChannelID,RS, F_C, Content)
Dim TempStr, N
On Error Resume Next
If InStr(F_C, "{$GetArticleSize}") <> 0 Then
Content = "
" & Content & " "
TempStr = ""
TempStr = TempStr & "【字体:
大 中 小 】"
F_C = Replace(F_C, "{$GetArticleSize}", TempStr)
End If
F_C=ReplaceUserDefine(ChannelID,F_C,RS)
Content=ReplaceAd(Content,RS("Tid"))
F_C = Replace(F_C, "{$GetArticleContent}", KS.ReplaceInnerLink(FormatImg(Content)))
If InStr(F_C, "{$GetArticleAction}") <> 0 Then
TempStr = "【
发表评论 】【
告诉好友 】【
打印此文 】【
收藏此文 】【
关闭窗口 】"
F_C = Replace(F_C, "{$GetArticleAction}", TempStr)
End If
F_C = Replace(F_C, "{$ChannelID}", ChannelID)
F_C = Replace(F_C, "{$InfoID}", RS("ID"))
F_C = Replace(F_C, "{$ItemName}", KS.C_S(ChannelID,3))
F_C = Replace(F_C, "{$ItemUnit}", KS.C_S(ChannelID,4))
F_C = Replace(F_C, "{$GetArticleID}", RS("NewsID"))
F_C = Replace(F_C, "{$GetArticleIntro}", RS("Intro"))
F_C = Replace(F_C, "{$GetArticleShortTitle}", RS("Title"))
F_C = Replace(F_C, "{$GetArticleUrl}", KS.GetInfoUrl(ChannelID,RS("Tid"),RS("ID"),RS("Fname"),RS("ReadPoint"),RS("InfoPurview"),RS("Changes")))
F_C = Replace(F_C, "{$GetArticleKeyWord}", Replace(RS("KeyWords"), "|", ","))
F_C = Replace(F_C, "{$GetKeyTags}",ReplaceKeyTags(ChannelID,RS("Keywords")))
F_C = Replace(F_C, "{$GetArticleAuthor}", RS("Author"))
F_C = Replace(F_C, "{$GetArticleInput}", "
" & rs("articleinput") & " " )
IF RS("FullTitle")="" Or IsNull(RS("FullTitle")) Then
F_C = Replace(F_C, "{$GetArticleTitle}", RS("Title"))
Else
F_C = Replace(F_C, "{$GetArticleTitle}", RS("FullTitle"))
End IF
If Not IsNull(RS("Origin")) And Trim(RS("Origin")) <> "" Then
F_C = Replace(F_C, "{$GetArticleOrigin}", KS.GetOrigin(RS("Origin")))
Else
F_C = Replace(F_C, "{$GetArticleOrigin}", "本站原创")
End If
If InStr(F_C, "{=GetPhoto") <> 0 Then
Dim HtmlLabel: HtmlLabel = KSLabel.GetFunctionLabel(F_C, "{=GetPhoto")
Dim Param: Param = KSLabel.GetFunctionLabelParam(HtmlLabel, "{=GetPhoto")
Dim PhotoUrl:PhotoUrl=RS("PicUrl")
If Not (IsNull(PhotoUrl) Or PhotoUrl = "") Then
F_C = Replace(F_C,HtmlLabel, "
")
Else
F_C = Replace(F_C, HtmlLabel, "
")
End If
End If
'属性
If InStr(F_C, "{$GetArticleProperty}") <> 0 Then
TempStr = ""
If CInt(RS("Recommend")) = 1 Then
TempStr = TempStr & ("
荐 ")
End If
If CInt(RS("Popular")) = 1 Then
TempStr = TempStr & ("
热 ")
End If
If CInt(RS("Strip")) = 1 Then
TempStr = TempStr & ("
头 ")
End If
If CInt(RS("Rolls")) = 1 Then
TempStr = TempStr & ("
滚 ")
End If
If CInt(RS("Slide")) = 1 Then
TempStr = TempStr & ("
幻 ")
End If
TempStr = TempStr & " " & Replace(RS("Rank"),"★","
")
F_C = Replace(F_C, "{$GetArticleProperty}", TempStr)
End If
If InStr(F_C, "{$GetArticleHits}") <> 0 Then
F_C = Replace(F_C, "{$GetArticleHits}", "")
End If
If InStr(F_C, "{$GetArticleDate}") <> 0 Then
F_C = Replace(F_C, "{$GetArticleDate}", KS.DateFormat(RS("AddDate"), 6))
End If
If InStr(F_C, "{$GetShowComment}") <> 0 And RS("Comment") = 1 Then
F_C = Replace(F_C,"{$GetShowComment}","
")
Else
F_C = Replace(F_C, "{$GetShowComment}", "")
End If
If InStr(F_C, "{$GetWriteComment}") <> 0 And RS("Comment") = 1 Then
F_C = Replace(F_C, "{$GetWriteComment}", "")
Else
F_C = Replace(F_C, "{$GetWriteComment}", "")
End If
F_C = Replace(F_C, "{$GetPrevArticle}", ReplacePrevNext(ChannelID,RS("Id"), RS("tid"), "<"))
F_C = Replace(F_C, "{$GetNextArticle}", ReplacePrevNext(ChannelID,RS("Id"), RS("tid"), ">"))
ReplaceNewsContent = F_C
End Function
'*********************************************************************************************************
'函数名:ReplacePrevNext
'作 用:上一篇、下一篇
'参 数:NowID 现在ID,Tid 目录ID,TypeStr类型
'*********************************************************************************************************
Function ReplacePrevNext(ChannelID,NowID, Tid, TypeStr)
Dim SqlStr
Select Case KS.C_S(ChannelID,6)
Case 1:SqlStr="SELECT Top 1 ID,Title,Tid,InfoPurview,ReadPoint,Fname,Changes"
Case 2,3,4,7:SqlStr="SELECT Top 1 ID,Title,Tid,InfoPurview,ReadPoint,Fname,0"
Case 8:SqlStr="SELECT Top 1 ID,Title,Tid,0,0,Fname,0"
Case 5:SqlStr=" SELECT Top 1 ID,Title,Tid,0,0,Fname,0"
Case Else :ReplacePrevNext="":Exit Function
End Select
SqlStr=SqlStr & " From " & KS.C_S(ChannelID,2) & " Where Tid='" & Tid & "' And ID" & TypeStr & NowID & " And Verific=1 and DelTF=0 Order By ID"
If TypeStr=">" Then SqlStr=SqlStr & " asc" else SqlStr=SqlStr & " desc"
Dim RS:Set RS=Conn.Execute(SqlStr)
If RS.EOF And RS.BOF Then
ReplacePrevNext = "没有了"
Else
ReplacePrevNext = "
" & RS(1) & " "
End If
RS.Close:Set RS = Nothing
End Function
'替换自定义字段
Function ReplaceUserDefine(ChannelID,F_C,RS)
Dim D_F_Arr,K
D_F_Arr=KSCls.Get_KS_D_F_Arr(ChannelID)
If IsArray(D_F_Arr) Then
For K=0 To Ubound(D_F_Arr,2)
If Not IsNull(RS("" &D_F_Arr(0,K) & "")) Then
F_C = Replace(F_C,"{$" & D_F_Arr(0,K) & "}",RS("" &D_F_Arr(0,K) & ""))
Else
F_C = Replace(F_C,"{$" & D_F_Arr(0,K) & "}","")
End If
Next
End If
ReplaceUserDefine=F_C
End Function
Function ReplaceKeyTags(ChannelID,KeyStr)
On error resume next
Dim I,K_Arr:K_Arr=Split(KeyStr,"|")
For I=0 To Ubound(K_Arr)
ReplaceKeyTags=ReplaceKeyTags & "
" & K_Arr(i) & " "
Next
If Err Then ReplaceKeyTags="":Err.Clear
End Function
'替换画中画广告
Function ReplaceAD(ByVal Content,ClassID)
Dim ShowADTF,CLen,Dir,Width,Height,AdUrl,AdLinkUrl,LC,RC,AdStr,ADType
Dim ClassBasicInfo:ClassBasicInfo=KS.C_C(ClassID,6)
Dim AdP:AdP = Split(Split(ClassBasicInfo,"||||")(4),"%ks%")
ShowADTF=KS.ChkClng(Adp(0))
If ShowADTF=0 Then ReplaceAD=Content:Exit Function
Dim Param:Param=Split(AdP(1),",")
CLen=KS.ChkClng(Param(0)):Dir=Param(1):Width=KS.ChkClng(Param(2)):Height=KS.ChkClng(Param(3)):AdUrl=Adp(3):AdLinkUrl=Adp(4):ADType=KS.ChkClng(ADP(2))
If CLen<>0 Then LC=InterceptString(Content,Clen)
RC=Right(Content,Len(Content)-Len(LC))
If ADType=2 Then
Adstr="
"
Else
If Lcase(Right(AdUrl,3))="swf" Then'判断是否Swf图片
AdStr="
"
Else
If AdLinkUrl="" Then AdLinkUrl="http://www.sykv.com"
AdStr="
"
End If
End If
ReplaceAD=LC & AdStr & RC
End Function
'截取字符串
Function InterceptString(ByVal txt,length)
Dim x,y,ii,c,ischines,isascii,tempStr
length=Cint(length)
txt=trim(txt):x = len(txt):y = 0
if x >= 1 then
for ii = 1 to x
c=asc(mid(txt,ii,1))
if c< 0 or c >255 then
y = y + 2:ischines=1:isascii=0
else
y = y + 1:ischines=0:isascii=1
end if
if y >= length then
if ischines=1 and StrCount(left(trim(txt),ii),"
") then
txt = left(txt,ii) '"字符串限长
exit for
else
if isascii=1 then x=x+1
end if
end if
next
InterceptString = txt
else
InterceptString = ""
end if
End Function
'判断字符串出现的次数
Public Function StrCount(Str,SubStr)
Dim iStrCount,iStrStart,iTemp
iStrCount = 0:iStrStart = 1:iTemp = 0:Str=LCase(Str):SubStr=LCase(SubStr)
Do While iStrStart < Len(Str)
iTemp = Instr(iStrStart,Str,SubStr,vbTextCompare)
If iTemp <=0 Then
iStrStart = Len(Str)
Else
iStrStart = iTemp + Len(SubStr)
iStrCount = iStrCount + 1
End If
Loop
StrCount = iStrCount
End Function
Function RefreshPictureContent(RS,ChannelID)
Dim TFileContent, F_C, FilePath, FilePathAndName, FilePathAndNameTemp,Fname, FExt, TempFileContent
Dim FolderDomain, PicUrls, PicUrlsArr, TotalPage, I, N, CurrPage, PageStr,Flag
on error resume next
Application(KS.SiteSN & "RefreshType") = "PictureContent"
Application(KS.SiteSN & "RefreshFolderID") = RS("Tid")
Application(KS.SiteSN & "RefreshInfoID") = RS("ID")
TempFileContent = LoadTemplate(RS("TemplateID"))
TempFileContent = ReplaceAllLabel(TempFileContent)
If InStr(TempFileContent, "{$GetCorrelativePicture(") <> 0 Then
TempFileContent = Replace(TempFileContent, "{$GetCorrelativePicture(", "[$GetCorrelativePicture(")
Flag = True
Else
Flag = False
End If
'为了提高刷新速度,采用Application缓存,仅当没有包含相关图片组标签
If Flag = True Then
TFileContent = ReplaceLableFlag(ReplaceGeneralLabelContent(TempFileContent))
ElseIf ((RS("TemplateID") <> Application(KS.SiteSN & "RefreshTemplateID")) Or (Trim(RS("Tid")) <> Trim(Application(KS.SiteSN & "RefreshCurrTid"))) Or Application(KS.SiteSN & "RefreshTempFileContent") = "") Then
Application(KS.SiteSN & "RefreshCurrTid") = RS("Tid")
Application(KS.SiteSN & "RefreshTemplateID") = RS("TemplateId")
Application(KS.SiteSN & "RefreshTempFileContent") = ReplaceLableFlag(ReplaceGeneralLabelContent(TempFileContent)) '替换函数标签
TFileContent = Application(KS.SiteSN & "RefreshTempFileContent")
Else
TFileContent = Application(KS.SiteSN & "RefreshTempFileContent")
End If
FExt = Mid(Trim(RS("Fname")), InStrRev(Trim(RS("Fname")), ".")) '分离出扩展名
Fname = Replace(Trim(RS("Fname")), FExt, "") '分离出文件名 如 2005/9-10/1254ddd
FilePathAndNameTemp =Replace(KS.Setting(3) & KS.C_S(ChannelID,8),"//","/")& KS.C_C(RS("Tid"),2)
Dim ShowUrl:ShowUrl =KS.GetFolderPath(RS("Tid"))
FilePathAndName = FilePathAndNameTemp & RS("Fname")
FilePath = Replace(FilePathAndName, Mid(FilePathAndName, InStrRev(FilePathAndName, "/")), "")
Call KS.CreateListFolder(FilePath)
PicUrls = RS("PicUrls")
If IsNull(PicUrls) Then PicUrls = ""
PicUrlsArr = Split(PicUrls, "|||")
TotalPage = UBound(PicUrlsArr) + 1
Dim NextUrl,PicSrc
If InStr(TempFileContent, "{=GetPhotoPage") <> 0 Then
Dim HtmlLabel:HtmlLabel = KSLabel.GetFunctionLabel(TempFileContent, "{=GetPhotoPage")
Dim Param:Param = split(KSLabel.GetFunctionLabelParam(HtmlLabel, "{=GetPhotoPage"),",")
Dim Rows:Rows=Param(0)
Dim Cols:Cols=Param(1)
Dim Width:Width=Param(2)
Dim Height:Height=Param(3)
Dim r,c,str
if ((ubound(PicUrlsArr)+1) mod (cols*rows))=0 then
TotalPage=(ubound(PicUrlsArr)+1)\(cols*rows)
else
TotalPage=(ubound(PicUrlsArr)+1)\(cols*rows) + 1
end if
For I = 1 To TotalPage
str=" "
if TotalPage<=1 then
n=0
else
n=(cols*rows)*(I-1)
end if
For r=1 to rows
str=str & ""
For c=1 To Cols
dim thumbsphoto
if n<=ubound(PicUrlsArr) Then
PicSrc=Split(PicUrlsArr(n), "|")(2)
If (Lcase(Left(PicSrc,4))<>"http") Then PicSrc=KS.Setting(2) & PicSrc
thumbsphoto=""
else
thumbsphoto=""
end if
str=str & "" & thumbsphoto & " "
n=n+1
Next
str=str & " "
Next
str=str &"
"
PageStr="
共 " & TotalPage &" 页 第 " & I & " 页 "
startpage=1:k=0
if (I>=10) then startpage=(I\10-1)*10+I mod 10+2
PageStr=PageStr & "首页 "
if I<>1 then
if I=2 then
PageStr=PageStr & "<< "
else
PageStr=PageStr & "<< "
end if
end if
For N = cint(startpage) To TotalPage
If N = 1 Then
If I = N Then
PageStr = PageStr & "" & N & " "
Else
PageStr = PageStr & "" & N & " "
End If
Else
If I = N Then
PageStr = PageStr & "" & N & " "
Else
PageStr = PageStr & "" & N & " "
End If
End If
k=K+1
If k >= 10 Then exit for
Next
If I <>totalpage Then
PageStr=PageStr & ">> "
end if
PageStr=PageStr & "末页 "
PageStr=PageStr & ""
PageStr=PageStr & " "
For K=1 To TotalPage
if k=I then
if k=1 then
PageStr=PageStr & "第" & K & "页 "
else
PageStr=PageStr & "第" & K & "页 "
end if
else
if k=1 then
PageStr=PageStr & "第" & K & "页 "
else
PageStr=PageStr & "第" & K & "页 "
end if
end if
Next
PageStr=PageStr & "
"
If I <> 1 Then FilePathAndName = FilePathAndNameTemp & Fname & "_" & I & FExt
F_C = TFileContent
F_C=Replace(F_C, HtmlLabel,str)
F_C=Replace(F_C,"{$PageStr}",PageStr)
If InStr(F_C, "[$GetCorrelativePicture(") <> 0 Then F_C = ReplaceLableFlag(Replace(F_C, "[$GetCorrelativePicture(", "{$GetCorrelativePicture("))
F_C = ReplacePictureContent(ChannelID,RS, F_C, "")
F_C = ReplaceRA(F_C, Trim(KS.C_C(RS("Tid"),4)))
Call FSOSaveFile(F_C, FilePathAndName)
Next
ElseIf InStr(TempFileContent, "{$GetPictureByPage}") <> 0 Then '按分页方式生成图片内容页
For I = LBound(PicUrlsArr) To TotalPage - 1
CurrPage = I + 1
If TotalPage > 1 Then
PageStr="
" & vbcrlf & "
"
If I = 0 Then
PageStr = PageStr & "
下一张>> "
NextUrl=ShowUrl & Fname & "_" & (CurrPage + 1) & FExt
ElseIf I = 1 And I <> TotalPage - 1 Then '对于最后一张刚好是第二张的要做特殊处理
PageStr = PageStr &"
<<上一张 下一张>> "
NextUrl=ShowUrl & Fname & "_" & (CurrPage + 1) & FExt
ElseIf I = 1 And I = TotalPage - 1 Then
PageStr = PageStr &"
<<上一张 "
NextUrl=ShowUrl & RS("Fname")
ElseIf I = TotalPage - 1 Then
PageStr = PageStr &"
<<上一张 "
NextUrl=ShowUrl & RS("Fname")
Else
PageStr = PageStr &"
<<上一张 下一张>> "
NextUrl=ShowUrl & Fname & "_" & (CurrPage + 1) & FExt
End If
PageStr =PageStr & "
"
PageStr = PageStr & "
" & Split(PicUrlsArr(CurrPage-1), "|")(0) & "
"
dim startpage,k
startpage=1:k=0
if (CurrPage>=10) then startpage=(CurrPage\10-1)*10+CurrPage mod 10+2
PageStr = PageStr & "
共 " & startpage & "/" & TotalPage & " 张 "
PageStr=PageStr & "
首页 "
if CurrPage<>1 then
if currpage=2 then
PageStr=PageStr & "
<< "
else
PageStr=PageStr & "
<< "
end if
end if
For N = cint(startpage) To TotalPage
If N = 1 Then
If CurrPage = N Then
PageStr = PageStr & "
" & N & " "
Else
PageStr = PageStr & "
" & N & " "
End If
Else
If CurrPage = N Then
PageStr = PageStr & "
" & N & " "
Else
PageStr = PageStr & "
" & N & " "
End If
End If
k=K+1
If k >= 10 Then exit for
Next
If CurrPage <>totalpage Then
PageStr=PageStr & "
>> "
end if
PageStr=PageStr & "
末页 "
PageStr=PageStr & "
"
Else
PageStr = ""
End If
If CurrPage <> 1 Then FilePathAndName = FilePathAndNameTemp & Fname & "_" & CurrPage & FExt
F_C = TFileContent
If InStr(F_C, "[$GetCorrelativePicture(") <> 0 Then F_C = ReplaceLableFlag(Replace(F_C, "[$GetCorrelativePicture(", "{$GetCorrelativePicture("))
PicSrc=Split(PicUrlsArr(I), "|")(1)
If (Lcase(Left(PicSrc,4))<>"http") Then PicSrc=KS.Setting(2) & PicSrc
F_C = ReplacePictureContent(ChannelID,RS, F_C, "
" & PageStr)
F_C = ReplaceRA(F_C, Trim(KS.C_C(RS("Tid"),4)))
Call FSOSaveFile(F_C, FilePathAndName)
Next
Else '图片播放器方式
F_C = TFileContent
If InStr(F_C, "[$GetCorrelativePicture(") <> 0 Then F_C = ReplaceLableFlag(Replace(F_C, "[$GetCorrelativePicture(", "{$GetCorrelativePicture("))
F_C = ReplacePictureContent(ChannelID,RS, F_C, GetPicturePlayer(PicUrlsArr,ChannelID))
F_C = ReplaceRA(F_C, Trim(KS.C_C(RS("Tid"),5))) '如果采用根相对路径,则替换绝对路径为根相对路径
Call FSOSaveFile(F_C, FilePathAndName)
End If
End Function
Function GetPicturePlayer(PicUrlsArr,ChannelID)
Dim I, TotalPictureNum,PictureIDArrayStr,ImageSrcArrayStr,ThumbSrcArrayStr
TotalPictureNum = UBound(PicUrlsArr) + 1
For I = 0 To TotalPictureNum - 1
PictureIDArrayStr = PictureIDArrayStr & "'" & Split(PicUrlsArr(I), "|")(0) & "',"
ImageSrcArrayStr = ImageSrcArrayStr & "'" & Split(PicUrlsArr(I), "|")(1) & "',"
ThumbSrcArrayStr=ThumbSrcArrayStr & "'" & Split(PicUrlsArr(I),"|")(2) &"',"
Next
PictureIDArrayStr = Left(PictureIDArrayStr, Len(PictureIDArrayStr) - 1)
ImageSrcArrayStr = Left(ImageSrcArrayStr, Len(ImageSrcArrayStr) - 1)
ThumbSrcArrayStr=left(ThumbSrcArrayStr,Len(ThumbSrcArrayStr)-1)
GetPicturePlayer = "" & vbCrLf
GetPicturePlayer = GetPicturePlayer & "" & vbCrLf
GetPicturePlayer = GetPicturePlayer & "
" & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & "
" & vbCrLf
GetPicturePlayer = GetPicturePlayer & "
" & vbCrLf
GetPicturePlayer = GetPicturePlayer & "
" & vbCrLf
GetPicturePlayer = GetPicturePlayer & "
" & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " 播放速度: " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " 快速 " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " 中速 " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " 慢速 " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & "
" & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & "
" & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & " " & vbCrLf
GetPicturePlayer = GetPicturePlayer & "
" & vbCrLf
End Function
'*********************************************************************************************************
'函数名:ReplacePictureContent
'作 用:替换图片内容页标签为内容
'参 数:RS Recordset数据集,FileContent待替换的内容,PictureContent图片内容
'*********************************************************************************************************
Function ReplacePictureContent(ChannelID,RS, F_C, PictureContent)
Dim TempStr, PhotoDir,N
On Error Resume Next
PhotoDir=DomainStr & KS.C_S(ChannelID,10)&"/"
If InStr(F_C, "{$GetPictureByPage}") <> 0 Then
' F_C = Replace(Replace(F_C, "{$GetPictureByPage}", FormatImg(PictureContent)), "{$GetPictureByPlayer}", "")
F_C = Replace(Replace(F_C, "{$GetPictureByPage}", PictureContent), "{$GetPictureByPlayer}", "")
Else
F_C = Replace(Replace(F_C, "{$GetPictureByPlayer}", PictureContent), "{$GetPictureByPage}", "")
End If
F_C = Replace(F_C, "{$GetPictureIntro}", KS.ReplaceInnerLink(RS("PictureContent")))
If InStr(F_C, "{$GetPictureAction}") <> 0 Then
TempStr = "【我来评论 】【我要收藏 】【关闭窗口 】"
F_C = Replace(F_C, "{$GetPictureAction}", TempStr)
End If
F_C = Replace(F_C, "{$ChannelID}", ChannelID)
F_C = Replace(F_C, "{$InfoID}", RS("ID"))
F_C = Replace(F_C, "{$ItemName}", KS.C_S(ChannelID,3))
F_C = Replace(F_C, "{$ItemUnit}", KS.C_S(ChannelID,4))
F_C = Replace(F_C, "{$GetPictureID}", RS("PicID"))
F_C = Replace(F_C, "{$GetPictureName}", RS("Title"))
F_C = Replace(F_C, "{$GetPictureUrl}", KS.GetInfoUrl(ChannelID,RS("Tid"),RS("ID"),RS("Fname"),RS("ReadPoint"),RS("InfoPurview"),0))
F_C = Replace(F_C, "{$GetPictureKeyWord}", Replace(RS("KeyWords"), "|", ","))
F_C = Replace(F_C, "{$GetKeyTags}",ReplaceKeyTags(ChannelID,RS("Keywords")))
F_C = ReplaceUserDefine(ChannelID,F_C,RS)
F_C = Replace(F_C, "{$GetPictureAuthor}", RS("Author"))
F_C = Replace(F_C, "{$GetPictureInput}", "" & rs("pictureinput") & " " )
F_C = Replace(F_C, "{$GetPictureSrc}", RS("PhotoUrl"))
If InStr(F_C, "{$GetPictureOrigin}") <> 0 Then
If Not IsNull(RS("Origin")) And Trim(RS("Origin")) <> "" Then
F_C = Replace(F_C, "{$GetPictureOrigin}", KS.GetOrigin(RS("Origin")))
Else
F_C = Replace(F_C, "{$GetPictureOrigin}", "本站原创")
End If
End If
'图片属性
If InStr(F_C, "{$GetPictureProperty}") <> 0 Then
TempStr = ""
If CInt(RS("Recommend")) = 1 Then
TempStr = TempStr & ("荐 ")
End If
If CInt(RS("Popular")) = 1 Then
TempStr = TempStr & ("热 ")
End If
If CInt(RS("Strip")) = 1 Then
TempStr = TempStr & ("头 ")
End If
If CInt(RS("Rolls")) = 1 Then
TempStr = TempStr & ("滚 ")
End If
If CInt(RS("Slide")) = 1 Then
TempStr = TempStr & ("幻 ")
End If
TempStr = TempStr & " " & Replace(RS("Rank"),"★"," ")
F_C = Replace(F_C, "{$GetPictureProperty}", TempStr)
End If
'图片得票数
F_C = Replace(F_C, "{$GetPictureVoteScore}", "")
F_C = Replace(F_C, "{$GetPictureVote}", "投它一票 ")
If InStr(F_C, "{$GetPictureHits}") <> 0 Then '总浏览数
F_C = Replace(F_C, "{$GetPictureHits}", "")
F_C = Replace(F_C, "{$GetPictureHitsByDay}", "")
F_C = Replace(F_C, "{$GetPictureHitsByWeek}", "")
F_C = Replace(F_C, "{$GetPictureHitsByMonth}", "")
ElseIf InStr(F_C, "{$GetPictureHitsByDay}") <> 0 Then '本日浏览数
F_C = Replace(F_C, "{$GetPictureHits}", "")
F_C = Replace(F_C, "{$GetPictureHitsByDay}", "")
F_C = Replace(F_C, "{$GetPictureHitsByWeek}", "")
F_C = Replace(F_C, "{$GetPictureHitsByMonth}", "")
ElseIf InStr(F_C, "{$GetPictureHitsByWeek}") <> 0 Then '本周浏览数
F_C = Replace(F_C, "{$GetPictureHits}", "")
F_C = Replace(F_C, "{$GetPictureHitsByDay}", "")
F_C = Replace(F_C, "{$GetPictureHitsByWeek}", "")
F_C = Replace(F_C, "{$GetPictureHitsByMonth}", "")
ElseIf InStr(F_C, "{$GetPictureHitsByMonth}") <> 0 Then '本月浏览数
F_C = Replace(F_C, "{$GetPictureHits}", "")
F_C = Replace(F_C, "{$GetPictureHitsByDay}", "")
F_C = Replace(F_C, "{$GetPictureHitsByWeek}", "")
F_C = Replace(F_C, "{$GetPictureHitsByMonth}", "")
End If
If InStr(F_C, "{$GetPictureDate}") <> 0 Then
F_C = Replace(F_C, "{$GetPictureDate}", KS.DateFormat(RS("AddDate"), 6))
End If
'当允许评论时,则显示评论
If InStr(F_C, "{$GetShowComment}") <> 0 And RS("Comment") = 1 Then
F_C = Replace(F_C,"{$GetShowComment}","
")
Else
F_C = Replace(F_C, "{$GetShowComment}", "")
End If
If InStr(F_C, "{$GetWriteComment}") <> 0 And RS("Comment") = 1 Then
F_C = Replace(F_C, "{$GetWriteComment}", "")
Else
F_C = Replace(F_C, "{$GetWriteComment}", "")
End If
If InStr(F_C, "{$GetPrevPicture}") <> 0 Then
F_C = Replace(F_C, "{$GetPrevPicture}", ReplacePrevNext(ChannelID,RS("Id"), RS("tid"), "<"))
End If
If InStr(F_C, "{$GetNextPicture}") <> 0 Then
F_C = Replace(F_C, "{$GetNextPicture}", ReplacePrevNext(ChannelID,RS("Id"), RS("tid"), ">"))
End If
ReplacePictureContent = F_C
End Function
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:RefreshDownLoadContent
'作 用:刷新下载内容页面
'参 数:RS Recordset数据集
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function RefreshDownLoadContent(RS,ChannelID)
Dim TFileContent, F_C, FilePath, FilePathAndName, FilePathAndNameTemp, Fname, FExt, TempFileContent,Flag
Application(KS.SiteSN & "RefreshType") = "DownLoadContent"
Application(KS.SiteSN & "RefreshFolderID") = RS("Tid")
Application(KS.SiteSN & "RefreshInfoID") = RS("ID")
Application(KS.SiteSN & "ChannelID")=ChannelID
TempFileContent = LoadTemplate(RS("TemplateID"))
TempFileContent = ReplaceAllLabel(TempFileContent)
If InStr(TempFileContent, "{$GetCorrelativeDownLoad(") <> 0 Then
TempFileContent = Replace(TempFileContent, "{$GetCorrelativeDownLoad(", "[$GetCorrelativeDownLoad(")
Flag = True
Else
Flag = False
End If
If Flag = True Then
TFileContent = ReplaceLableFlag(ReplaceGeneralLabelContent(TempFileContent))
ElseIf (RS("TemplateID") <> Application(KS.SiteSN & "RefreshTemplateID")) Or (Trim(RS("Tid")) <> Trim(Application("RefreshCurrTid"))) Or Application(KS.SiteSN & "RefreshTempFileContent") = "" Then
Application("RefreshCurrTid") = RS("Tid")
Application(KS.SiteSN & "RefreshTemplateID") = RS("TemplateId")
Application(KS.SiteSN & "RefreshTempFileContent") = ReplaceLableFlag(ReplaceGeneralLabelContent(TempFileContent)) '替换函数标签
TFileContent = Application(KS.SiteSN & "RefreshTempFileContent")
Else
TFileContent = Application(KS.SiteSN & "RefreshTempFileContent")
End If
FExt = Mid(Trim(RS("Fname")), InStrRev(Trim(RS("Fname")), ".")) '分离出扩展名
Fname = Replace(Trim(RS("Fname")), FExt, "") '分离出文件名 如 2005/9-10/1254ddd
FilePathAndNameTemp = Replace(KS.Setting(3) & KS.C_S(ChannelID,8),"//","/")& KS.C_C(RS("Tid"),2)
FilePathAndName = FilePathAndNameTemp & RS("Fname")
FilePath = Replace(FilePathAndName, Mid(FilePathAndName, InStrRev(FilePathAndName, "/")), "")
Call KS.CreateListFolder(FilePath)
F_C = TFileContent
If InStr(F_C, "[$GetCorrelativeDownLoad(") <> 0 Then F_C = ReplaceLableFlag(Replace(F_C, "[$GetCorrelativeDownLoad(", "{$GetCorrelativeDownLoad("))
F_C = ReplaceDownLoadContent(ChannelID,RS, F_C)
F_C = ReplaceRA(F_C, Trim(KS.C_C(RS("Tid"),4)))
Call FSOSaveFile(F_C, FilePathAndName)
End Function
'*********************************************************************************************************
'函数名:ReplaceDownLoadContent
'作 用:替换下载内容页标签为内容
'参 数:RS Recordset数据集,FileContent待替换的内容,DownContent图片内容
'*********************************************************************************************************
Function ReplaceDownLoadContent(ChannelID,RS, F_C)
Dim TempStr,Domain, DownLoadDir, s,YSDZ, ZCDZ,N
On Error Resume Next '容错代码
Domain = KS.GetDomain
DownLoadDir=DomainStr & KS.C_S(ChannelID,10)&"/"
Domain = Left(Domain, Len(Domain) - 1)
If InStr(F_C, "{$GetDownAction}") <> 0 Then
TempStr = "【我来评论 】【我要收藏 】【关闭窗口 】"
F_C = Replace(F_C, "{$GetDownAction}", TempStr)
End If
F_C=ReplaceUserDefine(ChannelID,F_C,RS)
F_C = Replace(F_C, "{$ChannelID}", ChannelID)
F_C = Replace(F_C, "{$InfoID}", RS("ID"))
F_C = Replace(F_C, "{$ItemName}", KS.C_S(ChannelID,3))
F_C = Replace(F_C, "{$ItemUnit}", KS.C_S(ChannelID,4))
F_C = Replace(F_C, "{$GetDownID}", RS("DownID"))
F_C = Replace(F_C, "{$GetDownKeyWord}", Replace(RS("KeyWords"), "|", ","))
F_C = Replace(F_C, "{$GetKeyTags}",ReplaceKeyTags(ChannelID,RS("Keywords")))
F_C = Replace(F_C, "{$GetDownTitle}", RS("Title") & " " & RS("DownVersion"))
F_C = Replace(F_C, "{$GetDownUrl}", KS.GetInfoUrl(ChannelID,RS("Tid"),RS("ID"),RS("Fname"),RS("ReadPoint"),RS("InfoPurview"),0))
F_C = Replace(F_C, "{$GetDownSystem}", RS("DownPT"))
F_C = Replace(F_C, "{$GetDownAuthor}", RS("Author"))
F_C = Replace(F_C, "{$GetDownSize}", RS("DownSize"))
F_C = Replace(F_C, "{$GetDownType}", RS("DownLB"))
F_C = Replace(F_C, "{$GetDownLanguage}", RS("DownYY"))
F_C = Replace(F_C, "{$GetDownPower}", RS("DownSQ"))
F_C = Replace(F_C, "{$GetDownStar}", Replace(RS("Rank"),"★"," "))
F_C = Replace(F_C, "{$GetDownDecPass}", RS("JYMM"))
F_C = Replace(F_C, "{$GetDownIntro}", KS.ReplaceInnerLink(RS("DownContent")))
If Not IsNull(RS("Origin")) And Trim(RS("Origin")) <> "" Then
F_C = Replace(F_C, "{$GetDownOrigin}", KS.GetOrigin(RS("Origin")))
Else
F_C = Replace(F_C, "{$GetDownOrigin}", "本站原创")
End If
'下载地址
If InStr(F_C, "{$GetDownAddress}") <> 0 Then
Dim UrlArr, I, TotalNum, AUrl, UrlStr
UrlArr = Split(RS("DownUrls"), "|||")
TotalNum = UBound(UrlArr)
For I = 0 To TotalNum
N=N+1
AUrl = Split(UrlArr(I), "|")
If AUrl(0)=0 Then
UrlStr = UrlStr & "" & AUrl(1) & " " & vbCrLf
If I<>TotalNum Then UrlStr = UrlStr & " " & vbCrLf
Else
Dim RS_S:Set RS_S=Server.CreateObject("ADODB.RecordSet")
RS_S.Open "Select DownloadName,IsDisp,DownloadPath,DownID,SelFont From KS_DownSer Where ParentID=" & AUrl(0),conn,1,1
If RS_S.Eof Then
If TotalNum=0 Then UrlStr="暂不提供下载地址 "
Else
DO While Not RS_S.Eof
IF RS_S(1)=1 Then
UrlStr = UrlStr & "" & RS_S(0) & " " & vbCrLf
Else
UrlStr = UrlStr & "" & RS_S(0) & " " & vbCrLf
End If
RS_S.MoveNext
IF Not RS_S.Eof Or I<>TotalNum Then UrlStr = UrlStr & " " & vbCrLf
Loop
End If
RS_S.Close:Set RS_S=Nothing
End If
Next
F_C = Replace(F_C, "{$GetDownAddress}", UrlStr)
End If
YSDZ = RS("YSDZ")
ZCDZ = RS("ZCDZ")
If InStr(F_C, "{$GetDownLink}") <> 0 Then
Dim LinkStr
If Not (LCase(YSDZ) = "http://" Or YSDZ = "") Then
LinkStr = "作者或开发商主页 "
End If
If Not (LCase(ZCDZ) = "http://" Or ZCDZ = "") Then
LinkStr = LinkStr & " 注册地址 "
End If
F_C = Replace(F_C, "{$GetDownLink}", LinkStr)
End If
If InStr(F_C, "{$GetDownYSDZ}") <> 0 Then
If LCase(YSDZ) = "http://" Or YSDZ = "" Then
F_C = Replace(F_C, "{$GetDownYSDZ}", "无")
Else
F_C = Replace(F_C, "{$GetDownYSDZ}", "" & RS("YSDZ") & " ")
End If
End If
If InStr(F_C, "{$GetDownZCDZ}") <> 0 Then
If LCase(ZCDZ) = "http://" Or ZCDZ = "" Then
F_C = Replace(F_C, "{$GetDownZCDZ}", "无")
Else
F_C = Replace(F_C, "{$GetDownZCDZ}", "" & RS("ZCDZ") & " ")
End If
End If
F_C = Replace(F_C, "{$GetDownInput}", "" & rs("downinput") & " " )
'下载缩略图(带参数)
If InStr(F_C, "{=GetDownPhoto") <> 0 Then
Dim HtmlLabel: HtmlLabel = KSLabel.GetFunctionLabel(F_C, "{=GetDownPhoto")
Dim HtmlLabelArr:HtmlLabelArr=Split(HtmlLabel,"@@@")
For I=0 To Ubound(HtmlLabelArr)
Dim Param: Param = KSLabel.GetFunctionLabelParam(HtmlLabelArr(I), "{=GetDownPhoto")
Dim LogoWidth: LogoWidth = Split(Param, ",")(0)
Dim LogoHeight: LogoHeight = Split(Param, ",")(1)
Dim PhotoUrl:PhotoUrl=RS("PhotoUrl")
If Not (IsNull(PhotoUrl) Or PhotoUrl = "") Then
F_C = Replace(F_C,HtmlLabelArr(I), "")
Else
F_C = Replace(F_C, HtmlLabelArr(I), "")
End If
Next
End If
'下载属性
If InStr(F_C, "{$GetDownProperty}") <> 0 Then
TempStr = ""
If CInt(RS("Recommend")) = 1 Then
TempStr = TempStr & ("荐 ")
End If
If CInt(RS("Popular")) = 1 Then
TempStr = TempStr & ("热 ")
End If
F_C = Replace(F_C, "{$GetDownProperty}", TempStr)
End If
If InStr(F_C, "{$GetDownHits}") <> 0 Then '总浏览数
F_C = Replace(F_C, "{$GetDownHits}", "")
F_C = Replace(F_C, "{$GetDownHitsByDay}", "")
F_C = Replace(F_C, "{$GetDownHitsByWeek}", "")
F_C = Replace(F_C, "{$GetDownHitsByMonth}", "")
ElseIf InStr(F_C, "{$GetDownHitsByDay}") <> 0 Then '本日浏览数
F_C = Replace(F_C, "{$GetDownHits}", "")
F_C = Replace(F_C, "{$GetDownHitsByDay}", "")
F_C = Replace(F_C, "{$GetDownHitsByWeek}", "")
F_C = Replace(F_C, "{$GetDownHitsByMonth}", "")
ElseIf InStr(F_C, "{$GetDownHitsByWeek}") <> 0 Then '本周浏览数
F_C = Replace(F_C, "{$GetDownHits}", "")
F_C = Replace(F_C, "{$GetDownHitsByDay}", "")
F_C = Replace(F_C, "{$GetDownHitsByWeek}", "")
F_C = Replace(F_C, "{$GetDownHitsByMonth}", "")
ElseIf InStr(F_C, "{$GetDownHitsByMonth}") <> 0 Then '本月浏览数
F_C = Replace(F_C, "{$GetDownHits}", "")
F_C = Replace(F_C, "{$GetDownHitsByDay}", "")
F_C = Replace(F_C, "{$GetDownHitsByWeek}", "")
F_C = Replace(F_C, "{$GetDownHitsByMonth}", "")
End If
If InStr(F_C, "{$GetDownDate}") <> 0 Then
F_C = Replace(F_C, "{$GetDownDate}", KS.DateFormat(RS("AddDate"), 6))
End If
'当允许评论时,则显示评论
If InStr(F_C, "{$GetShowComment}") <> 0 And RS("Comment") = 1 Then
F_C = Replace(F_C,"{$GetShowComment}","
")
Else
F_C = Replace(F_C, "{$GetShowComment}", "")
End If
If InStr(F_C, "{$GetWriteComment}") <> 0 And RS("Comment") = 1 Then
F_C = Replace(F_C, "{$GetWriteComment}", "")
Else
F_C = Replace(F_C, "{$GetWriteComment}", "")
End If
If InStr(F_C, "{$GetPrevDown}") <> 0 Then
F_C = Replace(F_C, "{$GetPrevDown}", ReplacePrevNext(ChannelID,RS("Id"), RS("tid"), "<"))
End If
If InStr(F_C, "{$GetNextDown}") <> 0 Then
F_C = Replace(F_C, "{$GetNextDown}", ReplacePrevNext(ChannelID,RS("Id"), RS("tid"), ">"))
End If
ReplaceDownLoadContent = F_C
End Function
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'函数名:RefreshProductContent
'作 用:刷新商品页页面
'参 数:RS Recordset数据集
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function RefreshProductContent(RS,ChannelID)
Dim TFileContent, F_C, FilePath, FilePathAndName, FilePathAndNameTemp,TempFileContent,Flag
Application(KS.SiteSN & "RefreshType") = "ProductContent"
Application(KS.SiteSN & "RefreshFolderID") = RS("Tid")
Application(KS.SiteSN & "RefreshInfoID") = RS("ID")
Application(KS.SiteSN & "ChannelID")=ChannelID
TempFileContent = LoadTemplate(RS("TemplateID"))
TempFileContent = ReplaceAllLabel(TempFileContent)
If (RS("TemplateID") <> Application(KS.SiteSN & "RefreshTemplateID")) Or (Trim(RS("Tid")) <> Trim(Application("RefreshCurrTid"))) Or Application(KS.SiteSN & "RefreshTempFileContent") = "" Then
Application("RefreshCurrTid") = RS("Tid")
Application(KS.SiteSN & "RefreshTemplateID") = RS("TemplateId")
Application(KS.SiteSN & "RefreshTempFileContent") = ReplaceLableFlag(ReplaceGeneralLabelContent(TempFileContent)) '替换函数标签
TFileContent = Application(KS.SiteSN & "RefreshTempFileContent")
Else
TFileContent = Application(KS.SiteSN & "RefreshTempFileContent")
End If
FilePathAndNameTemp = Replace(KS.Setting(3) & KS.C_S(ChannelID,8),"//","/")& KS.C_C(RS("Tid"),2)
FilePathAndName = FilePathAndNameTemp & RS("Fname")
FilePath = Replace(FilePathAndName, Mid(FilePathAndName, InStrRev(FilePathAndName, "/")), "")
Call KS.CreateListFolder(FilePath)
F_C = TFileContent
F_C = ReplaceProductContent(ChannelID,RS, F_C)
F_C = ReplaceRA(F_C, Trim(KS.C_C(RS("Tid"),4)))
Call FSOSaveFile(F_C, FilePathAndName)
End Function
'*********************************************************************************************************
'函数名:ReplaceProductContent
'作 用:替换内容页标签为内容
'参 数:RS Recordset数据集,FileContent待替换的内容
'*********************************************************************************************************
Function ReplaceProductContent(ChannelID,RS, F_C)
Dim TempStr, ShopDir,N
On Error Resume Next
ShopDir = DomainStr & KS.C_S(ChannelID,10) & "/"
F_C = Replace(F_C, "{$GetProductIntro}", KS.ReplaceInnerLink(RS("ProIntro")))
F_C = Replace(F_C, "{$ChannelID}", ChannelID)
F_C = Replace(F_C, "{$InfoID}", RS("ID"))
F_C = Replace(F_C, "{$ItemName}", KS.C_S(ChannelID,3))
F_C = Replace(F_C, "{$ItemUnit}", KS.C_S(ChannelID,4))
F_C = Replace(F_C, "{$GetProductID}", RS("ProID"))
F_C = Replace(F_C, "{$GetProductName}", RS("Title"))
F_C = Replace(F_C, "{$GetProductUrl}", KS.GetInfoUrl(ChannelID,RS("Tid"),RS("ID"),RS("Fname"),0,0,0))
F_C = Replace(F_C, "{$GetProductModel}", RS("ProModel"))
F_C = Replace(F_C, "{$GetProductSpecificat}", RS("ProSpecificat"))
F_C = Replace(F_C, "{$GetProducerName}", RS("ProducerName"))
F_C = Replace(F_C, "{$GetTrademarkName}", RS("TrademarkName"))
F_C = Replace(F_C, "{$GetServiceTerm}", RS("ServiceTerm"))
F_C = Replace(F_C, "{$GetProductType}", GetProductType(RS("ProductType")))
F_C = Replace(F_C, "{$GetRank}",Replace(RS("Rank"),"★"," "))
F_C = Replace(F_C, "{$GetTotalNum}",RS("TotalNum"))
F_C = Replace(F_C, "{$GetProductUnit}", RS("Unit"))
F_C = Replace(F_C, "{$GetProductHits}", "")
F_C = Replace(F_C, "{$GetProductDate}", KS.DateFormat(RS("AddDate"), 6))
F_C = Replace(F_C, "{$GetPrice_Market}", RS("Price_Market"))
F_C = Replace(F_C, "{$GetPrice}", RS("Price"))
F_C = Replace(F_C, "{$GetPrice_Member}", RS("Price_Member"))
F_C = Replace(F_C, "{$GetPrice_Original}", RS("Price_Original"))
If RS("ProductType")=3 Then
F_C = Replace(F_C, "{$GetDiscount}", RS("Discount"))
Else
F_C = Replace(F_C, "{$GetDiscount}", "")
End If
F_C = Replace(F_C, "{$GetScore}", RS("Point"))
F_C = Replace(F_C, "{$GetAddCar}", " ")
F_C = Replace(F_C, "{$GetAddFav}", " ")
F_C = Replace(F_C, "{$GetProductKeyWord}", Replace(RS("KeyWords"), "|", ","))
F_C = Replace(F_C, "{$GetKeyTags}",ReplaceKeyTags(ChannelID,RS("Keywords")))
F_C = Replace(F_C, "{$GetProductPhotoURL}",RS("BigPhoto"))
F_C=ReplaceUserDefine(ChannelID,F_C,RS)
If InStr(F_C, "{=GetProductPhoto") <> 0 Then
Dim I,HtmlLabel: HtmlLabel = KSLabel.GetFunctionLabel(F_C, "{=GetProductPhoto")
Dim HtmlLabelArr:HtmlLabelArr=Split(HtmlLabel,"@@@")
Dim PhotoUrl:PhotoUrl=RS("BigPhoto")
For I=0 To Ubound(HtmlLabelArr)
Dim Param: Param = KSLabel.GetFunctionLabelParam(HtmlLabelArr(I), "{=GetProductPhoto")
Dim LogoWidth: LogoWidth = Split(Param, ",")(0)
Dim LogoHeight: LogoHeight = Split(Param, ",")(1)
If Not (IsNull(PhotoUrl) Or PhotoUrl = "") Then
Dim TempBigPhoto:TempBigPhoto=PhotoUrl
If lcase(left(TempBigPhoto,4))<>"http" Then
if left(TempBigPhoto,1)="/" then TempBigPhoto=right(TempBigPhoto,len(TempBigPhoto)-1)
TempBigPhoto=DomainStr & TempBigPhoto
end if
F_C = Replace(F_C,HtmlLabelArr(I), "")
Else
F_C = Replace(F_C, HtmlLabelArr(I), "")
End If
Next
End If
'商品属性
If InStr(F_C, "{$GetProductProperty}") <> 0 Then
TempStr = ""
If CInt(RS("Recommend")) = 1 Then TempStr = TempStr & ("荐 ")
If CInt(RS("Popular")) = 1 Then TempStr = TempStr & ("热 ")
If CInt(RS("IsSpecial")) = 1 Then TempStr = TempStr & ("特 ")
F_C = Replace(F_C, "{$GetProductProperty}", TempStr)
End If
'当允许评论时,则显示评论
If InStr(F_C, "{$GetShowComment}") <> 0 And RS("Comment")=1 Then
F_C = Replace(F_C,"{$GetShowComment}","
")
Else
F_C = Replace(F_C, "{$GetShowComment}", "")
End If
If InStr(F_C, "{$GetWriteComment}") <> 0 And RS("Comment")=1 Then
F_C = Replace(F_C, "{$GetWriteComment}", "")
Else
F_C = Replace(F_C, "{$GetWriteComment}", "")
End If
If InStr(F_C, "{$GetPrevProduct}") <> 0 Then
F_C = Replace(F_C, "{$GetPrevProduct}", ReplacePrevNext(ChannelID,RS("Id"), RS("tid"), "<"))
End If
If InStr(F_C, "{$GetNextProduct}") <> 0 Then
F_C = Replace(F_C, "{$GetNextProduct}", ReplacePrevNext(ChannelID,RS("Id"), RS("tid"), ">"))
End If
ReplaceProductContent = F_C
End Function
Function GetProductType(TypeID)
Select Case TypeID
Case 1:GetProductType="正常销售"
Case 2:GetProductType="涨价销售"
Case 3:GetProductType="降价销售"
End Select
End Function
'**************************************************
'函数名:Published
'作 用:取得发布时间及版权信息
'参 数:无
'**************************************************
Function Published()
On Error Resume Next
Published=vbcrlf &"" & vbcrlf
If SysVer = 0 Then
Published = Published & "" & vbCrLf
Else
Dim PublishInfo:PublishInfo = KS.Setting(15)
If PublishInfo <> "0" Then
Published = Published & "" & vbCrLf
End If
End If
End Function
'=================================================
'函数名:GetVote
'作 用:显示网站调查
'参 数:无
'=================================================
Function GetVote(VoteID)
dim sqlVote,rsVote,i
Dim Domain:Domain = KS.GetDomain
sqlVote="select * from KS_Vote where ID=" & VoteID & " Order By NewestTF Desc"
Set rsVote= conn.execute(sqlvote)
if rsVote.bof and rsVote.eof then
GetVote= " 没有任何调查"
else
GetVote=GetVote & "" & vbcrlf
GetVote=GetVote & "
"&vbcrlf
GetVote=GetVote & "
"&vbcrlf
end if
rsVote.close:set rsVote=nothing
End Function
'显示会员排行
Function GetTopUser(Num,MoreStr)
Dim Sql,I
Dim RSObj:Set RSObj=Conn.execute("Select Top " & Num &" UserID,UserName,LoginTimes From KS_User Order BY LoginTimes Desc,UserID Desc")
SQL = RSObj.GetRows(-1)
RSObj.Close : Set RSObj = Nothing
GetTopUser="" & vbcrlf
GetTopUser=GetTopUser & "名次 用户名 登录数 " & vbnewline
For i = 0 to UBound(SQL,2)
GetTopUser = GetTopUser & "" & i+1 & " " & SQL(1,i) & " " & SQL(2,I) & " " & vbnewline
Next
GetTopUser=GetTopUser & "" & MoreStr & " " & vbnewline
GetTopUser=GetTopUser & "
" & vbnewline
End Function
'替换频道专用标签
Function ReplaceChannelLabel(F_C)
on error resume next
If Application(KS.SiteSN & "RefreshFolderID")=0 Or Application(KS.SiteSN & "RefreshFolderID")="" Then ReplaceChannelLabel=F_C:Exit Function
Dim I,ClassBasicInfoArr,ClassDefineContentArr
F_C=Replace(F_C,"{$GetClassID}",Application(KS.SiteSN & "RefreshFolderID"))
F_C=Replace(F_C,"{$GetClassName}",KS.C_C(Application(KS.SiteSN & "RefreshFolderID"),1))
F_C=Replace(F_C,"{$GetClassUrl}",KS.GetFolderPath(Application(KS.SiteSN & "RefreshFolderID")))
ClassBasicInfoArr = Split(KS.C_C(Application(KS.SiteSN & "RefreshFolderID"),6),"||||")
ClassDefineContentArr= Split(KS.C_C(Application(KS.SiteSN & "RefreshFolderID"),7),"||||")
If IsArray(ClassBasicInfoArr) Then
F_C=Replace(F_C,"{$GetClassPic}"," ")
F_C=Replace(F_C,"{$GetClassIntro}",ClassBasicInfoArr(1))
F_C=Replace(F_C,"{$GetClass_Meta_KeyWord}",ClassBasicInfoArr(2))
F_C=Replace(F_C,"{$GetClass_Meta_Description}",ClassBasicInfoArr(3))
Else
F_C=Replace(F_C,"{$GetClassPic}","")
F_C=Replace(F_C,"{$GetClassIntro}","")
F_C=Replace(F_C,"{$GetClass_Meta_KeyWord}","")
F_C=Replace(F_C,"{$GetClass_Meta_Description}","")
End If
If IsArray(ClassDefineContentArr) Then
For I=1 To Ubound(ClassDefineContentArr)+1
F_C=Replace(F_C,"{$GetClassDefineContent" & I & "}",ClassDefineContentArr(I-1))
Next
For I=Ubound(ClassDefineContentArr)+2 To 20
F_C=Replace(F_C,"{$GetClassDefineContent" & I & "}","")
Next
Else
For I=1 To 20
F_C=Replace(F_C,"{$GetClassDefineContent" & I & "}","")
Next
End If
ReplaceChannelLabel=F_C
End Function
Function FormatImg(content)
dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern="(script)"
Content=re.Replace(Content,"script")
re.Pattern="]*src(=| )(.[^>]*)>"
Content=re.replace(Content," ")
set re = nothing
FormatImg = content
end function
'====================================================替换通用JS=============================================
Function ReplaceCommonJS(Content)
Content=Replace(Content,"{$JS_Time1}","")
Content=Replace(Content,"{$JS_Time2}","")
Content=Replace(Content,"{$JS_Time3}","")
Content=Replace(Content,"{$JS_Time4}","
")
Content=Replace(Content,"{$JS_Language}","")
Content=Replace(Content,"{$JS_Collection}","加入收藏 ")
Content=Replace(Content,"{$JS_HomePage}","设为首页 ")
Content=Replace(Content,"{$JS_ContactWebMaster}","联系站长 ")
Content=Replace(Content,"{$JS_NoSave}"," ")
Content=Replace(Content,"{$JS_GoBack}","返回上一页 ")
Content=Replace(Content,"{$JS_WindowClose}","关闭窗口 ")
Content=Replace(Content,"{$JS_NoIframe}","")
Content=Replace(Content,"{$JS_NoCopy}","")
Content=Replace(Content,"{$JS_DCRoll}","")
Dim HtmlLabel,Param
'替换对联广告(带参数)
If InStr(Content, "{=JS_Ad") <> 0 Then
HtmlLabel = KSLabel.GetFunctionLabel(Content, "{=JS_Ad")
Param = KSLabel.GetFunctionLabelParam(HtmlLabel, "{=JS_Ad")
Content = Replace(Content, HtmlLabel,"")
End If
'替换状态栏目打字效果(带参数)
If InStr(Content, "{=JS_Status1") <> 0 Then
HtmlLabel = KSLabel.GetFunctionLabel(Content, "{=JS_Status1")
Param = KSLabel.GetFunctionLabelParam(HtmlLabel, "{=JS_Status1")
Content = Replace(Content, HtmlLabel,"")
End If
'替换文字在状态栏上从右往左循环显示(带参数)
If InStr(Content, "{=JS_Status2") <> 0 Then
HtmlLabel = KSLabel.GetFunctionLabel(Content, "{=JS_Status2")
Param = KSLabel.GetFunctionLabelParam(HtmlLabel, "{=JS_Status2")
Content = Replace(Content, HtmlLabel,"")
End If
'替换文字在状态栏上打字之后移动消失(带参数)
If InStr(Content, "{=JS_Status3") <> 0 Then
HtmlLabel = KSLabel.GetFunctionLabel(Content, "{=JS_Status3")
Param = KSLabel.GetFunctionLabelParam(HtmlLabel, "{=JS_Status3")
Content = Replace(Content, HtmlLabel,"")
End If
ReplaceCommonJS=Content
End Function
'====================================================替换通用JS结束=============================================
End Class
%>
<%
Dim KSCls
Set KSCls = New SiteIndex
KSCls.Kesion()
Set KSCls = Nothing
Class SiteIndex
Private KS, KSR,Maps
Private Sub Class_Initialize()
If (Not Response.IsClientConnected)Then
Response.Clear
Response.End
End If
Set KS=New PublicCls
Set KSR = New Refresh
End Sub
Private Sub Class_Terminate()
Call CloseConn()
Set KS=Nothing
End Sub
Public Sub Kesion()
Dim FileContent
Dim MapTemplatePath:MapTemplatePath=KS.Setting(3) & KS.Setting(90) & "map.html" '模板地址
FileContent = KSR.LoadTemplate(MapTemplatePath)
Application(KS.SiteSN & "RefreshType") = "map" '设置刷新类型,以便取得当前位置导航等
Application(KS.SiteSN & "RefreshFolderID") = "0" '设置当前刷新目录ID 为"0" 以取得通用标签
FileContent=KSR.KSLabelReplaceAll(FileContent)
Call MapList()
FileContent=Replace(FileContent,"{$ShowMap}",Maps)
response.write FileContent
End Sub
Sub MapList()
IF Application(KS.SiteSN & "MapTree")="" Then
Dim RS,TreeStr,ID
Set RS=Server.CreateObject("ADODB.Recordset")
RS.Open ("select ID,FolderName from KS_Class A,KS_Channel B Where A.ChannelID=B.ChannelID And B.ChannelStatus=1 And tj=1 Order BY A.ChannelID, FolderOrder ASC"), Conn, 1, 1
Do While Not RS.EOF
ID = Trim(RS(0))
TreeStr = TreeStr & "" & KS.GetClassNP(rs(0))& " "
TreeStr = TreeStr & ReturnSubList(ID)
RS.MoveNext
Loop
RS.Close:Set RS = Nothing
Application(KS.SiteSN & "MapTree")=TreeStr
End If
Maps=Application(KS.SiteSN & "MapTree")
End Sub
Public Function ReturnSubList(ParentID)
Dim SubTypeList, SubRS, SpaceStr, k, Total,ID,TJ
Set SubRS = conn.execute("Select ID,FolderName,TJ from KS_Class Where TN='" & ParentID & "' Order BY FolderOrder ASC")
Do While Not SubRS.EOF
SpaceStr = ""
TJ = CInt(SubRS(2))
For k = 1 To TJ - 1
SpaceStr = SpaceStr & " "
Next
ID = Trim(SubRS(0))
SubTypeList = SubTypeList & SpaceStr & "·" & KS.GetClassNP(SubRS(0)) & " "
SubTypeList = SubTypeList & ReturnSubList(ID)
SubRS.MoveNext
Loop
SubRS.Close:Set SubRS = Nothing
ReturnSubList = SubTypeList
End Function
End Class
%>