diff options
Diffstat (limited to 'apps/files/js/files.js')
-rw-r--r-- | apps/files/js/files.js | 66 |
1 files changed, 40 insertions, 26 deletions
diff --git a/apps/files/js/files.js b/apps/files/js/files.js index aefd6f20bec..549204e8572 100644 --- a/apps/files/js/files.js +++ b/apps/files/js/files.js @@ -178,7 +178,12 @@ $(document).ready(function() { var dir=$('#dir').val()||'/'; $('#notification').text(t('files','generating ZIP-file, it may take some time.')); $('#notification').fadeIn(); - window.location=OC.filePath('files', 'ajax', 'download.php') + '?'+ $.param({ dir: dir, files: files }); + // use special download URL if provided, e.g. for public shared files + if ( (downloadURL = document.getElementById("downloadURL")) ) { + window.location=downloadURL.value+"&download&files="+files; + } else { + window.location=OC.filePath('files', 'ajax', 'download.php') + '?'+ $.param({ dir: dir, files: files }); + } return false; }); @@ -195,6 +200,7 @@ $(document).ready(function() { e.preventDefault(); // prevent browser from doing anything, if file isn't dropped in dropZone }); + if ( document.getElementById("data-upload-form") ) { $(function() { $('.file_upload_start').fileupload({ dropZone: $('#content'), // restrict dropZone to content div @@ -203,7 +209,7 @@ $(document).ready(function() { var totalSize=0; if(files){ for(var i=0;i<files.length;i++){ - if(files[i].size ==0 && files[i].type== '') + if(files[i].size ==0 || files[i].type== '') { OC.dialogs.alert(t('files', 'Unable to upload your file as it is a directory or has 0 bytes'), t('files', 'Upload Error')); return; @@ -256,7 +262,7 @@ $(document).ready(function() { uploadtext.text(t('files', '1 file uploading')); uploadtext.show(); } else { - uploadtext.text(currentUploads + ' ' + t('files', 'files uploading')); + uploadtext.text(t('files', '{count} files uploading', {count: currentUploads})); } } } @@ -276,7 +282,7 @@ $(document).ready(function() { var fileName = files[i].name var dropTarget = $(e.originalEvent.target).closest('tr'); if(dropTarget && dropTarget.attr('data-type') === 'dir') { // drag&drop upload to folder - var dirName = dropTarget.attr('data-file') + var dirName = dropTarget.attr('data-file'); var jqXHR = $('.file_upload_start').fileupload('send', {files: files[i], formData: function(form) { var formArray = form.serializeArray(); @@ -301,7 +307,7 @@ $(document).ready(function() { uploadtext.text(''); uploadtext.hide(); } else { - uploadtext.text(currentUploads + ' ' + t('files', 'files uploading')); + uploadtext.text(t('files', '{count} files uploading', {count: currentUploads})); } }) .error(function(jqXHR, textStatus, errorThrown) { @@ -316,7 +322,7 @@ $(document).ready(function() { uploadtext.text(''); uploadtext.hide(); } else { - uploadtext.text(currentUploads + ' ' + t('files', 'files uploading')); + uploadtext.text(t('files', '{count} files uploading', {count: currentUploads})); } $('#notification').hide(); $('#notification').text(t('files', 'Upload cancelled.')); @@ -336,12 +342,12 @@ $(document).ready(function() { if(response[0] != undefined && response[0].status == 'success') { var file=response[0]; delete uploadingFiles[file.name]; - $('tr').filterAttr('data-file',file.name).data('mime',file.mime); + $('tr').filterAttr('data-file',file.name).data('mime',file.mime).data('id',file.id); var size = $('tr').filterAttr('data-file',file.name).find('td.filesize').text(); if(size==t('files','Pending')){ $('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size); } - FileList.loadingDone(file.name); + FileList.loadingDone(file.name, file.id); } else { $('#notification').text(t('files', response.data.message)); $('#notification').fadeIn(); @@ -356,21 +362,22 @@ $(document).ready(function() { $('#notification').fadeIn(); } }); - uploadingFiles[files[i].name] = jqXHR; + uploadingFiles[uniqueName] = jqXHR; } } }else{ data.submit().success(function(data, status) { - response = jQuery.parseJSON(data[0].body.innerText); + // in safari data is a string + response = jQuery.parseJSON(typeof data === 'string' ? data : data[0].body.innerText); if(response[0] != undefined && response[0].status == 'success') { var file=response[0]; delete uploadingFiles[file.name]; - $('tr').filterAttr('data-file',file.name).data('mime',file.mime); + $('tr').filterAttr('data-file',file.name).data('mime',file.mime).data('id',file.id); var size = $('tr').filterAttr('data-file',file.name).find('td.filesize').text(); if(size==t('files','Pending')){ $('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size); } - FileList.loadingDone(file.name); + FileList.loadingDone(file.name, file.id); } else { $('#notification').text(t('files', response.data.message)); $('#notification').fadeIn(); @@ -407,7 +414,7 @@ $(document).ready(function() { } }) }); - + } $.assocArraySize = function(obj) { // http://stackoverflow.com/a/6700/11236 var size = 0, key; @@ -511,7 +518,8 @@ $(document).ready(function() { var date=new Date(); FileList.addFile(name,0,date,false,hidden); var tr=$('tr').filterAttr('data-file',name); - tr.data('mime','text/plain'); + tr.data('mime','text/plain').data('id',result.data.id); + tr.attr('data-id', result.data.id); getMimeIcon('text/plain',function(path){ tr.find('td.filename').attr('style','background-image:url('+path+')'); }); @@ -529,6 +537,8 @@ $(document).ready(function() { if (result.status == 'success') { var date=new Date(); FileList.addDir(name,0,date,hidden); + var tr=$('tr').filterAttr('data-file',name); + tr.attr('data-id', result.data.id); } else { OC.dialogs.alert(result.data.message, 'Error'); } @@ -559,11 +569,13 @@ $(document).ready(function() { eventSource.listen('success',function(data){ var mime=data.mime; var size=data.size; + var id=data.id; $('#uploadprogressbar').fadeOut(); var date=new Date(); FileList.addFile(localName,size,date,false,hidden); var tr=$('tr').filterAttr('data-file',localName); - tr.data('mime',mime); + tr.data('mime',mime).data('id',id); + tr.attr('data-id', id); getMimeIcon(mime,function(path){ tr.find('td.filename').attr('style','background-image:url('+path+')'); }); @@ -590,7 +602,10 @@ $(document).ready(function() { var lastWidth = 0; var breadcrumbs = []; - var breadcrumbsWidth = $('#navigation').get(0).offsetWidth; + var breadcrumbsWidth = 0; + if ( document.getElementById("navigation") ) { + breadcrumbsWidth = $('#navigation').get(0).offsetWidth; + } var hiddenBreadcrumbs = 0; $.each($('.crumb'), function(index, breadcrumb) { @@ -663,7 +678,7 @@ function scanFiles(force,dir){ var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force,dir:dir}); scanFiles.cancel=scannerEventSource.close.bind(scannerEventSource); scannerEventSource.listen('scanning',function(data){ - $('#scan-count').text(data.count + ' ' + t('files', 'files scanned')); + $('#scan-count').text(t('files', '{count} files scanned', {count: data.count})); $('#scan-current').text(data.file+'/'); }); scannerEventSource.listen('success',function(success){ @@ -773,9 +788,9 @@ function procesSelection(){ var selection=''; if(selectedFolders.length>0){ if(selectedFolders.length==1){ - selection+='1 '+t('files','folder'); + selection+=t('files','1 folder'); }else{ - selection+=selectedFolders.length+' '+t('files','folders'); + selection+=t('files','{count} folders',{count: selectedFolders.length}); } if(selectedFiles.length>0){ selection+=' & '; @@ -783,9 +798,9 @@ function procesSelection(){ } if(selectedFiles.length>0){ if(selectedFiles.length==1){ - selection+='1 '+t('files','file'); + selection+=t('files','1 file'); }else{ - selection+=selectedFiles.length+' '+t('files','files'); + selection+=t('files','{count} files',{count: selectedFiles.length}); } } $('#headerName>span.name').text(selection); @@ -828,20 +843,19 @@ function relative_modified_date(timestamp) { var diffhours = Math.round(diffminutes/60); var diffdays = Math.round(diffhours/24); var diffmonths = Math.round(diffdays/31); - var diffyears = Math.round(diffdays/365); if(timediff < 60) { return t('files','seconds ago'); } - else if(timediff < 120) { return '1 '+t('files','minute ago'); } - else if(timediff < 3600) { return diffminutes+' '+t('files','minutes ago'); } + else if(timediff < 120) { return t('files','1 minute ago'); } + else if(timediff < 3600) { return t('files','{minutes} minutes ago',{minutes: diffminutes}); } //else if($timediff < 7200) { return '1 hour ago'; } //else if($timediff < 86400) { return $diffhours.' hours ago'; } else if(timediff < 86400) { return t('files','today'); } else if(timediff < 172800) { return t('files','yesterday'); } - else if(timediff < 2678400) { return diffdays+' '+t('files','days ago'); } + else if(timediff < 2678400) { return t('files','{days} days ago',{days: diffdays}); } else if(timediff < 5184000) { return t('files','last month'); } //else if($timediff < 31556926) { return $diffmonths.' months ago'; } else if(timediff < 31556926) { return t('files','months ago'); } else if(timediff < 63113852) { return t('files','last year'); } - else { return diffyears+' '+t('files','years ago'); } + else { return t('files','years ago'); } } function getMimeIcon(mime, ready){ |