2011-06-22 23:36:30 +00:00
|
|
|
#!/mod/bin/jimsh
|
|
|
|
|
|
|
|
package require cgi
|
2012-01-10 19:51:45 +00:00
|
|
|
source /mod/var/mongoose/lib/setup
|
|
|
|
require ts.class system.class
|
2011-06-22 23:36:30 +00:00
|
|
|
|
|
|
|
puts "Content-Type: text/html"
|
|
|
|
puts ""
|
|
|
|
|
|
|
|
cgi_input
|
|
|
|
#cgi_dump
|
|
|
|
|
|
|
|
set file [dict get $_cgi file]
|
|
|
|
set type [dict get $_cgi type]
|
|
|
|
|
2012-01-10 19:51:45 +00:00
|
|
|
if {[system pkginst undelete]} {
|
|
|
|
set dustbin [system dustbin]
|
|
|
|
} else {
|
|
|
|
set dustbin ""
|
|
|
|
}
|
|
|
|
|
|
|
|
proc bindir {file} {
|
|
|
|
global dustbin
|
|
|
|
set dir [file dirname $file]
|
|
|
|
regsub "^[system mediaroot]" $dir $dustbin dir
|
|
|
|
system mkdir_p $dir
|
|
|
|
return $dir
|
|
|
|
}
|
|
|
|
|
2011-06-22 23:36:30 +00:00
|
|
|
if {$type eq "ts"} {
|
|
|
|
set ts [ts fetch $file]
|
2012-01-10 19:51:45 +00:00
|
|
|
if {$dustbin ne ""} {
|
|
|
|
$ts move [bindir $file]
|
2011-06-22 23:36:30 +00:00
|
|
|
} else {
|
2012-01-10 19:51:45 +00:00
|
|
|
if {[$ts delete]} {
|
|
|
|
puts "Successfully deleted $file."
|
|
|
|
} else {
|
|
|
|
puts "Problem deleting $file, [$ts get error]"
|
|
|
|
}
|
2011-06-22 23:36:30 +00:00
|
|
|
}
|
|
|
|
exit
|
2011-12-09 10:11:41 +00:00
|
|
|
} elseif {$type eq "dir"} {
|
|
|
|
puts -nonewline "Directory..."
|
2012-01-10 19:51:45 +00:00
|
|
|
if {$dustbin ne ""} {
|
|
|
|
set ndir "[bindir $file]/[file tail $file]"
|
|
|
|
while {[file isdirectory $ndir]} { append ndir "_" }
|
|
|
|
file rename $file $ndir
|
|
|
|
} else {
|
|
|
|
puts [exec /mod/bin/busybox/rm -rf $file]
|
|
|
|
}
|
2011-12-09 10:11:41 +00:00
|
|
|
puts -nonewline "Done..."
|
|
|
|
} else {
|
2012-01-10 19:51:45 +00:00
|
|
|
if {$dustbin ne ""} {
|
|
|
|
file rename $file "[bindir $file]/[file tail $file]"
|
|
|
|
} else {
|
|
|
|
file delete $file
|
|
|
|
}
|
|
|
|
catch {file delete "[file rootname $file].hmi"}
|
|
|
|
|
2011-12-09 10:11:41 +00:00
|
|
|
puts "Successfully deleted $file."
|
2011-06-22 23:36:30 +00:00
|
|
|
}
|
|
|
|
|