diff options
author | Bart Visscher <bartv@thisnet.nl> | 2012-10-17 16:38:11 +0200 |
---|---|---|
committer | Bart Visscher <bartv@thisnet.nl> | 2012-10-17 16:38:11 +0200 |
commit | 6081bfa2bcbe121e373486273ecce58a49e6fa97 (patch) | |
tree | f2504800c66919a53eff9323724b493079569495 /apps/files/js | |
parent | c2b4e534534e083147bbad9b564179832cfa2912 (diff) | |
parent | 44287d680bd0e8799724a7595db43c0fafcaff40 (diff) | |
download | nextcloud-server-6081bfa2bcbe121e373486273ecce58a49e6fa97.tar.gz nextcloud-server-6081bfa2bcbe121e373486273ecce58a49e6fa97.zip |
Merge branch 'master' into routing
Conflicts:
lib/search/provider/file.php
settings/ajax/changepassword.php
settings/settings.php
Diffstat (limited to 'apps/files/js')
-rw-r--r-- | apps/files/js/filelist.js | 56 | ||||
-rw-r--r-- | apps/files/js/files.js | 27 |
2 files changed, 49 insertions, 34 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index f51bb828cb4..d5de9268f47 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -15,9 +15,9 @@ var FileList={ extension=false; } html+='<td class="filename" style="background-image:url('+img+')"><input type="checkbox" />'; - html+='<a class="name" href="download.php?file='+$('#dir').val().replace(/</, '<').replace(/>/, '>')+'/'+name+'"><span class="nametext">'+basename; + html+='<a class="name" href="download.php?file='+$('#dir').val().replace(/</, '<').replace(/>/, '>')+'/'+escapeHTML(name)+'"><span class="nametext">'+escapeHTML(basename); if(extension){ - html+='<span class="extension">'+extension+'</span>'; + html+='<span class="extension">'+escapeHTML(extension)+'</span>'; } html+='</span></a></td>'; if(size!='Pending'){ @@ -116,11 +116,14 @@ var FileList={ $('#emptyfolder').hide(); $('.file_upload_filename').removeClass('highlight'); }, - loadingDone:function(name){ + loadingDone:function(name, id){ var mime, tr=$('tr').filterAttr('data-file',name); tr.data('loading',false); mime=tr.data('mime'); tr.attr('data-mime',mime); + if (id != null) { + tr.attr('data-id', id); + } getMimeIcon(mime,function(path){ tr.find('td.filename').attr('style','background-image:url('+path+')'); }); @@ -147,7 +150,7 @@ var FileList={ if (newname != name) { if (FileList.checkName(name, newname, false)) { newname = name; - } else { + } else { $.get(OC.filePath('files','ajax','rename.php'), { dir : $('#dir').val(), newname: newname, file: name },function(result) { if (!result || result.status == 'error') { OC.dialogs.alert(result.data.message, 'Error moving file'); @@ -155,25 +158,24 @@ var FileList={ } tr.data('renaming',false); }); - - } - - tr.attr('data-file', newname); - var path = td.children('a.name').attr('href'); - td.children('a.name').attr('href', path.replace(encodeURIComponent(name), encodeURIComponent(newname))); - if (newname.indexOf('.') > 0 && tr.data('type') != 'dir') { - var basename=newname.substr(0,newname.lastIndexOf('.')); - } else { - var basename=newname; - } - td.children('a.name').empty(); - var span=$('<span class="nametext"></span>'); - span.text(basename); - td.children('a.name').append(span); - if (newname.indexOf('.') > 0 && tr.data('type') != 'dir') { - span.append($('<span class="extension">'+newname.substr(newname.lastIndexOf('.'))+'</span>')); + } } + tr.attr('data-file', newname); + var path = td.children('a.name').attr('href'); + td.children('a.name').attr('href', path.replace(encodeURIComponent(name), encodeURIComponent(newname))); + if (newname.indexOf('.') > 0 && tr.data('type') != 'dir') { + var basename=newname.substr(0,newname.lastIndexOf('.')); + } else { + var basename=newname; + } + td.children('a.name').empty(); + var span=$('<span class="nametext"></span>'); + span.text(basename); + td.children('a.name').append(span); + if (newname.indexOf('.') > 0 && tr.data('type') != 'dir') { + span.append($('<span class="extension">'+newname.substr(newname.lastIndexOf('.'))+'</span>')); + } return false; }); input.click(function(event){ @@ -187,9 +189,9 @@ var FileList={ checkName:function(oldName, newName, isNewFile) { if (isNewFile || $('tr').filterAttr('data-file', newName).length > 0) { if (isNewFile) { - $('#notification').html(newName+' '+t('files', 'already exists')+'<span class="replace">'+t('files', 'replace')+'</span><span class="suggest">'+t('files', 'suggest name')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>'); + $('#notification').html(escapeHTML(newName)+' '+t('files', 'already exists')+'<span class="replace">'+t('files', 'replace')+'</span><span class="suggest">'+t('files', 'suggest name')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>'); } else { - $('#notification').html(newName+' '+t('files', 'already exists')+'<span class="replace">'+t('files', 'replace')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>'); + $('#notification').html(escapeHTML(newName)+' '+t('files', 'already exists')+'<span class="replace">'+t('files', 'replace')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>'); } $('#notification').data('oldName', oldName); $('#notification').data('newName', newName); @@ -262,17 +264,17 @@ var FileList={ if (FileList.lastAction) { FileList.lastAction(); } - + FileList.prepareDeletion(files); - + if (!FileList.useUndo) { FileList.lastAction(); } else { // NOTE: Temporary fix to change the text to unshared for files in root of Shared folder if ($('#dir').val() == '/Shared') { - $('#notification').html(t('files', 'unshared')+' '+files+'<span class="undo">'+t('files', 'undo')+'</span>'); + $('#notification').html(t('files', 'unshared')+' '+ escapeHTML(files) +'<span class="undo">'+t('files', 'undo')+'</span>'); } else { - $('#notification').html(t('files', 'deleted')+' '+files+'<span class="undo">'+t('files', 'undo')+'</span>'); + $('#notification').html(t('files', 'deleted')+' '+ escapeHTML(files)+'<span class="undo">'+t('files', 'undo')+'</span>'); } $('#notification').fadeIn(); } diff --git a/apps/files/js/files.js b/apps/files/js/files.js index 0c00fe8c922..777a5ec647e 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; @@ -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(); @@ -341,7 +347,7 @@ $(document).ready(function() { 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(); @@ -371,7 +377,7 @@ $(document).ready(function() { 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(); @@ -408,7 +414,7 @@ $(document).ready(function() { } }) }); - + } $.assocArraySize = function(obj) { // http://stackoverflow.com/a/6700/11236 var size = 0, key; @@ -513,6 +519,7 @@ $(document).ready(function() { FileList.addFile(name,0,date,false,hidden); var tr=$('tr').filterAttr('data-file',name); 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+')'); }); @@ -530,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'); } @@ -566,6 +575,7 @@ $(document).ready(function() { FileList.addFile(localName,size,date,false,hidden); var tr=$('tr').filterAttr('data-file',localName); 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+')'); }); @@ -592,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) { |