1 |
package org.tela_botanica.client.modeles;
|
1 |
package org.tela_botanica.client.modeles;
|
2 |
|
2 |
|
3 |
import org.tela_botanica.client.image.ImageMediateur;
|
3 |
import org.tela_botanica.client.image.ImageMediateur;
|
4 |
import org.tela_botanica.client.interfaces.iMediateur;
|
4 |
import org.tela_botanica.client.interfaces.iMediateur;
|
5 |
|
5 |
|
6 |
import com.google.gwt.core.client.JavaScriptObject;
|
6 |
import com.google.gwt.core.client.JavaScriptObject;
|
7 |
import com.gwtext.client.core.UrlParam;
|
7 |
import com.gwtext.client.core.UrlParam;
|
8 |
import com.gwtext.client.widgets.BoxComponent;
|
8 |
import com.gwtext.client.widgets.BoxComponent;
|
9 |
import com.gwtext.client.widgets.Component;
|
9 |
import com.gwtext.client.widgets.Component;
|
10 |
import com.gwtext.client.widgets.Container;
|
10 |
import com.gwtext.client.widgets.Container;
|
11 |
import com.gwtext.client.widgets.Panel;
|
11 |
import com.gwtext.client.widgets.Panel;
|
12 |
import com.gwtext.client.widgets.Window;
|
12 |
import com.gwtext.client.widgets.Window;
|
13 |
import com.gwtext.client.widgets.event.WindowListener;
|
13 |
import com.gwtext.client.widgets.event.WindowListener;
|
14 |
import com.gwtext.client.widgets.event.WindowListenerAdapter;
|
14 |
import com.gwtext.client.widgets.event.WindowListenerAdapter;
|
15 |
import com.gwtextux.client.widgets.upload.UploadDialog;
|
15 |
import com.gwtextux.client.widgets.upload.UploadDialog;
|
16 |
import com.gwtextux.client.widgets.upload.UploadDialogListener;
|
16 |
import com.gwtextux.client.widgets.upload.UploadDialogListener;
|
17 |
import com.gwtextux.client.widgets.upload.UploadDialogListenerAdapter;
|
17 |
import com.gwtextux.client.widgets.upload.UploadDialogListenerAdapter;
|
18 |
|
18 |
|
19 |
|
19 |
|
20 |
/**
|
20 |
/**
|
21 |
* 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
|
22 |
* suivant que le plugin Java est détecté ou non
|
22 |
* suivant que le plugin Java est détecté ou non
|
23 |
*
|
23 |
*
|
24 |
*
|
24 |
*
|
25 |
*/
|
25 |
*/
|
26 |
public class ImageUploaderAsynchroneDAO {
|
26 |
public class ImageUploaderAsynchroneDAO {
|
27 |
|
27 |
|
28 |
private static ImageMediateur iMediateur ;
|
28 |
private static ImageMediateur iMediateur ;
|
29 |
|
29 |
|
30 |
public void setIMediateur(ImageMediateur im)
|
30 |
public void setIMediateur(ImageMediateur im)
|
31 |
{
|
31 |
{
|
32 |
iMediateur = im ;
|
32 |
iMediateur = im ;
|
33 |
}
|
33 |
}
|
34 |
|
34 |
|
35 |
private static void appelerUploadSimple()
|
35 |
private static void appelerUploadSimple()
|
36 |
{
|
36 |
{
|
37 |
|
37 |
|
38 |
UploadDialog up = new UploadDialog("Upload simple de fichiers") ;
|
38 |
UploadDialog up = new UploadDialog("Upload simple de fichiers") ;
|
39 |
up.setUrl("jrest/InventoryImage");
|
39 |
up.setUrl("jrest/InventoryImage");
|
40 |
UrlParam id = new UrlParam("identifiant",iMediateur.getIdentifiant()) ;
|
40 |
UrlParam id = new UrlParam("identifiant",iMediateur.getIdentifiant()) ;
|
41 |
UrlParam[] params = {id} ;
|
41 |
UrlParam[] params = {id} ;
|
42 |
up.setBaseParams(params);
|
42 |
up.setBaseParams(params);
|
43 |
|
43 |
|
44 |
up.addListener(new UploadDialogListenerAdapter() {
|
44 |
up.addListener(new UploadDialogListenerAdapter() {
|
45 |
|
45 |
|
46 |
|
46 |
|
47 |
public void onClose(Panel panel) {
|
47 |
public void onClose(Panel panel) {
|
48 |
|
48 |
|
49 |
iMediateur.rafraichirToutesVues() ;
|
49 |
iMediateur.rafraichirToutesVues() ;
|
50 |
}
|
50 |
}
|
51 |
});
|
51 |
});
|
52 |
|
52 |
|
53 |
up.show();
|
53 |
up.show();
|
54 |
|
54 |
|
55 |
|
55 |
|
56 |
}
|
56 |
}
|
57 |
|
57 |
|
58 |
private static void appelerUploadMultiple()
|
58 |
private static void appelerUploadMultiple()
|
59 |
{
|
59 |
{
|
60 |
final Window nPan = new Window("Upload multiple");
|
60 |
final Window nPan = new Window("Upload multiple");
|
61 |
nPan.setSize(640, 800);
|
61 |
nPan.setWidth(640) ;
|
62 |
|
62 |
|
63 |
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=\"350\" width=\"625\">";
|
64 |
final String paramPostTarget = "<param name=\"postURL\" value=\"jrest/InventoryImage/\">";
|
64 |
final String paramPostTarget = "<param name=\"postURL\" value=\"jrest/InventoryImage/\">";
|
65 |
final String paramUploadPolicy = "<param name=\"uploadPolicy\" value=\"PictureUploadPolicy\">";
|
65 |
final String paramUploadPolicy = "<param name=\"uploadPolicy\" value=\"PictureUploadPolicy\">";
|
66 |
final String paramMaxChunkSize = "<param name=\"maxChunkSize\" value=\"0\">";
|
66 |
final String paramMaxChunkSize = "<param name=\"maxChunkSize\" value=\"0\">";
|
67 |
final String paramMaxFileSize = "<param name=\"maxFileSize\" value=\"10000000\">";
|
67 |
final String paramMaxFileSize = "<param name=\"maxFileSize\" value=\"10000000\">";
|
68 |
final String paramTransmitMetaData = "<param name=\"pictureTransmitMetadata\" value=\"true\">";
|
68 |
final String paramTransmitMetaData = "<param name=\"pictureTransmitMetadata\" value=\"true\">";
|
69 |
final String paramFilesPerRequest = "<param name=\"nbFilesPerRequest\" value=\"1\">";
|
69 |
final String paramFilesPerRequest = "<param name=\"nbFilesPerRequest\" value=\"1\">";
|
70 |
final String paramAllowedExtensions = "<param name=\"allowedFileExtensions\" value=\"jpg/jpeg/\">";
|
70 |
final String paramAllowedExtensions = "<param name=\"allowedFileExtensions\" value=\"jpg/jpeg/\">";
|
71 |
final String paramUploadSuccess = "<param name=\"stringUploadSuccess\" value=\"OK\">" ;
|
71 |
final String paramUploadSuccess = "<param name=\"stringUploadSuccess\" value=\"OK\">" ;
|
72 |
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\">" ;
|
73 |
final String paramFormdata = "<param name=\"formData\" value=\"postid\">" ;
|
74 |
final String finApplet = "</applet>";
|
74 |
final String finApplet = "</applet>";
|
75 |
|
75 |
|
76 |
final String appelApplet = applet
|
76 |
final String appelApplet = applet
|
77 |
+ paramPostTarget
|
77 |
+ paramPostTarget
|
78 |
+ paramUploadPolicy
|
78 |
+ paramUploadPolicy
|
79 |
+ paramMaxChunkSize
|
79 |
+ paramMaxChunkSize
|
80 |
+ paramMaxFileSize
|
80 |
+ paramMaxFileSize
|
81 |
+ paramTransmitMetaData
|
81 |
+ paramTransmitMetaData
|
82 |
+ paramFilesPerRequest
|
82 |
+ paramFilesPerRequest
|
83 |
+ paramAllowedExtensions
|
83 |
+ paramAllowedExtensions
|
84 |
+ paramUploadSuccess
|
84 |
+ paramUploadSuccess
|
85 |
+ paramShowLogWindow
|
85 |
+ paramShowLogWindow
|
86 |
+paramFormdata
|
86 |
+paramFormdata
|
87 |
+ finApplet;
|
87 |
+ finApplet;
|
88 |
|
88 |
|
89 |
final String htmlForm =
|
89 |
final String htmlForm =
|
90 |
"<form method=\"post\" name=\"postid\">"
|
90 |
"<form method=\"post\" name=\"postid\">"
|
91 |
+"<input type=\"hidden\" name=\"identifiant\" value=\""+iMediateur.getIdentifiant()+"\">"
|
91 |
+"<input type=\"hidden\" name=\"identifiant\" value=\""+iMediateur.getIdentifiant()+"\">"
|
92 |
+"</form>" ;
|
92 |
+"</form>" ;
|
93 |
|
93 |
|
94 |
nPan.setHtml(appelApplet+htmlForm);
|
94 |
nPan.setHtml(appelApplet+htmlForm);
|
95 |
|
95 |
|
96 |
nPan.addListener(new WindowListenerAdapter() {
|
96 |
nPan.addListener(new WindowListenerAdapter() {
|
97 |
|
97 |
|
98 |
|
98 |
|
99 |
public void onClose(Panel panel) {
|
99 |
public void onClose(Panel panel) {
|
100 |
|
100 |
|
101 |
iMediateur.rafraichirToutesVues() ;
|
101 |
iMediateur.rafraichirToutesVues() ;
|
102 |
|
102 |
|
103 |
}
|
103 |
}
|
104 |
|
104 |
|
105 |
|
105 |
|
106 |
});
|
106 |
});
|
107 |
|
107 |
|
108 |
nPan.show();
|
108 |
nPan.show();
|
109 |
}
|
109 |
}
|
110 |
|
110 |
|
111 |
public static native void choisirMethodeUpload() /*-{
|
111 |
public static native void choisirMethodeUpload() /*-{
|
112 |
|
112 |
|
113 |
var agt=navigator.userAgent.toLowerCase();
|
113 |
var agt=navigator.userAgent.toLowerCase();
|
114 |
var ie = (agt.indexOf("msie") != -1);
|
114 |
var ie = (agt.indexOf("msie") != -1);
|
115 |
var ns = (navigator.appName.indexOf("Netscape") != -1);
|
115 |
var ns = (navigator.appName.indexOf("Netscape") != -1);
|
116 |
var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
|
116 |
var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
|
117 |
var mac = (agt.indexOf("mac")!=-1);
|
117 |
var mac = (agt.indexOf("mac")!=-1);
|
118 |
|
118 |
|
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 ''; }
|
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 ''; }
|
120 |
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; }
|
121 |
|
121 |
|
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"); }
|
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"); }
|
123 |
if (ns || !win) {
|
123 |
if (ns || !win) {
|
124 |
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();
|
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");
|
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");
|
126 |
}
|
126 |
}
|
127 |
|
127 |
|
128 |
pluginlist += navigator.javaEnabled() ? "Java," : "";
|
128 |
pluginlist += navigator.javaEnabled() ? "Java," : "";
|
129 |
if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);
|
129 |
if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);
|
130 |
|
130 |
|
131 |
if(pluginlist.indexOf("Java")!=-1)
|
131 |
if(pluginlist.indexOf("Java")!=-1)
|
132 |
{
|
132 |
{
|
133 |
@org.tela_botanica.client.modeles.ImageUploaderAsynchroneDAO::appelerUploadMultiple()() ;
|
133 |
@org.tela_botanica.client.modeles.ImageUploaderAsynchroneDAO::appelerUploadMultiple()() ;
|
134 |
}
|
134 |
}
|
135 |
else
|
135 |
else
|
136 |
{
|
136 |
{
|
137 |
@org.tela_botanica.client.modeles.ImageUploaderAsynchroneDAO::appelerUploadSimple()() ;
|
137 |
@org.tela_botanica.client.modeles.ImageUploaderAsynchroneDAO::appelerUploadSimple()() ;
|
138 |
}
|
138 |
}
|
139 |
|
139 |
|
140 |
}-*/;
|
140 |
}-*/;
|
141 |
|
141 |
|
142 |
}
|
142 |
}
|