Blog Archives

slideshowpro dynamic images xml file output with classic asp

outputxml() 

'--------------------------------
'generates xml file with some static info and some dynamic for use by slideshowpro
'in slideshowpro simply replace images.xml with the name of this file
'--------------------------------

sub outputxml()
Response.ContentType = "text/xml"

outputxmlheader()
outputxmlbody()
outputxmlfooter()
end sub

sub outputxmlheader()
Response.Write("<?xml version=""1.0"" encoding=""UTF-8""?>")
Response.Write("<gallery title=""My Photos"" description="""">")
end sub

sub outputxmlfooter()
Response.Write("</gallery>")
end sub

sub outputxmlbody()
call outputalbumandfiles(Server.MapPath("/myphotos/img/20121031event"),"a1","2012 Event A","Event A Description.","img/20121031event/","ico/eventa.jpg")

call outputalbumandfiles(Server.MapPath("/companyphotos/img/20121120event"),"a2","2012 Event B","Event B Description.","img/20121120event/","ico/eventb.jpg")
end sub

sub outputalbumandfiles(path,id,title,description,lgpath,tn)
Response.Write("<album id=""" & id & """ title=""" & title & """ description=""" & description & """ lgPath=""" & lgpath & """ tn=""" & tn & """>")

set fs = CreateObject("Scripting.FileSystemObject")
    set folder = fs.GetFolder(path)
	
	for each item in folder.Files
	 if FilterExtensions(item.Name) then
	 Response.Write("<img src=""" & item.Name & """ target=""_blank"" />")
		 end if
     next

	 'TODO: set objects = nothing
Response.Write("</album>")
end sub
   
'filter out .db files and any other files you do not want to slideshowpro to load
'alternative you can reverse the logic to allow only jpg, png etc
   function FilterExtensions(fn)
FilterExtensions=true
   a_ext = Array(".db",".db") 'place additional extensions here 
   for each ext in a_ext
      i = InStrRev(fn,ext)
   if i>0 then
   FilterExtensions=false
   next
   end function

References
http://support.microsoft.com/kb/301244