package is.idega.idegaweb.golf.block.image.presentation; import is.idega.idegaweb.golf.block.image.business.ImageBusiness; import is.idega.idegaweb.golf.block.image.business.ImageProperties; import is.idega.idegaweb.golf.block.image.business.SimpleImage; import java.sql.Connection; import java.sql.SQLException; import com.idega.presentation.IWContext; import com.idega.presentation.Image; import com.idega.presentation.PresentationObject; import com.idega.presentation.Table; import com.idega.presentation.ui.FileInput; import com.idega.presentation.ui.Form; import com.idega.presentation.ui.SubmitButton; import com.idega.presentation.ui.Window; /** * Title: * Description: * Copyright: Copyright (c) 2000-2001 idega.is All Rights Reserved * Company: idega *@author <a href="mailto:aron@idega.is">Aron Birkir</a> * @version 1.1 */ public class SimpleUploaderWindow extends Window implements SimpleImage{ String dataBaseType; private String sessImageParameter = "image_id"; Connection Conn = null; public SimpleUploaderWindow(){ } public void setSessionSaveParameterName(String prmName){ sessImageParameter = prmName; } public String getSessionSaveParameterName(){ return sessImageParameter; } public void checkParameterName(IWContext modinfo){ if(modinfo.getParameter(sessImageParameterName)!=null){ sessImageParameter = modinfo.getParameter(sessImageParameterName); modinfo.setSessionAttribute(sessImageParameterName,sessImageParameter); } else if(modinfo.getSessionAttribute(sessImageParameterName)!=null) sessImageParameter = (String) modinfo.getSessionAttribute(sessImageParameterName); //add(sessImageParameter); } public void main(IWContext modinfo){ checkParameterName(modinfo); this.setBackgroundColor("white"); this.setTitle("Idega Uploader"); control(modinfo); } public void control(IWContext modinfo){ //add(sessImageParameter); String sContentType = modinfo.getRequest().getContentType(); if(sContentType !=null && sContentType.indexOf("multipart")!=-1){ //add(sContentType); add(parse(modinfo)); } else{ if(modinfo.getParameter("save")!=null){ save(modinfo); } else add(getMultiForm(modinfo)); } } public Form getMultiForm(IWContext modinfo){ Form f = new Form(); f.setMultiPart(); String s = modinfo.getRequestURI()+"?"+com.idega.presentation.Page.IW_FRAME_CLASS_PARAMETER+"="+com.idega.idegaweb.IWMainApplication.getEncryptedClassName(this.getClass()); f.setAction(s); add(s); f.add(new FileInput()); f.add(new SubmitButton()); return f; } public PresentationObject parse(IWContext modinfo){ ImageProperties ip = null; try { ip = ImageBusiness.doUpload(modinfo); modinfo.setSessionAttribute("image_props",ip); } catch (Exception ex) { ex.printStackTrace(); } if(ip!=null){ Form form = new Form(); Table T = new Table(); T.add(new Image(ip.getWebPath()),1,1); T.add(new SubmitButton("save","Save"),1,2); T.add(new SubmitButton("newimage","New"),1,2); form.add(T); return form; } else{ return getMultiForm(modinfo); } } public void save(IWContext modinfo){ ImageProperties ip = null; if(modinfo.getSessionAttribute("image_props")!=null){ ip = (ImageProperties) modinfo.getSessionAttribute("image_props"); modinfo.removeSessionAttribute("image_props"); } if(ip !=null){ int i = ImageBusiness.SaveImage(ip); modinfo.setSessionAttribute(sessImageParameter,String.valueOf(i)); setParentToReload(); try { add(new GolfImage(i)); } catch (SQLException ex) { } } } }