diff --git a/var/mongoose/cgi-bin/browse/delete.jim b/var/mongoose/cgi-bin/browse/delete.jim index f5e4596..f42de45 100755 --- a/var/mongoose/cgi-bin/browse/delete.jim +++ b/var/mongoose/cgi-bin/browse/delete.jim @@ -27,6 +27,9 @@ proc bindir {file} { return $dir } +# Handle deletions from the bin. +if {[string first $dustbin $file] > -1} { set dustbin "" } + if {$type eq "ts"} { set ts [ts fetch $file] if {$dustbin ne ""} { diff --git a/var/mongoose/cgi-bin/browse/mdelete.jim b/var/mongoose/cgi-bin/browse/mdelete.jim index 25bf252..40c5287 100755 --- a/var/mongoose/cgi-bin/browse/mdelete.jim +++ b/var/mongoose/cgi-bin/browse/mdelete.jim @@ -37,9 +37,15 @@ foreach file [cgi_get files] { continue } + if {[string first $dustbin $file] > -1} { + set ldustbin "" + } else { + set ldustbin $dustbin + } + if {[file isdirectory $file]} { puts -nonewline "Directory..." - if {$dustbin ne ""} { + if {$ldustbin ne ""} { set ndir "[bindir $file]/[file tail $file]" while {[file isdirectory $ndir]} { append ndir "_" } file rename $file $ndir @@ -49,7 +55,7 @@ foreach file [cgi_get files] { puts -nonewline "Done..." } elseif {[string match {*.ts} $file]} { set ts [ts fetch $file] - if {$dustbin ne ""} { + if {$ldustbin ne ""} { $ts move [bindir $file] } else { if {[$ts delete]} { @@ -59,7 +65,7 @@ foreach file [cgi_get files] { } } } else { - if {$dustbin ne ""} { + if {$ldustbin ne ""} { file rename $file "[bindir $file]/[file tail $file]" } else { tdelete $file diff --git a/var/mongoose/lib/tdelete b/var/mongoose/lib/tdelete index 97ac7cc..245f4ec 100644 --- a/var/mongoose/lib/tdelete +++ b/var/mongoose/lib/tdelete @@ -2,10 +2,10 @@ if {![exists -proc tdelete]} { proc tdelete {path} { if {[file isdirectory $path]} { - regsub -all {([\\["$])} $path {\\\1} path - foreach file [glob -nocomplain "${path}/*"] { + regsub -all {([\\["$])} $path {\\\1} cpath + foreach file [glob -nocomplain "${cpath}/*"] { if {[file isdirectory $file]} { - system tdelete $file + tdelete $file } else { exec /mod/bin/trm $file }