1 <!-- AJAX file upload stuff -->
2 <script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/ajaxfileupload.js"></script>
3 <script type="text/javascript">
5 var fileUploadProgressTimer = 0;
6 var inFileUploadProgressTimer = false;
7 var fileUploadProgressTimerCanceled = false;
8 function updateProgress() {
9 if (inFileUploadProgressTimer) {
10 // since $.getJSON is asynchronous, wait
11 // until the last one is finished
14 inFileUploadProgressTimer = true;
15 $.getJSON("/cgi-bin/koha/tools/upload-file-progress.pl", function(json) {
16 if (!fileUploadProgressTimerCanceled) {
17 $("#fileuploadprogress").text(json.progress);
19 inFileUploadProgressTimer = false;
22 function ajaxFileUpload()
24 fileUploadProgressTimerCanceled = false;
25 $("#fileuploadstatus").show();
26 fileUploadProgressTimer = setInterval("updateProgress()",500);
29 url:'/cgi-bin/koha/tools/upload-file.pl',
32 fileElementId:'fileToUpload',
34 success: function (data, status) {
35 if (data.status == 'denied') {
36 $("#fileuploadstatus").hide();
37 $("#fileuploadfailed").show();
38 $("#fileuploadfailed").text("Upload failed -- no permission to upload files");
39 } else if (data.status == 'failed') {
40 $("#fileuploadstatus").hide();
41 $("#fileuploadfailed").show();
42 $("#fileuploadfailed").text("Upload failed -- unable to store file on server");
43 } else if (data.status == 'maintenance') {
44 $("#fileuploadstatus").hide();
45 $("#fileuploadfailed").show();
46 $("#fileuploadfailed").text("Upload failed -- database in maintenance state");
48 $("#uploadedfileid").val(data.fileid);
49 $("#fileuploadprogress").text("100");
51 fileUploadProgressTimerCanceled = true;
52 clearInterval(fileUploadProgressTimer);
54 error: function (data, status, e) {
55 fileUploadProgressTimerCanceled = true;
57 clearInterval(fileUploadProgressTimer);