1 28 29 package com.opencms.workplace; 30 31 import org.opencms.file.CmsFolder; 32 import org.opencms.file.CmsObject; 33 import org.opencms.file.CmsPropertyDefinition; 34 import org.opencms.file.CmsResource; 35 import org.opencms.file.types.CmsResourceTypeFolder; 36 import org.opencms.main.CmsException; 37 import org.opencms.main.OpenCms; 38 import org.opencms.workplace.CmsWorkplace; 39 40 import com.opencms.core.I_CmsSession; 41 import com.opencms.legacy.CmsXmlTemplateLoader; 42 43 import java.util.ArrayList ; 44 import java.util.Collections ; 45 import java.util.Hashtable ; 46 import java.util.List ; 47 48 58 59 public class CmsAdminHtmlGalleries extends CmsAdminGallery { 60 61 65 public String getGalleryPath() { 66 return CmsWorkplaceDefault.C_VFS_GALLERY_HTML; 67 } 68 69 78 public String getGalleryIconPath(CmsObject cms) throws CmsException { 79 CmsXmlWpConfigFile config = this.getConfigFile(cms); 80 return config.getWpPicturePath() + "ic_file_htmlgallery.gif"; 81 } 82 83 94 public byte[] getContent(CmsObject cms, String templateFile, String elementName, 95 Hashtable parameters, String templateSelector) throws CmsException { 96 97 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 98 CmsXmlWpTemplateFile xmlTemplateDocument = (CmsXmlWpTemplateFile)getOwnTemplateFile(cms, 99 templateFile, elementName, parameters, templateSelector); 100 101 String lasturl = getLastUrl(cms, parameters); 103 104 getInitial(session, parameters); 106 107 String foldername = getGalleryPath(cms, session, parameters); 109 CmsFolder thefolder = cms.readFolder(foldername); 110 111 if(foldername.equals(CmsWorkplaceDefault.C_VFS_GALLERY_HTML) && templateFile.endsWith("administration_head_htmlgalleries2")) { 113 xmlTemplateDocument = (CmsXmlWpTemplateFile)getOwnTemplateFile(cms, CmsWorkplace.VFS_PATH_WORKPLACE + "administration/htmlgallery/administration_head_htmlgalleries1", elementName, parameters, templateSelector); 115 } 116 117 try { 119 String parent = CmsResource.getParentFolder(cms.getSitePath(thefolder)); 120 if(foldername.startsWith(CmsWorkplaceDefault.C_VFS_GALLERY_HTML) && (parent.equals(CmsWorkplaceDefault.C_VFS_GALLERY_HTML)) && templateFile.endsWith("administration_head_htmlgalleries1")) { 121 xmlTemplateDocument = (CmsXmlWpTemplateFile)getOwnTemplateFile(cms, CmsWorkplace.VFS_PATH_WORKPLACE + "administration/htmlgallery/administration_head_htmlgalleries2", elementName, parameters, templateSelector); 123 } 124 } 125 catch(Exception e) {} 126 127 String action = (String )parameters.get("action"); 129 String title = (String )parameters.get("TITLE"); 131 if("new".equals(action)) { 132 String galleryname = (String )parameters.get("NAME"); 133 String group = (String )parameters.get("GROUP"); 134 if(galleryname != null && group != null && galleryname != "" && group != "") { 135 try { 138 139 141 String superfolder = getConfigFile(cms).getHtmlGalleryPath(); 143 CmsResource folder = cms.createResource(superfolder + galleryname, CmsResourceTypeFolder.RESOURCE_TYPE_ID); 144 if(title != null) { 145 cms.writeProperty(cms.getSitePath(folder), CmsPropertyDefinition.PROPERTY_TITLE, title); 146 } 147 182 try { 183 cms.unlockResource(cms.getSitePath(folder)); 184 } 185 catch (CmsException e) { 186 String parent = CmsResource.getParentFolder(cms.getSitePath(folder)); 187 cms.unlockResource(parent); 188 cms.unlockResource(cms.getSitePath(folder)); 189 190 } 191 } 192 catch(CmsException ex) { 193 xmlTemplateDocument.setData("ERRORDETAILS", CmsException.getStackTraceAsString(ex)); 194 templateSelector = "error"; 195 } 196 } 197 else { 198 templateSelector = "datamissing"; 199 } 200 } 201 202 else if ("snippet".equalsIgnoreCase(action)) { 203 if (foldername != null) { 204 String filename = (String ) parameters.get("NEUNAME"); 205 String pagetitle = (String ) parameters.get("NEUTITEL"); 206 String type = (String ) parameters.get("type"); 207 208 if (filename != null && !"".equals(filename)) { 209 211 List properties = null; 212 if (pagetitle != null) { 213 properties = new ArrayList (); 214 properties.add(new org.opencms.file.CmsProperty(CmsPropertyDefinition.PROPERTY_TITLE, pagetitle, null)); 215 } else { 216 properties = Collections.EMPTY_LIST; 217 } 218 219 int t = OpenCms.getResourceManager().getResourceType(type).getTypeId(); 220 cms.createResource(foldername + filename, t, new byte[0], properties); 221 } 222 } 223 } 224 225 xmlTemplateDocument.setData("link_value", foldername); 226 xmlTemplateDocument.setData("lasturl", lasturl); 227 xmlTemplateDocument.setData("galleryRootFolder", CmsWorkplaceDefault.C_VFS_GALLERY_HTML); 228 229 return startProcessing(cms, xmlTemplateDocument, elementName, parameters, 231 templateSelector); 232 } 233 } 234
| Popular Tags
|