From: Jan Michel <j.michel@gsi.de>
Date: Wed, 19 Oct 2016 07:45:48 +0000 (+0200)
Subject: add option to delete several files at once in presenter
X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=2bd81c08195b2c74af250cdf70a75d3a0a909ea8;p=labtools.git

add option to delete several files at once in presenter
---

diff --git a/presenter/deletePic.pl b/presenter/deletePic.pl
index ed54524..3a015c9 100755
--- a/presenter/deletePic.pl
+++ b/presenter/deletePic.pl
@@ -13,14 +13,18 @@ if (!($room =~ /^[a-zA-Z0-9]+$/) || !(-d "store/$room")) {
 }
 
  
-my $t = $cgi->param("img");
-if(($t =~ /[\"\$\(\)\/]/ || !(-e "store/$room/$t")) && ($t =~ /.png$/i || $t =~ /.jpg$/i)) {
-  print "Invalid selection";
-  return 1;
+my $s = $cgi->param("img");
+my @r = split('%',$s);
+
+foreach my $t (@r) {
+  if(($t =~ /[\"\$\(\)\/]/ || !(-e "store/$room/$t")) && ($t =~ /.png$/i || $t =~ /.jpg$/i)) {
+    print "Invalid selection $t";
+    #return 1;
+  }
+  else {
+  system("rm store/$room/$t store/$room/thumb/$t");
 }
-
-system("rm store/$room/$t store/$room/thumb/$t");
-
+  }
 
 print <<REDOC;
 <!DOCTYPE html>
diff --git a/presenter/scripts.js b/presenter/scripts.js
index 720d97d..596425f 100644
--- a/presenter/scripts.js
+++ b/presenter/scripts.js
@@ -60,11 +60,20 @@ function presentNext(d) {
   }
 
 function deletePic(f) {
-  if(f != "") {
-    getData("deletePic.pl?img="+f+"&room="+currentRoom);
+
+  g = '';
+  x = document.getElementById('filelist');
+  for (var i = 0; i < x.options.length; i++) {
+   if(x.options[i].selected){
+      g= g + '%' + x.options[i].value;
+    }
+  } 
+  if(g != "") {
+    if(confirm('Really delete selected files?'))
+      getData("deletePic.pl?img="+g+"&room="+currentRoom);
     }
   else {
-    alert("Select a file to show!");
+    alert("Select a file to delete!");
     }
   }
 
@@ -108,5 +117,11 @@ function previewSelected() {
   }
 
 
+function togglemulti() {
+  document.getElementById("filelist").setAttribute('multiple','multiple');
+  }
+
+
+
 setTimeout('updatefiles();',500);
 setTimeout('updatepresentation(" ");',200);
diff --git a/presenter/showroom.pl b/presenter/showroom.pl
index 1cc9b32..cc51d02 100755
--- a/presenter/showroom.pl
+++ b/presenter/showroom.pl
@@ -40,8 +40,9 @@ Select a file and press upload.
 <div id="files"> &nbsp; </div>
 <button type="button" onClick="window.open('store/$room/'+document.getElementById('filelist').value)">Show 2 Me</button>
 <button type="button" onClick="present(document.getElementById('filelist').value)">Show 2 All</button>
-<button type="button" onClick="deletePic(document.getElementById('filelist').value)">Delete</button>
-<div id="current"></div><div id="preview"></div>
+<br><button type="button" onClick="deletePic(document.getElementById('filelist').value)">Delete</button>
+<button type="button" onClick="togglemulti()" title='Enable selecting several files for deletion'>MS</button>
+<div id="current"></div><div id="preview"></div>You can use arrow keys to change slides!</div>
 </body></html>
 HDOC