<% ' 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 %> <% Else %> <% 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") %> <% 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 %>
" onclick="MM_openBrWindow('popup.asp?view=<%=replace(lcase(recFiles.Fields("name")),"_thumb","_large")%>','','width=620,height=500');return false"> " border="0">
<%=recFiles.Fields("subtext")%>
" border="0">
<%=recFiles.Fields("subtext")%>
"> " border="0">

<%=recFiles.Fields("subtext")%>

<% Response.Write sPrev & sPageNav & " " & sNext %>  
please click on image to view a larger, more detailed version