3 # Display the details and documentation of a perl module
5 require './cpan-lib.pl';
8 @mods = &list_perl_modules($in{'name'});
12 @mods = &list_perl_modules($in{'name'});
13 $mod = $mods[$in{'idx'}];
15 $midx = $in{'midx'} ? $in{'midx'} : 0;
17 &ui_print_header(undef, $text{'edit_title'}, "");
19 print &ui_table_start($text{'edit_header'}, "width=100%", 4);
21 # Module name and version
22 @m = @{$mod->{'mods'}};
23 ($desc, $ver) = &module_desc($mod, $midx);
24 print &ui_table_row($text{'edit_mod'}, "$m[$midx] $ver");
27 print &ui_table_row($text{'edit_desc'},
28 $desc ? &html_escape($desc) : $text{'edit_none'}, 2);
31 print &ui_table_row($text{'edit_date'}, $mod->{'date'});
34 print &ui_table_row($text{'edit_file'}, $mod->{'files'}->[$midx]);
36 # Install method (RPM or whatever)
37 print &ui_table_row($text{'edit_method'},
38 $mod->{'pkg'} ? &text('edit_'.$mod->{'pkgtype'}, "<tt>$mod->{'pkg'}</tt>")
39 : $text{'edit_manual'});
41 if ($midx == $mod->{'master'} && @m > 1) {
44 for($i=0; $i<@m; $i++) {
45 push(@links, "<a href='edit_mod.cgi?idx=$in{'idx'}&midx=$i&name=$in{'name'}'>$m[$i]</a>") if ($i != $mod->{'master'});
47 print &ui_table_row($text{'edit_subs'}, &ui_links_row(\@links), 3);
50 print &ui_table_end();
53 print "<table> <tr>\n";
54 if ($midx == $mod->{'master'} && !$mod->{'noremove'}) {
55 print &ui_form_start("uninstall.cgi");
56 print &ui_hidden("idx", $in{'idx'});
57 print "<td>",&ui_submit($text{'edit_uninstall'}),"</td>\n";
62 if ($midx == $mod->{'master'} && !$mod->{'noupgrade'}) {
63 print &ui_form_start("download.cgi");
64 print &ui_hidden("cpan", $mod->{'mods'}->[0]);
65 print &ui_hidden("source", 3);
66 print "<td>",&ui_submit($text{'edit_upgrade'}),"</td>\n";
71 # Module documentation
72 open(DOC, "$perl_doc -t '$m[$midx]' 2>/dev/null |");
73 while(<DOC>) { $doc .= $_; }
76 print &ui_table_start($text{'edit_header2'}, "width=100%", 2);
77 print &ui_table_row(undef, "<pre>".&html_escape($doc)."</pre>", 2);
78 print &ui_table_end();
81 &ui_print_footer($midx != $mod->{'master'} ?
82 ( "edit_mod.cgi?idx=$in{'idx'}&midx=$mod->{'master'}&name=$in{'name'}",
83 $text{'edit_return'} ) : ( ),
84 "", $text{'index_return'});