1import se.datadosen.jalbum.JAFilter; 2import se.datadosen.jalbum.*; 3import se.datadosen.util.*; 4import java.text.*; 5 6String skinVersion=(new SkinProperties(skinDirectory).getProperty(SkinProperties.VERSION)); 7String styleName=style.substring(0,style.indexOf(".")); 8String lang=Config.getConfig().getInterpretedLanguage(); 9 10ZoomFilter zoom = new ZoomFilter(); 11zoom.setZoomPercent(10); 12engine.addFilter(zoom, JAFilter.THUMBNAILS_PRESCALE_STAGE); 13 14FixedShapeFilter fixed = new FixedShapeFilter(); 15engine.addFilter(fixed, JAFilter.THUMBNAILS_PRESCALE_STAGE); 16 17String getBreadcrumbPath(File dir, String prefix, int level) { 18 StringBuffer sb = new StringBuffer(); 19 if(level>0) 20 sb.append(getBreadcrumbPath(dir.getParentFile(), prefix + "../", level-1) + " » "); 21 sb.append("<a href=\""+((prefix.length()>0)? (prefix+engine.getIndexPageName()+engine.getPageExtension()):indexPage)+"\">"+((level>0)? dir.getName():album.get("rootName"))+"</a>"); 22 return sb.toString(); 23} 24 25boolean isEmpty(Object obj) { 26 return obj==null || obj.toString().trim().equals(""); 27} 28 29String getText(String name) { 30 String text=""; 31 try { text = texts.getString(name); 32 } catch (MissingResourceException e) {} 33 return text; 34} 35 36String getMeta(String key) { 37 if(meta==null) return null; 38 String[] keys=key.split("\\|"); 39 String label; 40 Object val; 41 for(String name : keys) { 42 name=name.trim(); 43 if(name.charAt(0)=='#') return null; 44 if((val=current.get(name))!=null) 45 val=val.toString(); 46 if(((val!=null)&&val.length()>0&&!val.equals(" x ")) || (val=meta.get(name))!=null || (val=meta.get("Iptc." + name))!=null || 47 (val=meta.get("Xmp." + name))!=null || (val=meta.get("Windows XP " + name))!=null) { 48 val=val.toString().replaceAll("\"",""").replaceAll("'","'"); 49 if(showMetaLabel) { 50 label=getText(name); 51 return "<b>"+(isEmpty(label)? name:label)+"</b> "+val; 52 } 53 else 54 return val; 55 } 56 } 57 return null; 58} 59 60String getMetas() { 61 if((iconPath!=void && iconPath!=null)||meta==void||meta==null||metadata.length()==0) return null; 62 StringBuffer sb=new StringBuffer(1024); 63 String key, val; 64 String[] metaFields=metadata.split("[,;]"); 65 for(String key : metaFields) { 66 key=key.trim(); 67 if((val=getMeta(key))!=null) { 68 if(sb.length()>0) sb.append("<br/>"); 69 sb.append(val); 70 } 71 } 72 return sb.toString(); 73} 74 75String audioExt=".mp3.wma"; 76String imageExt=".jpg.gif.png"; 77String videoExt=".flv.mp4.wmv.avi.mov.swf"; 78 79Boolean isAudio(String s) { 80 int i; 81 if((i=s.lastIndexOf("."))!=-1) 82 return audioExt.indexOf(s.substring(i).toLowerCase())>=0; 83 else 84 return false; 85} 86Boolean isImage(String s) { 87 int i; 88 if((i=s.lastIndexOf("."))!=-1) 89 return imageExt.indexOf(s.substring(i).toLowerCase())>=0; 90 else 91 return false; 92} 93Boolean isVideo(String s) { 94 int i; 95 if((i=s.lastIndexOf("."))!=-1) 96 return videoExt.indexOf(s.substring(i).toLowerCase())>=0; 97 else 98 return false; 99} 100String getMoviePath(s) { 101 return s.replace('.','_')+engine.getPageExtension(); 102} 103Boolean processVideo() { 104 File template=new File(skinDirectory, "originalmovie.htt"); 105 String s; 106 if(template.exists()) { 107 s=getMoviePath(fileName); 108 try { 109 engine.processTemplateFile(template, new File(outputDirectory, s)); 110 return true; 111 } 112 catch (IOException e) { 113 log("Error opening originalmovie.htt", e); 114 } 115 catch (ElementException e) { 116 log("Syntax error in originalmovie.htt", e); 117 } 118 } 119 return false; 120}