package local::menu; require Exporter; use CGI qw(:standard); use strict; use base "Exporter"; use local::user; use config; my %menus = ( '/cgi-bin/nzbget/groups.pl'=> [10 , 'Aktive Downloads'], '/cgi-bin/nzbget/mydl.pl?only_me=1'=>[20 , 'Meine Downloads'], '/cgi-bin/nzbget/mydl.pl'=> [30,'Alle Downloads'], '/cgi-bin/nzbget/log.pl'=> [50,'Protokoll'], '/cgi-bin/nzbget/search.pl'=> [5, 'Suche'], ); sub new { my $invocant = shift; my $class = ref($invocant) || $invocant; # my $self = $class->SUPER::new(@_); my $self=bless {@_}, $class; return $self; } sub start_html { my $self=shift; my ($title)=@_; my $active = $self->{REQUEST_URI}; my $html= CGI::start_html(-style=>{'src'=>'/style.css'},-title=>$title); my $user = new local::user($ENV{REMOTE_USER}); $html.= table({class=>'nohigh'},Tr({class=>'nohigh'},td({style=>'font-weight: bold'},[$config::config{page_name} ]),td({class=>'login',align=>'right'},[''.b('Angemeldet als: ').$user->get_name.'']))); $html.= CGI::start_div({class=>'bodydiv'}); my @elements; foreach my $url (sort {$menus{$a}->[0] <=> $menus{$b}->[0] } keys %menus) { if ($url eq $active) { push @elements,th({class=>'active'},[$menus{$url}->[1]]); } else { push @elements,th([a({href=>$url},$menus{$url}->[1])]); } } $html.= table({class=>'menu'}, Tr({class=>'menu'},join '',@elements ), ); return $html; } sub end_html { my $self=shift; my $html= CGI::end_div(); $html.= CGI::end_html; return $html; }