1 28 29 package com.opencms.workplace; 30 31 import org.opencms.file.CmsObject; 32 import org.opencms.main.CmsException; 33 import org.opencms.main.CmsLog; 34 35 import com.opencms.core.I_CmsSession; 36 import com.opencms.legacy.CmsXmlTemplateLoader; 37 38 import java.util.Hashtable ; 39 import java.util.Vector ; 40 41 48 public class CmsAdminModuleDeleteWarning extends CmsWorkplaceDefault { 49 50 53 private final String C_READY = "ready"; 54 private final String C_WINCONTENT = "windowcontent"; 55 private final String C_FILELISTENTRY = "filelist_entry"; 56 private final String C_FILENAME = "filename"; 57 private final String C_W_TITLE = "windowtitle"; 58 private final String C_W_TEXT = "windowtext"; 59 private final String C_CBENTRY = "checkbox_entry"; 60 private final String C_STEP_0 = "0"; 61 private final String C_STEP_CHECKSUM_2 = "checksum_2"; 62 private final String C_STEP_PROPFILES_1 = "propfiles_1"; 63 private final String C_STEP_PROPFILES_2 = "propjiles_2"; 64 private final String C_STEP_INUSE = "inuse"; 65 private final String C_STEP_MISSFILES = "missfiles"; 66 67 78 public byte[] getContent(CmsObject cms, String templateFile, String elementName, Hashtable parameters, String templateSelector) throws CmsException { 79 if(CmsLog.getLog(this).isDebugEnabled() && C_DEBUG) { 80 CmsLog.getLog(this).debug("Getting content of element " + ((elementName==null)?"<root>":elementName)); 81 CmsLog.getLog(this).debug("Template file is: " + templateFile); 82 CmsLog.getLog(this).debug("Selected template section is: " + ((templateSelector==null)?"<default>":templateSelector)); 83 } 84 CmsXmlWpTemplateFile xmlTemplateDocument = new CmsXmlWpTemplateFile(cms, templateFile); 85 CmsXmlLanguageFile lang = xmlTemplateDocument.getLanguageFile(); 86 87 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 90 String step = (String )session.getValue(CmsWorkplaceDefault.C_SESSION_MODULE_DELETE_STEP); 91 if(step != null) { 92 if(C_STEP_0.equals(step)) { 93 94 Vector files = (Vector )session.getValue(CmsWorkplaceDefault.C_SESSION_MODULE_CHECKSUM); 96 if(files.isEmpty()) { 97 step = C_STEP_PROPFILES_1; 98 } 99 else { 100 101 xmlTemplateDocument.setData(C_W_TITLE, lang.getLanguageValue("module.error.deletetitle")); 103 xmlTemplateDocument.setData(C_W_TEXT, lang.getLanguageValue("module.error.deletetext1")); 104 String output = ""; 105 for(int i = 0;i < files.size();i++) { 106 xmlTemplateDocument.setData(C_FILENAME, (String )files.elementAt(i)); 107 output += xmlTemplateDocument.getProcessedDataValue(C_CBENTRY); 108 } 109 xmlTemplateDocument.setData(C_WINCONTENT, output); 110 session.putValue(CmsWorkplaceDefault.C_SESSION_MODULE_DELETE_STEP, C_STEP_CHECKSUM_2); 111 } 112 } 113 if(C_STEP_CHECKSUM_2.equals(step)) { 114 115 Vector files = (Vector )session.getValue(CmsWorkplaceDefault.C_SESSION_MODULE_CHECKSUM); 117 Vector outFiles = new Vector (); 118 for(int i = 0;i < files.size();i++) { 119 String file = (String )files.elementAt(i); 120 String test = (String )parameters.get(file); 121 if(test == null) { 122 outFiles.addElement(file); 123 } 124 } 125 session.putValue(CmsWorkplaceDefault.C_SESSION_MODULE_EXCLUSION, outFiles); 126 step = C_STEP_PROPFILES_1; 127 } 128 if(C_STEP_PROPFILES_1.equals(step)) { 129 130 Vector files = (Vector )session.getValue(CmsWorkplaceDefault.C_SESSION_MODULE_PROPFILES); 132 if(files.isEmpty()) { 133 step = C_STEP_INUSE; 134 } 135 else { 136 137 xmlTemplateDocument.setData(C_W_TITLE, lang.getLanguageValue("module.error.deletetitle")); 139 xmlTemplateDocument.setData(C_W_TEXT, lang.getLanguageValue("module.error.deletetext2")); 140 String output = ""; 141 for(int i = 0;i < files.size();i++) { 142 xmlTemplateDocument.setData(C_FILENAME, (String )files.elementAt(i)); 143 output += xmlTemplateDocument.getProcessedDataValue(C_CBENTRY); 144 } 145 xmlTemplateDocument.setData(C_WINCONTENT, output); 146 session.putValue(CmsWorkplaceDefault.C_SESSION_MODULE_DELETE_STEP, C_STEP_PROPFILES_2); 147 } 148 } 149 if(C_STEP_PROPFILES_2.equals(step)) { 150 151 Vector files = (Vector )session.getValue(CmsWorkplaceDefault.C_SESSION_MODULE_PROPFILES); 154 Vector outFiles = (Vector )session.getValue(CmsWorkplaceDefault.C_SESSION_MODULE_EXCLUSION); 155 if(outFiles == null) { 156 outFiles = new Vector (); 157 } 158 for(int i = 0;i < files.size();i++) { 159 String file = (String )files.elementAt(i); 160 String test = (String )parameters.get(file); 161 if(test == null) { 162 outFiles.addElement(file); 163 } 164 } 165 session.putValue(CmsWorkplaceDefault.C_SESSION_MODULE_EXCLUSION, outFiles); 166 step = C_STEP_INUSE; 167 } 168 if(C_STEP_INUSE.equals(step)) { 169 170 Vector files = (Vector )session.getValue(CmsWorkplaceDefault.C_SESSION_MODULE_INUSE); 172 if(files.isEmpty()) { 173 step = C_STEP_MISSFILES; 174 } 175 else { 176 xmlTemplateDocument.setData(C_W_TITLE, lang.getLanguageValue("module.error.deletetitle")); 177 xmlTemplateDocument.setData(C_W_TEXT, lang.getLanguageValue("module.error.deletetext3")); 178 String output = ""; 179 for(int i = 0;i < files.size();i++) { 180 xmlTemplateDocument.setData(C_FILENAME, (String )files.elementAt(i)); 181 output += xmlTemplateDocument.getProcessedDataValue(C_FILELISTENTRY); 182 } 183 xmlTemplateDocument.setData(C_WINCONTENT, output); 184 session.putValue(CmsWorkplaceDefault.C_SESSION_MODULE_DELETE_STEP, C_STEP_MISSFILES); 185 } 186 } 187 if(C_STEP_MISSFILES.equals(step)) { 188 189 Vector files = (Vector )session.getValue(CmsWorkplaceDefault.C_SESSION_MODULE_MISSFILES); 191 if(files.isEmpty()) { 192 templateSelector = C_READY; 193 } 194 else { 195 xmlTemplateDocument.setData(C_W_TITLE, lang.getLanguageValue("module.error.deletetitle")); 196 xmlTemplateDocument.setData(C_W_TEXT, lang.getLanguageValue("module.error.deletetext4")); 197 String output = ""; 198 for(int i = 0;i < files.size();i++) { 199 xmlTemplateDocument.setData(C_FILENAME, (String )files.elementAt(i)); 200 output += xmlTemplateDocument.getProcessedDataValue(C_FILELISTENTRY); 201 } 202 xmlTemplateDocument.setData(C_WINCONTENT, output); 203 session.putValue(CmsWorkplaceDefault.C_SESSION_MODULE_DELETE_STEP, C_READY); 204 } 205 } 206 if(C_READY.equals(step)) { 207 templateSelector = C_READY; 208 } 209 } 210 211 return startProcessing(cms, xmlTemplateDocument, elementName, parameters, templateSelector); 213 } 214 215 225 public boolean isCacheable(CmsObject cms, String templateFile, String elementName, Hashtable parameters, String templateSelector) { 226 return false; 227 } 228 } 229
| Popular Tags
|