| |
<%
' Written by Kenneth Padgett / IT Lifesaver for mortoons.com
' Date: April 2004, last updated 08-25-2005
' Email: kenneth@itlifesaver.com
' Description: Displays a directory of images and their thumbnails
' Notes: ADO used for sorting and future database
Const cPicsPerRow = 4
Const cPicsPerPage = 12
Dim iTotalPics, iTotalPages, iCurPage, iCurPic, iShowCount
Dim sView, sPrev, sPageNav, sNext
Dim bFind
Dim objFSO, objFolder, objItem, objFile
Dim recFiles
Const adVarChar = 200
Const adInteger = 3
Const adDate = 7
Dim i
Dim sArchivePath
sArchivePath = Server.MapPath(".\archived\")
iCurPage = CInt(Request.QueryString("page"))
If iCurPage = 0 Then
iCurPage = 1
End If
sView = Request.QueryString("view")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(sArchivePath)
Set recFiles = Server.CreateObject("ADODB.Recordset")
recFiles.Fields.Append "name", adVarChar, 255
recFiles.Fields.Append "subtext", adVarChar, 255
recFiles.Fields.Append "size", adInteger
recFiles.Fields.Append "date", adDate
recFiles.Fields.Append "type", adVarChar, 255
recFiles.Open
iTotalPics = 0
For Each objItem in objFolder.Files
If (right(lcase(objItem.Name),10) = "_thumb.gif") Then
iTotalPics = iTotalPics + 1
recFiles.AddNew
recFiles.Fields("name").Value = objItem.Name
recFiles.Fields("subtext").Value = mid(objItem.Name,5,2) & "." & mid(objItem.Name,7,2) & "." & left(objItem.Name,4)
recFiles.Fields("size").Value = objItem.Size
recFiles.Fields("date").Value = objItem.DateCreated
recFiles.Fields("type").Value = objItem.Type
End If
Next
Set objItem = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
' number of pages in archives
If (iTotalPics / cPicsPerPage) = (int(iTotalPics / cPicsPerPage)) Then
iTotalPages = int(iTotalPics / cPicsPerPage)
Else
iTotalPages = int(iTotalPics / cPicsPerPage) + 1
End If
'response.write "iTotalPics: " & iTotalPics & " " & _
' "iTotalPages: " & iTotalPages & " "
recFiles.Sort = "name DESC" ' size ASC, date DESC, field_name ASC
recFiles.MoveFirst
iCurPic = 0
Set objFile = CreateObject("Scripting.FileSystemObject")
If trim(sView) <> "" Then
bFind = True
While bFind and not recFiles.EOF
If left(recFiles.Fields("name"),8) = sView then
If objFile.FileExists(sArchivePath & "\" & replace(lcase(recFiles.Fields("name")),"_thumb","_large")) Then
%>
" onclick="MM_openBrWindow('popup.asp?view=<%=replace(lcase(recFiles.Fields("name")),"_thumb","_large")%>','','width=620,height=500');return false">
" border="0">
<%=recFiles.Fields("subtext")%> |
<%
Else
%>
" border="0">
<%=recFiles.Fields("subtext")%> |
<%
End If
bFind = False
Else
sPrev = "<- Previous"
iCurPic = iCurPic + 1
End If
recFiles.MoveNext
Wend
sPageNav = " Return to Page " & (int(iCurPic / cPicsPerPage) + 1) & ""
If not recFiles.EOF then
sNext = "Next ->"
End If
Else
recFiles.Move (cPicsPerPage * (iCurPage - 1)) ' move to first pic on this page
iShowCount = 0
While iShowCount < cPicsPerPage and not recFiles.EOF
'sTemp = Replace(recFiles.Fields("name"), " ", "%20")
%>
">
" border="0">
<%=recFiles.Fields("subtext")%>
|
<%
iCurPic = iCurPic + 1
If iCurPic = cPicsPerRow Then
Response.write " "
iCurPic = 0
End if
iShowCount = iShowCount + 1
recFiles.MoveNext
Wend
If iCurPage > 1 Then
sPrev = "<- Previous"
End If
If iTotalPages > 1 Then
For i = 1 to iTotalPages
If i = iCurPage Then
sPageNav = sPageNav & " " & CStr(i)
Else
sPageNav = sPageNav & " " & i & ""
End If
Next
End If
If iCurPage < iTotalPages then
sNext = "Next ->"
End If
End If ' end sView <> ""
Set objFile = nothing
recFiles.Close
Set recFiles = nothing
%>
<%
Response.Write sPrev & sPageNav & " " & sNext
%>
please click on image to view a larger, more detailed version
|