package com.idega.block.image.presentation;
import java.sql.SQLException;
import com.idega.block.image.data.ImageEntity;
import com.idega.block.media.business.MediaBusiness;
import com.idega.presentation.IWContext;
import com.idega.presentation.Image;
import com.idega.presentation.PresentationObjectContainer;
import com.idega.presentation.Table;
import com.idega.presentation.text.Link;
import com.idega.presentation.text.Text;
/**
* 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 SimpleViewer extends PresentationObjectContainer{
public String prmImageView = "img_view_id";
public static final String prmAction = "img_view_action";
public static final String actSave = "save",actDelete = "delete",actConfirmDelete="conf_delete";
public static final String sessionSaveParameter = "img_id";
public static final String sessionParameter = "image_id";
public String sessImageParameterName = "im_image_session_name";
public String sessImageParameter = "image_id";
public void main(IWContext iwc){
//add("block.media");
String sImageId = getImageId(iwc);
String sAction = iwc.getParameter(prmAction);
if(sImageId != null){
//saveImageId(iwc,sImageId);
if(sAction != null){
if(sAction.equals(actSave)){
saveImageId(iwc,sImageId);
}
else if(sAction.equals(actDelete)){
ConfirmDeleteImage(sImageId,iwc);
}
else if(sAction.equals(actConfirmDelete)){
deleteImage( sImageId);
removeFromSession(iwc);
}
}
{
int id = Integer.parseInt(sImageId);
try {
ImageEntity ieImage = ((com.idega.block.image.data.ImageEntityHome)com.idega.data.IDOLookup.getHomeLegacy(ImageEntity.class)).findByPrimaryKeyLegacy(id);
Table T = new Table();
T.add(ieImage.getName(),1,1);
T.add(new Image(id),1,2);
add(T);
}
catch (SQLException ex) {
add("error");
}
}
}
}
public void checkParameterName(IWContext iwc){
if(iwc.getParameter(this.sessImageParameterName)!=null){
this.sessImageParameter = iwc.getParameter(this.sessImageParameterName);
iwc.setSessionAttribute(this.sessImageParameterName,this.sessImageParameter);
}
else if(iwc.getSessionAttribute(this.sessImageParameterName)!=null) {
this.sessImageParameter = (String) iwc.getSessionAttribute(this.sessImageParameterName);
}
}
public boolean deleteImage(String sImageId){
/*
Connection Conn = null;
try{
Conn = com.idega.util.database.ConnectionBroker.getConnection();
ResultSet RS;
Statement Stmt = Conn.createStatement();
int r = Stmt.executeUpdate("DELETE FROM IMAGE_IMAGE_CATAGORY WHERE IMAGE_ID = "+sImageId);
Stmt.close();
}
catch(SQLException ex){
ex.printStackTrace();
}
finally{
if(Conn != null)
com.idega.util.database.ConnectionBroker.freeConnection(Conn);
}
*/
try {
int iImageId = Integer.parseInt(sImageId);
((com.idega.block.image.data.ImageEntityHome)com.idega.data.IDOLookup.getHomeLegacy(ImageEntity.class)).findByPrimaryKeyLegacy(iImageId).delete();
return true;
}
catch (SQLException ex) {
ex.printStackTrace();
return false;
}
catch (NumberFormatException ex){
return false;
}
}
public void ConfirmDeleteImage(String sImageId,IWContext iwc){
Table T = new Table();
T.setWidth("100%");
T.setHeight("100%");
int id = Integer.parseInt(sImageId);
try {
ImageEntity ieImage = ((com.idega.block.image.data.ImageEntityHome)com.idega.data.IDOLookup.getHomeLegacy(ImageEntity.class)).findByPrimaryKeyLegacy(id);
Text warning = new Text("Are you sure ?");
warning.setFontSize(6);
warning.setFontColor("FF0000");
warning.setBold();
Image image = new Image(id);
image.setURL(MediaBusiness.getMediaURL(id,iwc.getIWMainApplication()));
T.setBackgroundImage(1,2,image);
T.add(ieImage.getName(),1,1);
T.add(warning,1,2);
T.setHeight(1,2,"100%");
T.setAlignment(1,2,"center");
Link confirm = new Link("delete");
confirm.addParameter(prmAction ,actConfirmDelete);
confirm.addParameter(this.sessImageParameter,sImageId);
T.add(confirm,1,3);
//T.add(new Image(id),1,2);
//add(T);
}
catch (SQLException ex) {
T.add("error");
}
add(T);
}
public String getImageId(IWContext iwc){
if(iwc.getParameter(this.sessImageParameterName)!=null) {
this.sessImageParameter = iwc.getParameter(this.sessImageParameterName);
}
else if(iwc.getSessionAttribute(this.sessImageParameterName)!=null){
this.sessImageParameter = (String) iwc.getSessionAttribute(this.sessImageParameterName);
}
//add(sessImageParameter);
String s = null;
if(iwc.getParameter(this.sessImageParameter)!=null){
s = iwc.getParameter(this.sessImageParameter);
iwc.setSessionAttribute(this.sessImageParameter+"_2",s);
}
else if(iwc.getSessionAttribute(this.sessImageParameter)!=null) {
s = (String) iwc.getSessionAttribute(this.sessImageParameter);
}
else if(iwc.getSessionAttribute(this.sessImageParameter+"_2")!=null) {
s = (String) iwc.getSessionAttribute(this.sessImageParameter+"_2");
}
//add(" " +s);
return s;
}
public void removeFromSession(IWContext iwc){
iwc.removeSessionAttribute(this.sessImageParameter);
}
public void saveImageId(IWContext iwc,String sImageId){
//System.err.println("SimpleViewer : "+sessImageParameter+" "+ sImageId);
iwc.setSessionAttribute(this.sessImageParameter,sImageId);
iwc.removeSessionAttribute(this.sessImageParameter+"_2");
//iwc.setSessionAttribute(sessImageParameter+"2",sImageId);
}
public void saveImage(IWContext iwc,String sImageId){
iwc.setSessionAttribute(sessionSaveParameter,sImageId);
}
}