#!/usr/local/bin/perl # index.cgi # Display installed perl modules and a form for installing new ones require './cpan-lib.pl'; $ver = join(".", map { ord($_) } split(//, $^V)); &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0, undef, undef, undef, &text('index_pversion', $ver)); # Check if Perl is installed from a global zone if (&shared_perl_root()) { print "$text{'index_ezone'}

\n"; &ui_print_footer("/", $text{'index'}); exit; } # Display perl modules @mods = &list_perl_modules(); if (@mods) { print &ui_form_start("uninstall_mods.cgi", "post"); print &select_all_link("d", 0),"\n"; print &select_invert_link("d", 0),"
\n"; @tds = ( "width=5", undef, undef, undef, undef, "nowrap" ); print &ui_columns_start([ "", $text{'index_name'}, $text{'index_sub'}, $text{'index_desc'}, $text{'index_ver'}, $text{'index_date'} ], 100, 0, \@tds); foreach $m (sort { lc($a->{'mods'}->[$a->{'master'}]) cmp lc($b->{'mods'}->[$b->{'master'}]) } @mods) { local $mi = $m->{'master'}; local @cols; local $master = $m->{'mods'}->[$mi]; local $name = &html_escape($master); if ($m->{'pkg'}) { $name = "$name"; } push(@cols, "{'name'}'>$name"); push(@cols, @{$m->{'mods'}} - 1); local ($desc, $ver) = &module_desc($m, $mi); push(@cols, &html_escape($desc)); push(@cols, $ver); push(@cols, &make_date($m->{'time'})); print &ui_checked_columns_row(\@cols, \@tds, "d", $m->{'name'}); } print &ui_columns_end(); print &select_all_link("d", 0),"\n"; print &select_invert_link("d", 0),"
\n"; print &ui_form_end([ [ "delete", $text{'index_delete'} ], [ "upgrade", $text{'index_upgrade'} ] ]); print "


\n"; } # Display install form print "$text{'index_installmsg'}

\n"; print "

\n"; print " $text{'index_cpan'}\n"; print "\n"; print "\n"; @st = stat($packages_file); if (@st) { $now = time(); print "
   \n"; printf " %s\n", $st[9]+$config{'refresh_days'}*24*60*60 < $now ? "checked" : "", $text{'index_refresh'}; } print "
\n"; print " $text{'index_local'}\n"; print "\n"; print &file_chooser_button("local", 0); print "
\n"; print " $text{'index_uploaded'}\n"; print "
\n"; print " $text{'index_ftp'}\n"; print "
\n"; print "\n"; print "
\n"; # Show button to install recommended Perl modules @allrecs = &get_recommended_modules(); @recs = grep { eval "use $_->[0]"; $@ } @allrecs; if (@recs) { print "
\n"; print &ui_form_start("download.cgi"); print &ui_hidden("source", 3),"\n"; print "$text{'index_recs'}

\n"; print &ui_select("cpan", [ map { $_->[0] } @recs ], [ map { [ $_->[0], "$_->[0] ($_->[1]->{'desc'})" ] } @allrecs], 5, 1),"
\n"; print &ui_submit($text{'index_recsok'}); print &ui_form_end(); } elsif (@allrecs) { print "


\n"; print &text('index_recsgot',"".join(" ", map { $_->[0] } @allrecs).""),"

\n"; } &ui_print_footer("/", $text{'index'});