diff --git a/apps/files/js/files.js b/apps/files/js/files.js index 414dfb03cdccaecf4eb6535b620ffb5a604b3255..e403745452078a8020c61ea8ef0a6efc56029479 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; }); diff --git a/apps/files_sharing/public.php b/apps/files_sharing/public.php index 67b2dca8c9e7b51c7fc5115b5c83f707f647c94c..34340102a9e9b18aa0221122d8b5ef5ae2254e82 100644 --- a/apps/files_sharing/public.php +++ b/apps/files_sharing/public.php @@ -83,7 +83,9 @@ if (isset($_GET['file']) || isset($_GET['dir'])) { // Download the file if (isset($_GET['download'])) { if (isset($_GET['dir'])) { - if (isset($_GET['path']) && $_GET['path'] != '' ) { // download a file from a shared directory + if ( isset($_GET['files']) ) { // download selected files + OC_Files::get($path, $_GET['files'], $_SERVER['REQUEST_METHOD'] == 'HEAD' ? true : false); + } else if (isset($_GET['path']) && $_GET['path'] != '' ) { // download a file from a shared directory OC_Files::get('', $path, $_SERVER['REQUEST_METHOD'] == 'HEAD' ? true : false); } else { // download the whole shared directory OC_Files::get($path, '', $_SERVER['REQUEST_METHOD'] == 'HEAD' ? true : false);