From 5a11e739b4fe3562df139798eac3566fa4809d60 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Mon, 18 Apr 2011 16:48:35 +0200 Subject: [PATCH] implemented deleting multiple files --- files/ajax/delete.php | 21 +++++++++++++++------ files/js/files.js | 19 +++++++++++++++++++ 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/files/ajax/delete.php b/files/ajax/delete.php index 113476f0254..79caf4d0bb2 100644 --- a/files/ajax/delete.php +++ b/files/ajax/delete.php @@ -14,14 +14,23 @@ if( !OC_USER::isLoggedIn()){ // Get data $dir = $_GET["dir"]; -$file = $_GET["file"]; +$files = isset($_GET["file"]) ? $_GET["file"] : $_GET["files"]; -// Delete -if( OC_FILES::delete( $dir, $file )){ - echo json_encode( array( "status" => "success", "data" => array( "dir" => $dir, "file" => $file ))); +$files = explode(';', $files); +$filesWithError = ''; +$status = 'success'; +//Now delete +foreach($files as $file) { + if( !OC_FILES::delete( $dir, $file )){ + $filesWithError .= $file . "\n"; + $status = 'error'; + } } -else{ - echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to delete file" ))); + +if($status == 'success') { + echo json_encode( array( "status" => $status, "data" => array( "dir" => $dir, "files" => $files ))); +} else { + echo json_encode( array( "status" => $status, "data" => array( "message" => "Could not delete:\n" . $filesWithError ))); } ?> diff --git a/files/js/files.js b/files/js/files.js index 4bf1c77fdbd..06d5dbf0328 100644 --- a/files/js/files.js +++ b/files/js/files.js @@ -113,6 +113,25 @@ $(document).ready(function() { window.location='ajax/download.php?files='+files+'&dir='+dir; return false; }); + + $('.delete').click(function(event) { + var files=''; + $('td.selection input:checkbox:checked').parent().parent().children('.filename').each(function(i,element){ + files+=';'+$(element).text(); + }); + files=files.substr(1);//remove leading ; + + //send the browser to the download location + $.ajax({ + url: 'ajax/delete.php', + data: "dir="+$('#dir').val()+"&files="+files, + complete: function(data){ + boolOperationFinished(data, false); + } + }); + + return false; + }); }); function uploadFinished() { -- 2.39.5