Rev 1317 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | fvelez | 1 | <%@ page import="jomm.web.ftp.IFile" %> |
144 | jmachado | 2 | <%@ page import="jomm.web.utils.NavPlace" %> |
1317 | jmachado | 3 | <%@ page import="pt.estgp.estgweb.web.filters.RequestURLFilter" %> |
165 | jmachado | 4 | <%@ page import="pt.estgp.estgweb.web.utils.DatesUtils" %> |
1317 | jmachado | 5 | <%@ page import="java.util.List" %> |
1350 | jmachado | 6 | <%@ page import="org.apache.commons.httpclient.util.URIUtil" %> |
1 | fvelez | 7 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
144 | jmachado | 8 | <%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
9 | <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
||
1317 | jmachado | 10 | |
11 | |||
12 | <div class="modal fade" id="myModalInfo" role="dialog" > |
||
13 | <div class="modal-dialog" data-width="90%" style="display: block; width: 90%; margin-top: 50px;" aria-hidden="false"> |
||
14 | <!-- Modal content--> |
||
15 | <div class="modal-content"> |
||
16 | <div class="modal-header"> |
||
17 | <h1 class="modal-title"> |
||
18 | Informação sobre Gestão de Ficheiros |
||
19 | <button type="button" class="btn btn-danger btn-xs pull-right" data-dismiss="modal"><span class="glyphicon glyphicon-remove"> </span></button> |
||
20 | </h1> |
||
21 | </div> |
||
22 | <div class="modal-body"> |
||
23 | <h3><bean:message key="ftp.manager.explain.1"/></h3> |
||
24 | <p>(<bean:message key="ftp.manager.explain.5"/>)</p> |
||
25 | <ul> |
||
26 | <li><span class="glyphicon glyphicon-upload"> </span> <bean:message key="ftp.manager.explain.2"/></li> |
||
27 | <li><bean:message key="ftp.manager.explain.3"/></li> |
||
28 | <li><span class="glyphicon glyphicon-remove"> </span> <bean:message key="ftp.manager.explain.4"/></li> |
||
29 | </ul> |
||
30 | <button type="button" class="btn btn-info" data-dismiss="modal">ok</button> |
||
31 | </div> |
||
32 | </div> |
||
33 | </div> |
||
34 | </div> |
||
35 | |||
36 | <div class="modal fade" id="myModal" role="dialog" > |
||
37 | <div class="modal-dialog" data-width="90%" style="display: block; width: 90%; margin-top: 50px;" aria-hidden="false"> |
||
38 | <!-- Modal content--> |
||
39 | <div class="modal-content"> |
||
40 | <div class="modal-header"> |
||
41 | <h1 class="modal-title"> |
||
42 | Envio de Ficheiros |
||
43 | <button type="button" class="btn btn-danger btn-xs pull-right" data-dismiss="modal"><span class="glyphicon glyphicon-remove"> </span></button> |
||
44 | </h1> |
||
45 | </div> |
||
46 | <div class="modal-body"> |
||
47 | <form name="FormFtpManager" class="form-horizontal" action="<%=request.getContextPath() + request.getAttribute(RequestURLFilter.REQUESTED_URL)%>" method="post" enctype="multipart/form-data"> |
||
48 | <input type="hidden" name="deleteFile"/> |
||
49 | <input type="hidden" name="deleteFolder"/> |
||
50 | <div class="form-group"> |
||
51 | <label class="control-label col-sm-4"><bean:message key="ftp.manager.create.folder"/></label> |
||
52 | <div class="col-sm-8"> |
||
53 | <input class="form-control" type="text" name="newFolder"/> |
||
54 | </div> |
||
55 | </div> |
||
56 | <div class="form-group"> |
||
57 | <label class="control-label col-sm-4"><bean:message key="ftp.manager.upload.file"/></label> |
||
58 | <div class="col-sm-8"> |
||
59 | <input class="form-control" type="file" name="newFile"/> |
||
60 | </div> |
||
61 | </div> |
||
62 | <div class="form-group"> |
||
63 | |||
64 | <div class="col-sm-12"> |
||
65 | <button class="btn btn-success pull-right" type="submit"><span class="glyphicon glyphicon-upload"> </span> Enviar</button> |
||
66 | </div> |
||
67 | </div> |
||
68 | |||
69 | |||
70 | <div class="seccao"> |
||
71 | <%-- <p><a href="javascript:showOrHideOne('adminPasswordZone')"><bean:message key="ftp.credentials.change"/></a></p>--%> |
||
72 | <div id="adminPasswordZone"> |
||
73 | |||
74 | <ul> |
||
75 | <li><bean:message key="ftp.credentials.explain.1"/></li> |
||
76 | <li><bean:message key="ftp.credentials.explain.2"/></li> |
||
77 | </ul> |
||
78 | |||
79 | <script> |
||
80 | $(document).ready(function(){ |
||
81 | $('#u1c').val(""); |
||
82 | $('#p1c').val(""); |
||
83 | }); |
||
84 | </script> |
||
85 | <div class="form-group"> |
||
86 | <label class="control-label col-sm-4"><bean:message key="username"/></label> |
||
87 | <div class="col-sm-8"> |
||
88 | <input class="form-control" type="text" id="u1c" name="username"/> |
||
89 | </div> |
||
90 | </div> |
||
91 | <div class="form-group"> |
||
92 | <label class="control-label col-sm-4"><bean:message key="password"/></label> |
||
93 | <div class="col-sm-8"> |
||
94 | <input class="form-control" type="password" id="p1c" name="password"/> |
||
95 | </div> |
||
96 | </div> |
||
97 | <div class="form-group"> |
||
98 | <label class="control-label col-sm-4"><bean:message key="ftp.credentials.save.in.session"/></label> |
||
99 | <div class="col-sm-8"> |
||
100 | <input class="form-control" type="checkbox" name="savePassword"/> |
||
101 | </div> |
||
102 | </div> |
||
103 | </div> |
||
104 | </div> |
||
105 | </form> |
||
106 | </div> |
||
107 | </div> |
||
108 | </div> |
||
109 | </div> |
||
110 | |||
111 | <div class="panel panel-default"> |
||
112 | <div class="panel-heading"> |
||
113 | <a class="btn btn-sm btn-warning" href="javascript:showOrHideOneWithStartId('FTP_NODE_')"><span class="glyphicon glyphicon-remove"> </span> Ver Comandos de Remoção de Ficheiros</a> |
||
114 | |||
115 | <button type="button" data-toggle="modal" data-target="#myModal" class="btn btn-success btn-sm" href=""><span class="glyphicon glyphicon-upload"> </span> Enviar Ficheiros</button> |
||
116 | |||
117 | <button type="button" data-toggle="modal" data-target="#myModalInfo" class="btn btn-info btn-sm" href=""><span class="glyphicon glyphicon-info-sign"> </span> Ajuda</button> |
||
118 | </div> |
||
119 | <div class="panel-body"> |
||
120 | <html:errors/> |
||
121 | <jomm:messages/> |
||
122 | |||
123 | |||
124 | |||
125 | |||
126 | |||
181 | jmachado | 127 | <% |
128 | List<IFile> iFiles = (List<IFile>) request.getAttribute("files"); |
||
129 | |||
130 | List<NavPlace> navPlaces = (List<NavPlace>) request.getAttribute("NavPlaces"); |
||
131 | if(navPlaces == null || iFiles == null) |
||
132 | { |
||
133 | %> |
||
134 | <div class="statusERROR">Problemas de comunicação com o Servidor FTP</div> |
||
135 | <% |
||
136 | } |
||
137 | else |
||
138 | { |
||
139 | %> |
||
1350 | jmachado | 140 | <div id="topnav"> |
141 | <ul> |
||
142 | <% |
||
1 | fvelez | 143 | |
1350 | jmachado | 144 | NavPlace upDir = null; |
165 | jmachado | 145 | |
1350 | jmachado | 146 | NavPlace rootPlace = new NavPlace("../","nav.place.root"); |
147 | String root = "../"; |
||
148 | if (navPlaces != null && navPlaces.size() > 1) //if there is only one will be null because is the actual place |
||
149 | { |
||
150 | root += navPlaces.get(0).getUrl(request); |
||
151 | } |
||
152 | else |
||
153 | { |
||
154 | root += "?" + NavPlace.getUrlQueryString(request); |
||
155 | } |
||
156 | if(navPlaces != null && navPlaces.size() > 0) |
||
157 | { |
||
158 | upDir = rootPlace; |
||
159 | %> |
||
160 | <li class="navPlace"> |
||
161 | <a href="<%=root%>"> |
||
162 | <bean:message key="nav.place.root"/> |
||
163 | </a> / |
||
164 | </li> |
||
165 | <% |
||
166 | } |
||
167 | else if(navPlaces == null) |
||
168 | { |
||
169 | %> |
||
170 | <% |
||
171 | } |
||
172 | else |
||
173 | { |
||
174 | %> |
||
175 | <li class="navPlace"> |
||
176 | <bean:message key="nav.place.root"/> |
||
177 | </li> |
||
178 | <% |
||
179 | } |
||
180 | %> |
||
181 | <% |
||
182 | for (NavPlace navPlace : navPlaces) |
||
183 | { |
||
184 | if (navPlace.getUrl(request) == null) |
||
185 | { |
||
186 | %> |
||
187 | <li class="navPlace"> |
||
188 | <%=navPlace.getKey()%> |
||
189 | </li> |
||
190 | <% |
||
191 | } |
||
192 | else |
||
144 | jmachado | 193 | { |
1350 | jmachado | 194 | upDir = navPlace; |
195 | %> |
||
196 | <li class="navPlace"> |
||
197 | <a href="<%=navPlace.getUrl(request)%>"><%=navPlace.getKey()%></a> / |
||
198 | </li> |
||
199 | <% |
||
200 | } |
||
201 | } |
||
144 | jmachado | 202 | |
1350 | jmachado | 203 | %> |
204 | </ul> |
||
205 | </div> |
||
144 | jmachado | 206 | |
1312 | jmachado | 207 | <div class="panel"> |
208 | <div class="panel-body"> |
||
209 | |||
1350 | jmachado | 210 | <div class="files"> |
211 | <table cellpadding="0" cellspacing="0"> |
||
165 | jmachado | 212 | |
1350 | jmachado | 213 | <% |
165 | jmachado | 214 | |
1350 | jmachado | 215 | if(upDir != null) |
216 | { |
||
217 | %> |
||
218 | <tr><td colspan="3"> .. [ <a class="updir" href="<%=upDir.getUrl(request)%>"><bean:message key="file.up.dir"/></a> ]</td></tr> |
||
219 | <% |
||
220 | } |
||
221 | %> |
||
222 | <tr> |
||
223 | <th> |
||
224 | <bean:message key="file.name"/> |
||
225 | </th> |
||
226 | <th> |
||
227 | <bean:message key="file.date"/> |
||
228 | </th> |
||
229 | <th> |
||
230 | <bean:message key="file.size"/> |
||
231 | </th> |
||
232 | </tr> |
||
233 | <% |
||
234 | int counter = 0; |
||
235 | if (iFiles.size() > 0) |
||
236 | { |
||
237 | %> |
||
238 | <% |
||
239 | for (IFile i : iFiles) |
||
240 | { |
||
241 | if (i.isDirectory()) |
||
242 | { |
||
243 | request.setAttribute("i",i); |
||
244 | %> |
||
245 | <tr class="dir"> |
||
246 | <td colspan="3"> |
||
406 | jmachado | 247 | |
1350 | jmachado | 248 | <a class="btn btn-xs btn-danger" id="FTP_NODE_<%=++counter%>" style="display:none" href="javascript:if(confirmLink('<bean:message key="ftp.comfirm.delete" arg0="${i.name}"/>')){document.FormFtpManager.deleteFolder.value='<%=i.getName()%>';document.FormFtpManager.submit();}"><span class="glyphicon glyphicon-remove"> </span></a> |
249 | |
||
250 | <span class="glyphicon glyphicon-folder-open"> </span> <a href="<%=i.getName(request)%>"><%=i.getName()%> |
||
251 | </a> |
||
252 | </td> |
||
253 | </tr> |
||
254 | <% |
||
255 | } |
||
165 | jmachado | 256 | |
1350 | jmachado | 257 | } |
258 | %> |
||
259 | <% |
||
260 | for (IFile i : iFiles) |
||
261 | { |
||
262 | if (!i.isDirectory()) |
||
263 | { |
||
264 | request.setAttribute("i",i); |
||
265 | %> |
||
266 | <tr class="file"> |
||
267 | <td> |
||
268 | |||
269 | <a id="FTP_NODE_<%=++counter%>" class="btn btn-xs btn-danger" style="display:none" href="javascript:if(confirmLink('<bean:message key="ftp.comfirm.delete" arg0="${i.name}"/>')){document.FormFtpManager.deleteFile.value='<%=i.getName()%>';document.FormFtpManager.submit();}"><span class="glyphicon glyphicon-remove"> </span></a> |
||
270 | |
||
271 | |||
272 | <% |
||
273 | if (i.getName().toLowerCase().endsWith("doc") || i.getName().endsWith("rtf") || i.getName().endsWith("docx")) |
||
274 | { |
||
275 | %> |
||
276 | <img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/doc.gif"> |
||
277 | <% |
||
278 | } |
||
279 | else if (i.getName().toLowerCase().endsWith("pdf")) |
||
280 | { |
||
281 | %> |
||
282 | <img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/pdf.gif"> |
||
283 | <% |
||
284 | } |
||
285 | else if (i.getName().toLowerCase().endsWith("ppt")) |
||
286 | { |
||
287 | %> |
||
288 | <img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/ppt.gif"> |
||
289 | <% |
||
290 | } |
||
291 | else if (i.getName().toLowerCase().endsWith("zip") || i.getName().endsWith(".gz") || i.getName().endsWith("tgz")) |
||
292 | { |
||
293 | %> |
||
294 | <img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/zip.gif"> |
||
295 | <% |
||
296 | } |
||
297 | else if (i.getName().toLowerCase().endsWith("rar")) |
||
298 | { |
||
299 | %> |
||
300 | <img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/rar.gif"> |
||
301 | <% |
||
302 | } |
||
303 | else if (i.getName().toLowerCase().endsWith("html") || i.getName().endsWith("htm")) |
||
304 | { |
||
305 | %> |
||
306 | <img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/html.gif"> |
||
307 | <% |
||
308 | } |
||
309 | else if (i.getName().toLowerCase().endsWith("xls") || i.getName().endsWith("xlsx")) |
||
310 | { |
||
311 | %> |
||
312 | <img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/xls.gif"> |
||
313 | <% |
||
314 | } |
||
315 | else if (i.getName().toLowerCase().endsWith("txt")) |
||
316 | { |
||
317 | %> |
||
318 | <img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/txt.gif"> |
||
319 | <% |
||
320 | } |
||
321 | else if (i.getName().toLowerCase().endsWith("xml")) |
||
322 | { |
||
323 | %> |
||
324 | <img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/xml.gif"> |
||
325 | <% |
||
326 | } |
||
327 | else |
||
328 | { |
||
329 | %> |
||
330 | <img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/unknown.gif"> |
||
331 | <% |
||
332 | } |
||
333 | %> |
||
334 | <!--<a target="_blank" href="<%=i.getCompleteUrl()%>"><%=i.getName()%></a>--> |
||
335 | <a target="_blank" href="<%=request.getContextPath()%>/ftpProxyStream/ionline<%=i.getServerRelativePathFile()%>"><%=i.getName()%></a> |
||
336 | |||
337 | </td> |
||
338 | <td> |
||
339 | <%=DatesUtils.getStringFromDate(i.getLastUpdate())%> |
||
340 | </td> |
||
341 | <td> |
||
342 | <%=i.getSize()%> kb |
||
343 | </td> |
||
344 | </tr> |
||
345 | <% |
||
346 | } |
||
347 | |||
348 | } |
||
349 | } |
||
165 | jmachado | 350 | %> |
1350 | jmachado | 351 | </table> |
165 | jmachado | 352 | <% |
1350 | jmachado | 353 | if(iFiles.size() == 0) |
1 | fvelez | 354 | { |
1350 | jmachado | 355 | %> |
356 | <ul class="statusWARNING"> |
||
357 | <li> |
||
358 | <bean:message key="zero.files"/> |
||
359 | </li> |
||
360 | </ul> |
||
165 | jmachado | 361 | |
362 | <% |
||
1350 | jmachado | 363 | } |
165 | jmachado | 364 | %> |
365 | |||
1350 | jmachado | 366 | </div> |
1312 | jmachado | 367 | </div> |
368 | </div> |
||
165 | jmachado | 369 | |
1350 | jmachado | 370 | <% |
371 | |||
165 | jmachado | 372 | } |
898 | jmachado | 373 | %> |
1350 | jmachado | 374 | </div> |
1317 | jmachado | 375 | </div> |