[!
use strict;
use PVE::pvecfg;
use PVE::I18N;
use PVE::ConfigServer;
use PVE::HTMLDropDown;
use PVE::HTMLTable;
use PVE::HTMLControls;
use PVE::HTMLUtils;
use PVE::APLInfo;
!]
[-
use strict;
my $cinfo = $fdat{__cinfo};
my $out = '';
my $pkglist = PVE::APLInfo::load_data();
if ($udat{action}) {
eval {
check_write_mode ($udat{AM});
my $conn = PVE::ConfigClient::connect ();
$udat{apldl_track_id} = $conn->apl_start_download ($udat{auth_username}, $fdat{aa})->result;
};
$udat{popup_error} = $@ if $@;
return;
}
if ($udat{apldl_track_id}) {
$out .= PVE::HTMLUtils::create_apldownload_frame ($udat{auth_username}, $udat{apldl_track_id});
$out .= "
\n";
}
if ($fdat{showinfo} && (my $d = $pkglist->{'all'}->{$fdat{showinfo}})) {
print OUT PVE::HTMLUtils::create_pkginfo_frame ($d, 1);
return;
}
my @header = ('1', '20px', ' ',
'1', '10px', ' ',
'1', '300px', __('Description'),
'1', '100px', __('Version'),
'1', '100px', __('Type'),
'1', '200px', __('Package name'),
);
my $ddown = PVE::HTMLDropDown->new ();
$ddown->add_item ("menu0", "?action=download", __('Download'));
$out .= $ddown->out_dropdown_menu("menu0");
my $table = PVE::HTMLTable->new ([]);
$table->add_headline (\@header);
my $found = 0;
foreach my $k (sort keys %{$pkglist->{all}}) {
my $d = $pkglist->{all}->{$k};
next if !$d->{certified};
my $menu = $ddown->out_symbol ('menu0', '', "&aa=$k");
$found = 1;
$table->set_row_link ("?showinfo=$k");
$table->add_row ('', $menu, '', $d->{headline}, $d->{version}, $d->{type}, $d->{package});
}
if ($found) {
my $html = $table->out_table ();
$out .= PVE::HTMLUtils::create_statusframe ('', "Certified Appliances", '', $html);
$out .= "
\n";
}
foreach my $sec (sort keys %$pkglist) {
next if $sec eq 'all';
my $table = PVE::HTMLTable->new ([]);
$table->add_headline (\@header);
$found = 0;
foreach my $k (sort keys %{$pkglist->{$sec}}) {
my $d = $pkglist->{$sec}->{$k};
next if $d->{certified};
my $menu = $ddown->out_symbol ('menu0', '', "&aa=$k");
$found = 1;
$table->set_row_link ("?showinfo=$k");
$table->add_row ('', $menu, '', $d->{headline}, $d->{version}, $d->{type}, $d->{package});
}
if ($found) {
my $html = $table->out_table ();
$out .= PVE::HTMLUtils::create_statusframe ('', "Section '$sec'", '', $html);
$out .= "
\n";
}
}
print OUT $out;
-]