1 31 32 package com.opencms.workplace; 33 34 import org.opencms.file.CmsObject; 35 import org.opencms.file.CmsResource; 36 import org.opencms.main.CmsException; 37 import org.opencms.security.CmsPermissionSet; 38 39 import com.opencms.core.I_CmsSession; 40 import com.opencms.legacy.CmsXmlTemplateLoader; 41 42 import java.util.ArrayList ; 43 import java.util.Hashtable ; 44 import java.util.List ; 45 import java.util.StringTokenizer ; 46 import java.util.Vector ; 47 48 59 public abstract class A_CmsGalleryBrowser extends CmsWorkplaceDefault { 60 61 79 public Integer getGalleryNames(CmsObject cms, String galleryPath, CmsXmlLanguageFile lang, Vector names, Vector values, Hashtable parameters) throws CmsException { 80 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 81 String ident = ""; 82 int ret = -1; 83 String chosenFolder = (String ) parameters.get(CmsWorkplaceDefault.C_PARA_FOLDER); 85 if (chosenFolder == null) { 86 chosenFolder = (String ) session.getValue(CmsWorkplaceDefault.C_PARA_FOLDER); 87 } 88 if (chosenFolder == null) { 89 chosenFolder = ""; 90 } 91 List folders = getGallerySubFolders(cms, new ArrayList (), galleryPath); 92 int numFolders = folders.size(); 93 for (int i = 0; i < numFolders; i++) { 94 CmsResource currFolder = (CmsResource) folders.get(i); 95 ident = ""; 96 String name = currFolder.getName(); 97 if (chosenFolder.equals(currFolder.getRootPath())) { 98 ret = i; 99 } 100 StringTokenizer tokenizer = new StringTokenizer (currFolder.getRootPath(), "/"); 101 for (int j = 0; j < (tokenizer.countTokens() - 4); j++) { 102 ident = ident + "-"; 103 } 104 values.addElement(currFolder.getRootPath()); 105 names.addElement(ident + name); 106 } 107 return new Integer (ret); 108 } 109 110 119 protected List getGallerySubFolders(CmsObject cms, List folders, String foldername) throws CmsException { 120 List tempFolders = cms.getSubFolders(foldername); 121 for (int i = 0; i < tempFolders.size(); i++) { 122 CmsResource currFolder = (CmsResource) tempFolders.get(i); 123 if (this.checkAccess(cms, currFolder)) { 124 folders.add(tempFolders.get(i)); 125 } 126 getGallerySubFolders(cms, folders, currFolder.getRootPath()); 127 } 128 return folders; 129 } 130 131 139 protected boolean checkAccess(CmsObject cms, CmsResource res) throws CmsException { 140 return cms.hasPermissions(res, CmsPermissionSet.ACCESS_VIEW); 141 } 142 143 150 protected boolean inFilter(String filename, String filter) { 151 String compareName = filename.toLowerCase(); 152 String compareFilter = filter.toLowerCase(); 153 154 return ("".equals(compareFilter) || (compareName.indexOf(compareFilter) != -1)); 155 } 156 157 } 158
| Popular Tags
|