summaryrefslogtreecommitdiff
path: root/enqueue.pl
blob: 7861073dc47e1d3a3cf50db33e5985d49dad8bf4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/perl
use strict;
use CGI qw(:standard);
use CGI::Carp 'fatalsToBrowser';
use local::db;
use local::nzbget;

use local::user;
my $user = new local::user($ENV{REMOTE_USER}); 
my $nzbget = new local::nzbget;

my $cat = local::db::category->retrieve(name=>param('cat'));
die "Ungültige category" if not $cat;

my $category = $cat->name();

my ($size) = param('description') =~ m/<b>(.*)<\/b>/;
$size = 0;
my $download = local::db::download->insert({owner=>$user->get_id(),name=>param('name'),category=>$cat->category_id(),description=>param('title'),size=>$size});
use LWP::Simple;
my $nzb = get(param('url'));
die "Couldn't get ".param('url') unless defined $nzb;
use MIME::Base64;
$nzb = encode_base64($nzb);
my $resp = $nzbget->send_request('append',RPC::XML::string->new($download->download_id()),RPC::XML::string->new($category),RPC::XML::boolean->new(0),RPC::XML::string->new($nzb));

if ($resp->value)
{
       print CGI::redirect('/'); 
} else {
	print header;
        print start_html('nzbget enqueue error');
        print 'Error';
        print end_html();
}