#!/usr/bin/perl use strict; use CGI qw(:standard); 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'); my ($download) = local::db::download->retrieve($del_id) or die 'Error in cancel'; die "Not allowed" if not $download->owner->owner_id() eq $user->get_id(); my $basedir = $config::config{files_dir} or die 'Missing files_dir in config'; my $cli = new local::nzbget; my $row = $cli->send_request('listgroups') or die "Can't connect to nubget"; foreach my $value ( @$row) { 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($basedir'/'.$dl->category->name.'/'.$dl->download_id); $user->obj->quota_used($user->obj->quota_used - $dl->size); $user->obj->update; my @seens = local::db::seen->search(download=>$del_id); map {$_->delete()} @seens; $dl->delete(); } } print CGI::redirect('/cgi-bin/nzbget/groups.pl');