#!/usr/bin/perl use strict; use CGI qw(:standard); use CGI::Carp 'fatalsToBrowser'; use local::db; use local::nzbget; use utf8; use local::user; my $user = new local::user(%ENV); my $nzbget = new local::nzbget; die "Kein name angegeben" if not param('name'); die 'Kein freier Speicher' if $user->obj->quota_used>$user->obj->quoata; 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>/; $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('/cgi-bin/nzbget/groups.pl'); } else { print header; print start_html('nzbget enqueue error'); print 'Error'; print end_html(); }