Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 12 | Rev 31 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 12 Rev 18
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
-
 
2
 
-
 
3
import org.tela_botanica.client.image.ImageMediateur;
-
 
4
import org.tela_botanica.client.interfaces.iMediateur;
-
 
5
 
-
 
6
import com.google.gwt.core.client.JavaScriptObject;
-
 
7
import com.gwtext.client.core.UrlParam;
-
 
8
import com.gwtext.client.widgets.BoxComponent;
-
 
9
import com.gwtext.client.widgets.Component;
-
 
10
import com.gwtext.client.widgets.Container;
2
 
11
import com.gwtext.client.widgets.Panel;
-
 
12
import com.gwtext.client.widgets.Window;
-
 
13
import com.gwtext.client.widgets.event.WindowListener;
3
import com.gwtext.client.widgets.Window;
14
import com.gwtext.client.widgets.event.WindowListenerAdapter;
-
 
15
import com.gwtextux.client.widgets.upload.UploadDialog;
-
 
16
import com.gwtextux.client.widgets.upload.UploadDialogListener;
4
import com.gwtextux.client.widgets.upload.UploadDialog;
17
import com.gwtextux.client.widgets.upload.UploadDialogListenerAdapter;
5
 
18
 
6
 
19
 
7
/**
20
/**
8
 * DAO un peu particulier car il crée une fenetre d'upload différente 
21
 * DAO un peu particulier car il crée une fenetre d'upload différente 
9
 * suivant que le plugin Java est détecté ou non
22
 * suivant que le plugin Java est détecté ou non
10
 * 
23
 * 
11
 * 
24
 * 
12
 */
25
 */
