<%@ CODEPAGE=65001 %>
<%
'本代码由 常州红金羚软件技术有限公司 创建
'创建时间:2016-10-15 15:27:18
'联系信息:手机：400-6655-868 QQ：15916190
'请勿修改下列任何代码,以保证程序正常运行

Dim YSSYYY,YSYSSS,YSYSSY,YSYSYS,YSYSYY
Set YSYSSY=Response:Set YSYSSS=Request:Set YSYSYY=Session:Set YSSYYY=Application:Set YSYSYS=Server
YSYSSY.CodePage= (23 * 34 - -64219)
YSYSSY.Charset=YYSYYY("&%u\g")
Const JSON_OBJECT	=0
Const JSON_ARRAY	=1
Class YSSSSSS
Public Collection
Public Count
Public QuotedVars
Public Kind
Private Sub Class_Initialize
Set Collection = CreateObject(YYSYYY("$4C:AE:?8]s:4E:@?2CJ"))
QuotedVars = True
Count = (63 * 52 - 3276)
End Sub
Private Sub Class_Terminate
Set Collection = Nothing
End Sub
Private Property Get YYYSSS
YYYSSS = Count
Count = Count + (55 * 64 - 3519)
End Property
Public Property Let YYYSSY(p, v)
If IsNull(p) Then p = YYYSSS
Collection(p) = v
End Property
Public Property Set YYYSSY(p, v)
If IsNull(p) Then p = YYYSSS
If TypeName(v) <> YYSYYY(";Dr@C6") Then
Err.Raise &hD, YYSYYY("4=2DDi ,4=2DD"), YYSYYY("x?4@>A2E:3=6 ,EJA6Di ,V") & TypeName(v) & YYSYYY("V")
End If
Set Collection(p) = v
End Property
Public Default Property Get YYYSSY(p)
If IsNull(p) Then p = Count - (55 * 64 - 3519)
If IsObject(Collection(p)) Then
Set YYYSSY = Collection(p)
Else
YYYSSY = Collection(p)
End If
End Property
Public Sub YYYYSY
Collection.RemoveAll
End Sub
Public Sub Remove(vProp)
Collection.Remove vProp
End Sub
Function YSYYSS(str)
Dim charmap(127), haystack()
charmap(8)  = YYSYYY("-3")
charmap(9)  = YYSYYY("-E")
charmap(10) = YYSYYY("-?")
charmap(12) = YYSYYY("-7")
charmap(13) = YYSYYY("-C")
charmap(34) = YYSYYY("-Q")
charmap(47) = YYSYYY("-^")
charmap(92) = YYSYYY("--")
Dim strlen : strlen = Len(str) - (55 * 64 - 3519)
ReDim haystack(strlen)
Dim i, charcode
For i = 0 To strlen
haystack(i) = Mid(str, i + 1, 1)
charcode = AscW(haystack(i)) And 65535
If charcode < 127 Then
If Not IsEmpty(charmap(charcode)) Then
haystack(i) = charmap(charcode)
ElseIf charcode < 32 Then
haystack(i) = YYSYYY("-F") & Right("000" & Hex(charcode), 4)
End If
Else
haystack(i) = YYSYYY("-F") & Right("000" & Hex(charcode), 4)
End If
Next
YSYYSS = Join(haystack, "")
End Function
Public Function toJSON(vPair)
Select Case VarType(vPair)
Case 0
toJSON = YYSYYY("?F==")
Case 1
toJSON = YYSYYY("?F==")
Case 7
toJSON = YYSYYY("Q") & CStr(vPair) & YYSYYY("Q")
Case 8
toJSON = YYSYYY("Q") & YSYYSS(vPair) & YYSYYY("Q")
Case 9
Dim bFI,i
bFI = True
If vPair.Kind Then toJSON = toJSON & YYSYYY(",") Else toJSON = toJSON & YYSYYY("L")
For Each i In vPair.Collection
If bFI Then bFI = False Else toJSON = toJSON & YYSYYY("[")
If vPair.Kind Then
toJSON = toJSON & toJSON(vPair(i))
Else
If QuotedVars Then
toJSON = toJSON & YYSYYY("Q") & i & YYSYYY("Qi") & toJSON(vPair(i))
Else
toJSON = toJSON & i & YYSYYY("i") & toJSON(vPair(i))
End If
End If
Next
If vPair.Kind Then toJSON = toJSON & YYSYYY(".") Else toJSON = toJSON & YYSYYY("N")
Case 11
If vPair Then toJSON = YYSYYY("ECF6") Else toJSON = YYSYYY("72=D6")
Case 12, 8192, 8204
toJSON = YSYYYS(vPair, 1, "")
Case Else
toJSON = Replace(vPair, YYSYYY("["), YYSYYY("]"))
End select
End Function
Function YSYYYS(arr, depth, parent)
Dim first : first = LBound(arr, depth)
Dim last : last = UBound(arr, depth)
Dim index, rendered
Dim limiter : limiter = YYSYYY("[")
YSYYYS = YYSYYY(",")
For index = first To last
If index = last Then
limiter = ""
End If
On Error Resume Next
rendered = YSYYYS(arr, depth + 1, parent & index & YYSYYY("[") )
If Err = 9 Then
On Error GoTo 0
YSYYYS = YSYYYS & toJSON(Eval(YYSYYY("2CCW") & parent & index & YYSYYY("X"))) & limiter
Else
YSYYYS = YSYYYS & rendered & "" & limiter
End If
Next
YSYYYS = YSYYYS & YYSYYY(".")
End Function
Public Property Get YYYSYS
YYYSYS = toJSON(Me)
End Property
Sub Flush
If TypeName(YSYSSY) <> YYSYYY("t>AEJ") Then
YSYSSY.Write(YYYSYS)
ElseIf WScript <> Empty Then
WScript.Echo(YYYSYS)
End If
End Sub
Public Function YSYYYY
Set YSYYYY = YYSSSS(Me)
End Function
Private Function YYSSSS(core)
Dim jsc, i
Set jsc = new YSSSSSS
jsc.Kind = core.Kind
For Each i In core.Collection
If IsObject(core(i)) Then
Set jsc(i) = YYSSSS(core(i))
Else
jsc(i) = core(i)
End If
Next
Set YYSSSS = jsc
End Function
End Class
Function YYSSSY
Set YYSSSY = new YSSSSSS
YYSSSY.Kind = JSON_OBJECT
End Function
Function YYSSYS
Set YYSSYS = new YSSSSSS
YYSSYS.Kind = JSON_ARRAY
End Function
Function toJSON(val)
toJSON = (new YSSSSSS).toJSON(val)
End Function
Dim aspUrl, rootPath, rootUrl, fileTypes
Dim currentPath, currentUrl, currentDirPath, moveupDirPath
Dim path, order, dirName, fso, folder, dir, file, result
Dim fileExt, dirCount, fileCount, orderIndex, i, j
Dim dirList(), fileList(), isDir, hasFile, filesize, isPhoto, filetype, filename, datetime
aspUrl = YSYSSS.ServerVariables(YYSYYY("$r#x!%0}p|t"))
aspUrl = left(aspUrl, InStrRev(aspUrl, YYSYYY("^")))
rootPath = YYSYYY("]]^]]^FA=@25^")
rootUrl = aspUrl & YYSYYY("]]^]]^FA=@25^")
fileTypes = YYSYYY("8:7[;A8[;A68[A?8[3>A")
currentPath = ""
currentUrl = ""
currentDirPath = ""
moveupDirPath = ""
Set fso = YSYSYS.CreateObject(YYSYYY("$4C:AE:?8]u:=6$JDE6>~3;64E"))
dirName = YSYSSS.QueryString(YYSYYY("5:C"))
If Not isEmpty(dirName) Then
If instr(lcase(YYSYYY(":>286[7=2D9[>65:2[7:=6")), dirName) < 1 Then
YSYSSY.Write YYSYYY("x?G2=:5 ,s:C64E@CJ ,?2>6]")
YSYSSY.End
End If
rootPath = rootPath & dirName & YYSYYY("^")
rootUrl = rootUrl & dirName & YYSYYY("^")
If Not fso.FolderExists(YSYSYS.mappath(rootPath)) Then
fso.CreateFolder(YSYSYS.mappath(rootPath))
End If
End If
path = YSYSSS.QueryString(YYSYYY("A2E9"))
If path = "" Then
currentPath = YSYSYS.MapPath(rootPath) & YYSYYY("-")
currentUrl = rootUrl
currentDirPath = ""
moveupDirPath = ""
Else
currentPath = YSYSYS.MapPath(rootPath & path) & YYSYYY("-")
currentUrl = rootUrl + path
currentDirPath = path
moveupDirPath = YYSYSY(currentDirPath, YYSYYY("W]YnX,/-^.Z-^S"), YYSYYY("S`"))
End If
Set folder = fso.GetFolder(currentPath)
order = lcase(YSYSSS.QueryString(YYSYYY("@C56C")))
Select Case order
Case YYSYYY("EJA6") orderIndex = (18 * 74 - 1328)
Case YYSYYY("D:K6") orderIndex = (23 * 107 - 2459)
Case Else  orderIndex = (35 * 101 - 3530)
End Select
If YYSYSS(path, YYSYYY("-]-]")) Then
YSYSSY.Write YYSYYY("p446DD ,:D ,?@E ,2==@H65]")
YSYSSY.End
End If
If path <> "" And Not YYSYSS(path, YYSYYY("-^S")) Then
YSYSSY.Write YYSYYY("!2C2>6E6C ,:D ,?@E ,2==@H65]")
YSYSSY.End
End If
If Not YYSSYY(currentPath) Then
YSYSSY.Write YYSYYY("s:C64E@CJ ,5@6D ,?@E ,6I:DE]")
YSYSSY.End
End If
Set result = YYSSSY()
result(YYSYYY(">@G6FA05:C0A2E9")) = moveupDirPath
result(YYSYYY("4FCC6?E05:C0A2E9")) = currentDirPath
result(YYSYYY("4FCC6?E0FC=")) = currentUrl
dirCount = folder.SubFolders.count
fileCount = folder.Files.count
result(YYSYYY("E@E2=04@F?E")) = dirCount + fileCount
ReDim dirList(dirCount)
i = (63 * 52 - 3276)
For Each dir in folder.SubFolders
isDir = True
hasFile = (dir.Files.count > 0)
filesize = (63 * 52 - 3276)
isPhoto = False
filetype = ""
filename = dir.name
datetime = YYSYYS(dir.DateLastModified)
dirList(i) = Array(isDir, hasFile, filesize, isPhoto, filetype, filename, datetime)
i = i + (55 * 64 - 3519)
Next
ReDim fileList(fileCount)
i = (63 * 52 - 3276)
For Each file in folder.Files
fileExt = lcase(mid(file.name, InStrRev(file.name, YYSYYY("]")) + 1))
isDir = False
hasFile = False
filesize = file.size
isPhoto = (instr(lcase(fileTypes), fileExt) > 0)
filetype = fileExt
filename = file.name
datetime = YYSYYS(file.DateLastModified)
fileList(i) = Array(isDir, hasFile, filesize, isPhoto, filetype, filename, datetime)
i = i + (55 * 64 - 3519)
Next
Dim minidx, temp
For i = 0 To dirCount - (23 * 107 - 2459)
minidx = i
For j = i + 1 To dirCount - (55 * 64 - 3519)
If (dirList(minidx)(5) > dirList(j)(5)) Then
minidx = j
End If
Next
If minidx <> i Then
temp = dirList(minidx)
dirList(minidx) = dirList(i)
dirList(i) = temp
End If
Next
For i = 0 To fileCount - (23 * 107 - 2459)
minidx = i
For j = i + 1 To fileCount - (55 * 64 - 3519)
If (fileList(minidx)(orderIndex) > fileList(j)(orderIndex)) Then
minidx = j
End If
Next
If minidx <> i Then
temp = fileList(minidx)
fileList(minidx) = fileList(i)
fileList(i) = temp
End If
Next
Set result(YYSYYY("7:=60=:DE")) = YYSSYS()
For i = 0 To dirCount - (55 * 64 - 3519)
Set result(YYSYYY("7:=60=:DE"))(Null) = YYSSSY()
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY(":D05:C")) = dirList(i)(0)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY("92D07:=6")) = dirList(i)(1)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY("7:=6D:K6")) = dirList(i)(2)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY(":D0A9@E@")) = dirList(i)(3)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY("7:=6EJA6")) = dirList(i)(4)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY("7:=6?2>6")) = dirList(i)(5)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY("52E6E:>6")) = dirList(i)(6)
Next
For i = 0 To fileCount - (55 * 64 - 3519)
Set result(YYSYYY("7:=60=:DE"))(Null) = YYSSSY()
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY(":D05:C")) = fileList(i)(0)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY("92D07:=6")) = fileList(i)(1)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY("7:=6D:K6")) = fileList(i)(2)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY(":D0A9@E@")) = fileList(i)(3)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY("7:=6EJA6")) = fileList(i)(4)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY("7:=6?2>6")) = fileList(i)(5)
result(YYSYYY("7:=60=:DE"))(Null)(YYSYYY("52E6E:>6")) = fileList(i)(6)
Next
YSYSSY.AddHeader YYSYYY("r@?E6?E\%JA6"), YYSYYY("E6IE^9E>=j ,492CD6El&%u\g")
result.Flush
YSYSSY.End
Function YYSSYY(dirPath)
Dim fso
Set fso = YSYSYS.CreateObject(YYSYYY("$4C:AE:?8]u:=6$JDE6>~3;64E"))
YYSSYY = fso.FolderExists(dirPath)
End Function
Function YYSYSS(subject, pattern)
Dim reg
Set reg = New RegExp
reg.Global = True
reg.MultiLine = True
reg.Pattern = pattern
YYSYSS = reg.Test(subject)
End Function
Function YYSYSY(subject, pattern, replacement)
Dim reg
Set reg = New RegExp
reg.Global = True
reg.MultiLine = True
reg.Pattern = pattern
YYSYSY = reg.Replace(subject, replacement)
End Function
Public Function YYSYYS(datetime)
Dim y, m, d, h, i, s
y = CStr(Year(datetime))
m = CStr(Month(datetime))
If Len(m) = 1 Then m = "0" & m
d = CStr(Day(datetime))
If Len(d) = 1 Then d = "0" & d
h = CStr(Hour(datetime))
If Len(h) = 1 Then h = "0" & h
i = CStr(Minute(datetime))
If Len(i) = 1 Then i = "0" & i
s = CStr(Second(datetime))
If Len(s) = 1 Then s = "0" & s
YYSYYS = y & YYSYYY("\") & m & YYSYYY("\") & d & YYSYYY(" ,") & h & YYSYYY("i") & i & YYSYYY("i") & s
End Function
Function YYSYYY(ByVal c)
Dim v, i, n
c = Replace(c, Chr(37) & ChrW(-243) & Chr(62), Chr(37) & Chr(62))
For i = 1 To Len(c)
If i <> n Then
v = AscW(Mid(c, i, 1))
If v >= 33 And v <= 79 Then
YYSYYY = YYSYYY & Chr(v + 47)
ElseIf v >= 80 And v <= 126 Then
YYSYYY = YYSYYY & Chr(v - 47)
Else
n = i + 1
If Mid(c, n, 1) = YYSYYY("o") Then YYSYYY = YYSYYY & ChrW(v + 5) Else YYSYYY = YYSYYY & Mid(c, i, 1)
End If
End If
Next
End Function
%>