]> source.dussan.org Git - nextcloud-server.git/commitdiff
implemented deleting multiple files
authorArthur Schiwon <blizzz@arthur-schiwon.de>
Mon, 18 Apr 2011 14:48:35 +0000 (16:48 +0200)
committerArthur Schiwon <blizzz@arthur-schiwon.de>
Mon, 18 Apr 2011 14:48:35 +0000 (16:48 +0200)
files/ajax/delete.php
files/js/files.js

index 113476f0254e053f1cbd4c669a4a03b615bd2b08..79caf4d0bb2c37788574da480d7fde8aef66d14e 100644 (file)
@@ -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 )));
 }
 
 ?>
index 4bf1c77fdbde1ee82af6838791af3c034da7c824..06d5dbf032852b1108cbccf1b333c41df89f9bcc 100644 (file)
@@ -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() {