13
public class ImageUploaderAsynchroneDAO {
26
public class ImageUploaderAsynchroneDAO {
-
 
27
	
-
 
28
	private static ImageMediateur iMediateur ;
-
 
29
	
-
 
30
	public void setIMediateur(ImageMediateur im)
-
 
31
	{
-
 
32
		iMediateur = im ;
14
	
33
	}
15
	
34
	
16
	private static void appelerUploadSimple()
35
	private static void appelerUploadSimple()
17
	{
36
	{
18
		
37
		
19
		 UploadDialog up = new UploadDialog("Upload simple de fichiers") ;
38
		 UploadDialog up = new UploadDialog("Upload simple de fichiers") ;
20
		 up.setUrl("jrest/InventoryImage"); 
39
		 up.setUrl("jrest/InventoryImage"); 
-
 
40
		 UrlParam id = new UrlParam("identifiant",iMediateur.getIdentifiant()) ;
-
 
41
		 UrlParam[] params = {id} ;
-
 
42
		 up.setBaseParams(params);
-
 
43
		 
-
 
44
		 up.addListener(new UploadDialogListenerAdapter() {
-
 
45
 
-
 
46
 
-
 
47
			public void onClose(Panel panel) {
-
 
48
				
-
 
49
				iMediateur.rafraichirToutesVues() ;			
-
 
50
			}		 
-
 
51
		 });
-
 
52
		 
21
		 up.show();
53
		 up.show();
-
 
54
		 
22
		 
55
		 
23
	}
56
	}
24
	
57
	
25
	private static void appelerUploadMultiple()
58
	private static void appelerUploadMultiple()
26
	{
59
	{
27
		final Window nPan = new Window("Upload multiple");
60
		final Window nPan = new Window("Upload multiple");
28
		nPan.setSize(640, 800);
61
		nPan.setSize(640, 800);
29
 
62
 
30
		final String applet = "<applet code=\"wjhk.jupload2.JUploadApplet\" archive=\"wjhk.jupload.jar\" alt=\"\" mayscript=\"\" height=\"770\" width=\"625\">";
63
		final String applet = "<applet code=\"wjhk.jupload2.JUploadApplet\" archive=\"wjhk.jupload.jar\" alt=\"\" mayscript=\"\" height=\"770\" width=\"625\">";
31
		final String paramPostTarget = "<param name=\"postURL\" value=\"jrest/InventoryImage/\">";
64
		final String paramPostTarget = "<param name=\"postURL\" value=\"jrest/InventoryImage/\">";
32
		final String paramUploadPolicy = "<param name=\"uploadPolicy\" value=\"PictureUploadPolicy\">";
65
		final String paramUploadPolicy = "<param name=\"uploadPolicy\" value=\"PictureUploadPolicy\">";
33
		final String paramMaxChunkSize = "<param name=\"maxChunkSize\" value=\"0\">";
66
		final String paramMaxChunkSize = "<param name=\"maxChunkSize\" value=\"0\">";
34
		final String paramMaxFileSize = "<param name=\"maxFileSize\" value=\"10000000\">";
67
		final String paramMaxFileSize = "<param name=\"maxFileSize\" value=\"10000000\">";
35
		final String paramMaxPicHeight = "<param name=\"maxPicHeight\" value=\"1200\">" ;
-
 
36
		final String paramMaxPicWidth = "<param name=\"maxPicWidth\" value=\"1600\">" ;
-
 
37
		final String paramTransmitMetaData = "<param name=\"pictureTransmitMetadata\" value=\"true\">";
68
		final String paramTransmitMetaData = "<param name=\"pictureTransmitMetadata\" value=\"true\">";
38
		final String paramFilesPerRequest = "<param name=\"nbFilesPerRequest\" value=\"1\">";
69
		final String paramFilesPerRequest = "<param name=\"nbFilesPerRequest\" value=\"1\">";
39
		final String paramAllowedExtensions = "<param name=\"allowedFileExtensions\" value=\"jpg/jpeg/\">";
70
		final String paramAllowedExtensions = "<param name=\"allowedFileExtensions\" value=\"jpg/jpeg/\">";
40
		final String paramUploadSuccess = "<param name=\"stringUploadSuccess\" value=\"OK\">" ;
71
		final String paramUploadSuccess = "<param name=\"stringUploadSuccess\" value=\"OK\">" ;
41
		final String paramShowLogWindow = "<param name=\"showLogWindow\" value=\"false\">";
72
		final String paramShowLogWindow = "<param name=\"showLogWindow\" value=\"false\">";
-
 
73
		final String paramFormdata = "<param name=\"formData\" value=\"postid\">" ;
42
		final String finApplet = "</applet>";
74
		final String finApplet = "</applet>";
43
 
75
 
44
		final String appelApplet = applet 
76
		final String appelApplet = applet 
45
				+ paramPostTarget
77
				+ paramPostTarget
46
				+ paramUploadPolicy 
78
				+ paramUploadPolicy 
47
				+ paramMaxChunkSize
79
				+ paramMaxChunkSize
48
				+ paramMaxFileSize
80
				+ paramMaxFileSize
49
				+ paramMaxPicHeight
-
 
50
				+ paramMaxPicWidth
-
 
51
				+ paramTransmitMetaData 
81
				+ paramTransmitMetaData 
52
				+ paramFilesPerRequest
82
				+ paramFilesPerRequest
53
				+ paramAllowedExtensions
83
				+ paramAllowedExtensions
54
				+ paramUploadSuccess
84
				+ paramUploadSuccess
55
				+ paramShowLogWindow 
85
				+ paramShowLogWindow 
-
 
86
				+paramFormdata
56
				+ finApplet;
87
				+ finApplet;
-
 
88
		
-
 
89
		final String htmlForm = 
-
 
90
			"<form method=\"post\" name=\"postid\">"
-
 
91
			+"<input type=\"hidden\" name=\"identifiant\" value=\""+iMediateur.getIdentifiant()+"\">"
-
 
92
			+"</form>" ;
57
 
93
 
-
 
94
		nPan.setHtml(appelApplet+htmlForm);
-
 
95
		
-
 
96
		nPan.addListener(new WindowListenerAdapter() {
-
 
97
 
-
 
98
 
-
 
99
			public void onClose(Panel panel) {
-
 
100
				
-
 
101
				iMediateur.rafraichirToutesVues() ;
-
 
102
				
-
 
103
			}
-
 
104
			
-
 
105
			
-
 
106
		});
58
		nPan.setHtml(appelApplet);
107
		
59
		nPan.show();
108
		nPan.show();
60
	}
109
	}
61
	
110
	
62
	public static native void choisirMethodeUpload() /*-{
111
	public static native void choisirMethodeUpload() /*-{
63
	  
112
	  
64
	  	var agt=navigator.userAgent.toLowerCase();
113
	  	var agt=navigator.userAgent.toLowerCase();
65
		var ie  = (agt.indexOf("msie") != -1);
114
		var ie  = (agt.indexOf("msie") != -1);
66
		var ns  = (navigator.appName.indexOf("Netscape") != -1);
115
		var ns  = (navigator.appName.indexOf("Netscape") != -1);
67
		var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
116
		var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
68
		var mac = (agt.indexOf("mac")!=-1);
117
		var mac = (agt.indexOf("mac")!=-1);
69
		
118
		
70
		function detectIE(ClassID,name) { result = false; document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCRIPT>\n'); if (result) return name+','; else return ''; }
119
		function detectIE(ClassID,name) { result = false; document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCRIPT>\n'); if (result) return name+','; else return ''; }
71
		function detectNS(ClassID,name) { n = ""; if (nse.indexOf(ClassID) != -1) if (navigator.mimeTypes[ClassID].enabledPlugin != null) n = name+","; return n; }
120
		function detectNS(ClassID,name) { n = ""; if (nse.indexOf(ClassID) != -1) if (navigator.mimeTypes[ClassID].enabledPlugin != null) n = name+","; return n; }
72
		
121
		
73
		if (ie && win) {	pluginlist = detectIE("Adobe.SVGCtl","SVG Viewer") + detectIE("SWCtl.SWCtl.1","Shockwave Director") + detectIE("ShockwaveFlash.ShockwaveFlash.1","Shockwave Flash") + detectIE("rmocx.RealPlayer G2 Control.1","RealPlayer") + detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime") + detectIE("MediaPlayer.MediaPlayer.1","Windows Media Player") + detectIE("PDF.PdfCtrl.5","Acrobat Reader"); }
122
		if (ie && win) {	pluginlist = detectIE("Adobe.SVGCtl","SVG Viewer") + detectIE("SWCtl.SWCtl.1","Shockwave Director") + detectIE("ShockwaveFlash.ShockwaveFlash.1","Shockwave Flash") + detectIE("rmocx.RealPlayer G2 Control.1","RealPlayer") + detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime") + detectIE("MediaPlayer.MediaPlayer.1","Windows Media Player") + detectIE("PDF.PdfCtrl.5","Acrobat Reader"); }
74
		if (ns || !win) {
123
		if (ns || !win) {
75
				nse = ""; for (var i=0;i<navigator.mimeTypes.length;i++) nse += navigator.mimeTypes[i].type.toLowerCase();
124
				nse = ""; for (var i=0;i<navigator.mimeTypes.length;i++) nse += navigator.mimeTypes[i].type.toLowerCase();
76
				pluginlist = detectNS("image/svg-xml","SVG Viewer") + detectNS("application/x-director","Shockwave Director") + detectNS("application/x-shockwave-flash","Shockwave Flash") + detectNS("audio/x-pn-realaudio-plugin","RealPlayer") + detectNS("video/quicktime","QuickTime") + detectNS("application/x-mplayer2","Windows Media Player") + detectNS("application/pdf","Acrobat Reader");
125
				pluginlist = detectNS("image/svg-xml","SVG Viewer") + detectNS("application/x-director","Shockwave Director") + detectNS("application/x-shockwave-flash","Shockwave Flash") + detectNS("audio/x-pn-realaudio-plugin","RealPlayer") + detectNS("video/quicktime","QuickTime") + detectNS("application/x-mplayer2","Windows Media Player") + detectNS("application/pdf","Acrobat Reader");
77
		}
126
		}
78
		
127
		
79
		pluginlist += navigator.javaEnabled() ? "Java," : "";
128
		pluginlist += navigator.javaEnabled() ? "Java," : "";
80
		if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);
129
		if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);
81
	  
130
	  
82
	  if(pluginlist.indexOf("Java")!=-1)
131
	  if(pluginlist.indexOf("Java")!=-1)
83
	  {
132
	  {
84
	  	@org.tela_botanica.client.modeles.ImageUploaderAsynchroneDAO::appelerUploadMultiple()() ;
133
	  	@org.tela_botanica.client.modeles.ImageUploaderAsynchroneDAO::appelerUploadMultiple()() ;
85
	  }
134
	  }
86
	  else
135
	  else
87
	  {
136
	  {
88
	  	@org.tela_botanica.client.modeles.ImageUploaderAsynchroneDAO::appelerUploadSimple()() ;
137
	  	@org.tela_botanica.client.modeles.ImageUploaderAsynchroneDAO::appelerUploadSimple()() ;
89
	  }
138
	  }
90
	  
139
	  
91
	}-*/;
140
	}-*/;
92
 
141
 
93
}
142
}