2
* FCKeditor - The text editor for internet
3
* Copyright (C) 2003-2005 Frederico Caldeira Knabben
5
* Licensed under the terms of the GNU Lesser General Public License:
6
* http://www.opensource.org/licenses/lgpl-license.php
8
* For further information visit:
9
* http://www.fckeditor.net/
11
* "Support Open Source software. What about a donation today?"
13
* File Name: frmupload.html
14
* Page used to upload new files in the current folder.
17
* Frederico Caldeira Knabben (fredck@fckeditor.net)
18
* Grant French (grant@mcpuk.net)
20
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
23
<link href="browser.css" type="text/css" rel="stylesheet" />
24
<script type="text/javascript" src="js/fckxml.js"></script>
25
<script type="text/javascript" src="js/common.js"></script>
26
<script language="javascript">
28
var randomnumber=Math.floor(Math.random()*65535);
32
function SetCurrentFolder( resourceType, folderPath )
34
var sUrl = oConnector.UploadHandler +'?uploadID='+randomnumber+'&Connector='+escape(oConnector.ConnectorUrl)+'&Command=FileUpload' ;
35
sUrl += '&Type=' + resourceType ;
36
sUrl += '&CurrentFolder=' + folderPath ;
37
sUrl += '&ExtraParams=' + oConnector.ExtraParams ;
38
document.getElementById('frmUpload').action = sUrl ;
40
oConnector.ResourceType = resourceType ;
41
oConnector.CurrentFolder = folderPath ;
46
if ( document.getElementById('NewFile').value.length == 0 )
48
alert( 'Please select a file from your computer' ) ;
52
// Set the interface elements.
53
document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait... 0%)' ;
54
document.getElementById('filebox').style.display="none";
56
document.getElementById('progressbox').style.display="inline";
57
document.getElementById('btnUpload').disabled = true ;
60
setTimeout("GetUploadProgress()",2000);
65
function OnUploadCompleted( errorNumber, fileName )
69
// Reset the Upload Worker Frame.
70
window.parent.frames['frmUploadWorker'].location = '' ;
72
// Reset the upload form.
73
//Sometimes causes IE to get itself in a mess (wont allow second upload)
74
//document.getElementById('NewFile').reset() ;
76
// Reset the interface elements.
77
document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
78
document.getElementById('btnUpload').disabled = false ;
80
var randomnumber=Math.floor(Math.random()*65535);
81
SetCurrentFolder(oConnector.ResourceType,oConnector.CurrentFolder);
83
switch ( errorNumber )
86
window.parent.frames['frmResourcesList'].Refresh() ;
87
document.getElementById('filebox').style.display="inline";
88
document.getElementById('progressbox').style.display="none";
91
window.parent.frames['frmResourcesList'].Refresh() ;
92
document.getElementById('filebox').style.display="inline";
93
document.getElementById('progressbox').style.display="none";
94
alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
97
document.getElementById('filebox').style.display="inline";
98
document.getElementById('progressbox').style.display="none";
99
alert( 'Error, "'+fileName+'"' ) ;
102
document.getElementById('filebox').style.display="inline";
103
document.getElementById('progressbox').style.display="none";
104
alert( 'Error on file upload. Error number: ' + errorNumber ) ;
109
function resetProgressBar() {
110
oProgressBar=document.getElementById('progress');
111
var rows=oProgressBar.getElementsByTagName('tr');
113
var cols=row.getElementsByTagName('td');
114
// var label=document.getElementById("progress_label");
116
// label.innerHTML="0%"
117
for (i=0;i<(cols.length-1);i++) {
118
cols[i].className="progress_hollow";
123
function GetUploadProgressCallback( fckXml ) {
124
// Get the current folder path.
126
if (!uploading) return false;
128
var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' ) ;
129
if (oNode==null) { if(!warned) { alert("Invalid XML response from connector."); warned=true; } return false; }
130
if ((oNode.attributes.getNamedItem('path')==null)||(oNode.attributes.getNamedItem('url')==null)) {
131
if(!warned) { alert("Invalid XML response from connector."); warned=true; }
135
var sCurrentFolderPath = oNode.attributes.getNamedItem('path').value ;
136
var sCurrentFolderUrl = oNode.attributes.getNamedItem('url').value ;
139
var oNode = fckXml.SelectSingleNode( 'Connector/Progress' ) ;
140
if (oNode==null) { if(!warned) { alert("Invalid XML response from connector."); warned=true; } return false; }
141
if ((oNode.attributes.getNamedItem('max')==null)||(oNode.attributes.getNamedItem('value')==null)) {
142
if(!warned) { alert("Invalid XML response from connector."); warned=true; }
146
var iMax = oNode.attributes.getNamedItem('max').value ;
147
var iValue = oNode.attributes.getNamedItem('value').value ;
149
var oNode = fckXml.SelectSingleNode( 'Connector/RefreshURL' ) ;
150
if (oNode==null) { if(!warned) { alert("Invalid XML response from connector."); warned=true; } return false; }
151
if ((oNode.attributes.getNamedItem('url')==null)) {
152
if(!warned) { alert("Invalid XML response from connector."); warned=true; }
155
refreshURL = oNode.attributes.getNamedItem('url').value ;
157
var oProgressBar=document.getElementById('progress');
158
//var label=document.getElementById("progress_label");
159
var rows=oProgressBar.getElementsByTagName('tr');
161
var cols=row.getElementsByTagName('td');
162
var percentage=Math.floor((iValue/iMax)*100);
163
document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait.. ' + percentage + '% )' ;
165
//label.innerHTML=percentage+"%"
166
for (i=0;i<(cols.length-1);i++) {
167
if (((i+1)*(100/cols.length))<=percentage) {
168
cols[i].className="progress_filled";
170
cols[i].className="progress_hollow";
174
if (uploading) getProgressTimer=setTimeout("GetUploadProgress()",1000);
177
function GetUploadProgress() {
178
if (uploading) oConnector.SendCommand( 'GetUploadProgress', 'uploadID='+randomnumber+'&refreshURL='+escape(refreshURL), GetUploadProgressCallback ) ;
181
window.onload = function()
183
window.top.IsLoadedUpload = true ;
187
<body bottomMargin="0" topMargin="0">
188
<form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">
189
<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">
192
<span id="eUploadMessage">Upload a new file in this folder</span><br>
193
<table cellSpacing="0" cellPadding="0" width="100%" border="0">
196
<div id="filebox"><input id="NewFile" name="NewFile" style="width: 100%; background-color: transparent;" type="file"></div>
197
<div id="progressbox" style="display: none">
198
<table id="progress" style="width: 100%" class="progress_bar">
200
<td class="progress_hollow"> </td>
201
<td class="progress_hollow"> </td>
202
<td class="progress_hollow"> </td>
203
<td class="progress_hollow"> </td>
204
<td class="progress_hollow"> </td>
205
<td class="progress_hollow"> </td>
206
<td class="progress_hollow"> </td>
207
<td class="progress_hollow"> </td>
208
<td class="progress_hollow"> </td>
209
<td class="progress_hollow"> </td>
210
<td class="progress_hollow"> </td>
211
<td class="progress_hollow"> </td>
212
<td class="progress_hollow"> </td>
213
<td class="progress_hollow"> </td>
214
<td class="progress_hollow"> </td>
215
<td class="progress_hollow"> </td>
216
<td class="progress_hollow"> </td>
217
<td class="progress_hollow"> </td>
218
<td class="progress_hollow"> </td>
219
<td class="progress_hollow"> </td>
222
<!--<div id="progress_label"></div>-->
225
<td nowrap> <input id="btnUpload" type="submit" value="Upload"></td>