#!/usr/bin/perl package nzbget::list; use strict; use Apache2::Const -compile => qw(OK REDIRECT); use CGI qw(:standard); use utf8; use local::nzbget; use local::db; use local::user; use local::menu; sub handler { my $user = new local::user(%ENV); print header; my $menu=new local::menu(%ENV); print $menu->start_html('my downloads'); my $module = $ENV{REQUEST_URI}; $module =~ s'.*/''; $module =~ s'\?.*''; my $only_me = $module eq 'download_2' ? 1:0; print table({class=>'nohigh'},Tr(td({align=>'right'},['benutzter Speicherplatz   '. $user->obj->quota_used().' / '.$user->obj->quoata().' MB']))) if ($only_me); print CGI::start_table(); print Tr(th([qw/Neu # Kategorie Name Größe Löschen /])); # SELECT COUNT(user),download FROM seen GROUP BY download my %dl_counts; for my $dl_count ( local::db::seen->search_count_download()) { $dl_counts{$dl_count->{download}}=$dl_count->{dlcount}; } my @downloads = local::db::download->search( $only_me ? (owner=>$user->get_id()) : () , param('category') ? (category => param('category')) : (), completed=>1,{ order_by => 'time DESC'}); foreach my $dl ( @downloads) { my $dl_remove; $dl_remove = a({href=>'remove?id='.$dl->download_id},$dl->owner->name) if $user->is_admin(); $dl_remove = a({href=>'remove?id='.$dl->download_id},"löschen") if $dl->owner->owner_id == $user->get_id; print Tr(td([ (local::db::seen->search(user=>$user->get_id(),download=>$dl->download_id))?'':'x',$dl_counts{$dl->download_id}, a({href=>"$module?category=".$dl->category->category_id},$dl->category->name),a({title=>$dl->description,href=>'read?id='.$dl->download_id},$dl->name),$dl->size.'MB',$dl_remove ])); } ; print CGI::end_table(); print $menu->end_html(); return Apache2::Const::OK; } 1;