Subversion Repositories bacoAlunos

Rev

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
                                    &nbsp;
250
                                    <span class="glyphicon glyphicon-folder-open"> </span> &nbsp;<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
                                                    &nbsp;
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>