From 47e6c70ef295d7480be741e8c80124e372b95418 Mon Sep 17 00:00:00 2001 From: Othmar Gsenger Date: Sat, 15 Jan 2011 01:45:31 +0000 Subject: added remove --- cancel.pl | 6 +++++- groups.pl | 2 +- local/menu.pm | 4 ++-- mydl.pl | 4 +++- remove.pl | 18 ++++++++++++++++++ 5 files changed, 29 insertions(+), 5 deletions(-) create mode 100755 remove.pl diff --git a/cancel.pl b/cancel.pl index a342fc2..c3b7573 100755 --- a/cancel.pl +++ b/cancel.pl @@ -6,6 +6,7 @@ use CGI::Carp 'fatalsToBrowser'; use local::nzbget; use local::db; use local::user; +use File::Path qw(remove_tree); my $user = new local::user($ENV{REMOTE_USER}); my $del_id = param('id'); @@ -17,10 +18,13 @@ my $cli = new local::nzbget; my $row = $cli->send_request('listgroups') or die "Can't connect to nubget"; foreach my $value ( @$row) { - my ($download) = local::db::download->retrieve($value->{NZBNicename}->value) or die ' Error in groups'; + my ($dl) = local::db::download->retrieve($value->{NZBNicename}->value) or die ' Error in groups'; if ($value->{NZBNicename}->value == $del_id) { my $status = $cli->send_request('editqueue','GroupDelete',0,"",[$value->{LastID}->value]) or die "Can't connect to nzbget"; + sleep 1; + remove_tree('/srv/nzbget/done/'.$dl->category->name.'/'.$dl->download_id + $dl->delete(); } } diff --git a/groups.pl b/groups.pl index 359419b..5b992fd 100755 --- a/groups.pl +++ b/groups.pl @@ -57,7 +57,7 @@ sub Show_HTML $html.= < LALALA ; diff --git a/local/menu.pm b/local/menu.pm index 6019acb..3d8d73c 100644 --- a/local/menu.pm +++ b/local/menu.pm @@ -26,9 +26,9 @@ sub new sub start_html { my $self=shift; - + my ($title)=@_; my $active = $self->{SCRIPT_NAME}; - my $html= CGI::start_html(-style=>{'src'=>'/style.css'},@_); + my $html= CGI::start_html(-style=>{'src'=>'/style.css'},-title=>$title); my @elements; foreach my $url (keys %menus) { diff --git a/mydl.pl b/mydl.pl index 74dd98f..0ceb08d 100755 --- a/mydl.pl +++ b/mydl.pl @@ -23,8 +23,10 @@ if (param('only_me')) } foreach my $dl ( @downloads) { + my $dl_remove; + $dl_remove = a({href=>'/cgi-bin/nzbget/remove.pl?id='.$dl->download_id},"loeschen") if $dl->owner->owner_id == $user->get_id; print Tr(td([ - $dl->category->name,a({title=>$dl->description,href=>'/'.$dl->category->name.'/'.$dl->download_id},$dl->name),$dl->size.'MB' + $dl->category->name,a({title=>$dl->description,href=>'/'.$dl->category->name.'/'.$dl->download_id},$dl->name),$dl->size.'MB',$dl_remove ])); } diff --git a/remove.pl b/remove.pl new file mode 100755 index 0000000..5c76462 --- /dev/null +++ b/remove.pl @@ -0,0 +1,18 @@ +#!/usr/bin/perl + +use strict; +use CGI qw(:standard); +use CGI::Carp 'fatalsToBrowser'; +use local::db; +use local::user; +use File::Path qw(remove_tree); + +my $user = new local::user($ENV{REMOTE_USER}); +my $del_id = param('id'); + +my ($dl) = local::db::download->retrieve($del_id) or die 'Error in cancel'; +die "Not allowed" if not $dl->owner->owner_id() eq $user->get_id(); +remove_tree('/srv/nzbget/done/'.$dl->category->name.'/'.$dl->download_id); +$dl->delete(); + +print CGI::redirect('/cgi-bin/nzbget/mydl.pl?only_me=1'); -- cgit v1.2.3