diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index 9fea7f5145e..21011a811c5 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -163,13 +163,18 @@ var FileActions = { }; $(document).ready(function () { + var hasDownloadAction = false; + var downloadScope; if ($('#allowZipDownload').val() == 1) { - var downloadScope = 'all'; + downloadScope = 'all'; } else { - var downloadScope = 'file'; + downloadScope = 'file'; } - if (typeof disableDownloadActions == 'undefined' || !disableDownloadActions) { + hasDownloadAction = FileActions.actions[downloadScope] && FileActions.actions[downloadScope].Download; + + // do not override download action if it exists (might have been registered by an app already) + if ((typeof disableDownloadActions == 'undefined' || !disableDownloadActions) && !hasDownloadAction) { FileActions.register(downloadScope, 'Download', OC.PERMISSION_READ, function () { return OC.imagePath('core', 'actions/download'); }, function (filename) { diff --git a/apps/files_sharing/js/public.js b/apps/files_sharing/js/public.js index 730649c6378..0696f8f8b5a 100644 --- a/apps/files_sharing/js/public.js +++ b/apps/files_sharing/js/public.js @@ -25,13 +25,17 @@ $(document).ready(function() { window.location = $(tr).find('a.name').attr('href'); } }); - FileActions.register('file', 'Download', OC.PERMISSION_READ, '', function(filename) { + FileActions.register('file', 'Download', OC.PERMISSION_READ, function() { + return OC.imagePath('core', 'actions/download'); + }, function(filename) { var tr = FileList.findFileEl(filename); if (tr.length > 0) { window.location = $(tr).find('a.name').attr('href'); } }); - FileActions.register('dir', 'Download', OC.PERMISSION_READ, '', function(filename) { + FileActions.register('dir', 'Download', OC.PERMISSION_READ, function() { + return OC.imagePath('core', 'actions/download'); + }, function(filename) { var tr = FileList.findFileEl(filename); if (tr.length > 0) { window.location = $(tr).find('a.name').attr('href')+'&download';