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"> </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