#!/usr/local/bin/perl
# edit_mod.cgi
# Display the details and documentation of a perl module
require './cpan-lib.pl';
&ReadParse();
if ($in{'name'}) {
@mods = &list_perl_modules($in{'name'});
$mod = $mods[0];
}
else {
@mods = &list_perl_modules($in{'name'});
$mod = $mods[$in{'idx'}];
}
$midx = $in{'midx'} ? $in{'midx'} : 0;
&ui_print_header(undef, $text{'edit_title'}, "");
print "
\n";
print " | $text{'edit_header'} |
\n";
print " \n";
@m = @{$mod->{'mods'}};
($desc, $ver) = &module_desc($mod, $midx);
print " | $text{'edit_mod'} | \n";
print "$m[$midx] $ver | \n";
print "$text{'edit_desc'} | \n";
print "",$desc ? &html_escape($desc) : $text{'edit_none'}," | \n";
print " | $text{'edit_date'} | \n";
print "$mod->{'date'} | \n";
print "$text{'edit_file'} | \n";
print "$mod->{'files'}->[$midx] | \n";
print " | $text{'edit_method'} | \n";
print "",$mod->{'pkg'} ?
&text('edit_'.$mod->{'pkgtype'}, "$mod->{'pkg'}") :
$text{'edit_manual'}," | \n";
print " \n";
if ($midx == $mod->{'master'} && @m > 1) {
print " | $text{'edit_subs'} | \n";
print "";
for($i=0; $i<@m; $i++) {
print "$m[$i] \n" if ($i != $mod->{'master'});
}
print " | \n";
}
print " |
\n";
print " \n";
if ($midx == $mod->{'master'} && !$mod->{'noremove'}) {
print "\n";
}
if ($midx == $mod->{'master'} && !$mod->{'noupgrade'}) {
print "\n";
}
print "
\n";
print "
\n";
open(DOC, "$perl_doc -t '$m[$midx]' 2>/dev/null |");
while() { $doc .= $_; }
close(DOC);
if ($doc =~ /\S/) {
print "\n";
print " | $text{'edit_header2'} |
\n";
print " ";
print &html_escape($doc);
print " |
\n";
}
&ui_print_footer($midx != $mod->{'master'} ?
( "edit_mod.cgi?idx=$in{'idx'}&midx=$mod->{'master'}&name=$in{'name'}",
$text{'edit_return'} ) : ( ),
"", $text{'index_return'});