1 28 29 package com.opencms.workplace; 30 31 import org.opencms.file.CmsObject; 32 import org.opencms.file.CmsProject; 33 import org.opencms.main.CmsException; 34 import org.opencms.main.CmsLog; 35 import org.opencms.report.A_CmsReportThread; 36 import org.opencms.workplace.threads.CmsProjectDeleteThread; 37 38 import com.opencms.core.I_CmsSession; 39 import com.opencms.legacy.CmsXmlTemplateLoader; 40 41 import java.util.Hashtable ; 42 43 53 54 public class CmsAdminProjectDelete extends CmsWorkplaceDefault { 55 56 private final String C_DELETE_THREAD = "deleteprojectthread"; 57 58 69 70 public byte[] getContent(CmsObject cms, String templateFile, String elementName, Hashtable parameters, 71 String templateSelector) throws CmsException { 72 if(CmsLog.getLog(this).isDebugEnabled() && C_DEBUG) { 73 CmsLog.getLog(this).debug("Getting content of element " + ((elementName==null)?"<root>":elementName)); 74 CmsLog.getLog(this).debug("Template file is: " + templateFile); 75 CmsLog.getLog(this).debug("Selected template section is: " + ((templateSelector==null)?"<default>":templateSelector)); 76 } 77 CmsXmlWpTemplateFile xmlTemplateDocument = (CmsXmlWpTemplateFile)getOwnTemplateFile(cms, 78 templateFile, elementName, parameters, templateSelector); 79 80 CmsProject project = null; 81 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 82 String action = (String )parameters.get("action"); 83 String projectId = (String )parameters.get("projectid"); 84 if(projectId == null || "".equals(projectId)){ 85 projectId = (String )session.getValue("delprojectid"); 86 } else { 87 session.putValue("delprojectid", projectId); 88 } 89 if(parameters.get("ok") != null) { 90 if(action == null){ 91 A_CmsReportThread doDelete = new CmsProjectDeleteThread(cms, Integer.parseInt(projectId)); 93 doDelete.start(); 94 session.putValue(C_DELETE_THREAD, doDelete); 95 xmlTemplateDocument.setData("time", "10"); 96 templateSelector = "wait"; 97 } else if("working".equals(action)) { 98 A_CmsReportThread doDelete = (A_CmsReportThread)session.getValue(C_DELETE_THREAD); 100 if(doDelete.isAlive()) { 101 String time = (String )parameters.get("time"); 102 int wert = Integer.parseInt(time); 103 wert += 2; 104 xmlTemplateDocument.setData("time", "" + wert); 105 templateSelector = "wait"; 106 } else { 107 Throwable error = doDelete.getError(); 109 if(error == null) { 110 templateSelector = "done"; 112 if (cms.getRequestContext().currentProject().getId() == CmsProject.ONLINE_PROJECT_ID) { 113 xmlTemplateDocument.setData("onlineId", "" + CmsProject.ONLINE_PROJECT_ID); 115 xmlTemplateDocument.setData("switchjavascript", xmlTemplateDocument.getProcessedDataValue("switchheadproject")); 116 } else { 117 xmlTemplateDocument.setData("switchjavascript", xmlTemplateDocument.getProcessedDataValue("dontswitchheadproject")); 119 } 120 session.removeValue("delprojectid"); 121 } else { 122 xmlTemplateDocument.setData("details", CmsException.getStackTraceAsString(error)); 124 templateSelector = "error"; 125 session.removeValue("delprojectid"); 126 } 127 } 128 } 129 } else { 130 project = cms.readProject(Integer.parseInt(projectId)); 132 133 if (project.getId() == cms.getRequestContext().currentProject().getId()) { 135 cms.getRequestContext().setCurrentProject(cms.readProject(CmsProject.ONLINE_PROJECT_ID)); 136 } 137 138 CmsXmlLanguageFile lang = xmlTemplateDocument.getLanguageFile(); 139 CmsProjectlist.setListEntryData(cms, lang, xmlTemplateDocument, project); 140 141 } 143 return startProcessing(cms, xmlTemplateDocument, elementName, parameters, 144 templateSelector); 145 } 146 147 157 158 public boolean isCacheable(CmsObject cms, String templateFile, String elementName, 159 Hashtable parameters, String templateSelector) { 160 return false; 161 } 162 } 163
| Popular Tags
|