3 # Display information about a file owned by the package management system
5 require './software-lib.pl';
8 &ui_print_header(undef, $text{'file_title'}, "", "file_info");
12 # if the filename is not absolute, look for it
13 foreach $p (split(/:/, $ENV{'PATH'})) {
14 last if (&installed_file("$p/$f"));
18 # absolute path.. must exist in DB
23 print "<b>",&text('file_notfound', "<tt>$f</tt>"),"</b><p>\n";
27 $nc = "width=10% nowrap";
28 print &ui_table_start($text{'file_title'}, "width=100%", 4);
30 print &ui_table_row($text{'file_path'},
31 "<tt>".&html_escape($file{'path'})."</tt>", 3);
33 print &ui_table_row($text{'file_type'},
34 $type_map[$file{'type'}]);
36 if ($file{'type'} != 3 && $file{'type'} != 4) {
37 print &ui_table_row($text{'file_perms'}, $file{'mode'});
39 print &ui_table_row($text{'file_owner'}, $file{'user'});
40 print &ui_table_row($text{'file_group'}, $file{'group'});
42 if ($file{'type'} == 0) {
43 print &ui_table_row($text{'file_size'}, $file{'size'});
47 print &ui_table_row($text{'file_link'},
48 "<tt>".&html_escape($file{'link'})."</tt>", 3);
50 print &ui_table_end();
52 # Show packages containing the file (usually only one)
53 print &ui_columns_start([ $text{'file_pack'},
55 $text{'file_desc'} ], 100);
56 @pkgs = split(/\s+/, $file{'packages'});
57 @vers = split(/\s+/, $file{'versions'});
58 $n = &list_packages(@pkgs);
59 for($j=0; $j<@pkgs; $j++) {
60 for($i=0; $i<$n; $i++) {
62 $packages{$i,'version'} ne $vers[$j] ||
63 $packages{$i,'name'} ne $pkgs[$j]);
65 push(@cols, "<a href=\"edit_pack.cgi?package=".
66 &urlize($pkgs[$j])."&version=".&urlize($vers[$j]).
68 $c = $packages{$i,'class'};
69 push(@cols, $c || $text{'file_none'});
70 push(@cols, $packages{$i,'desc'});
71 print &ui_columns_row(\@cols);
74 print &ui_columns_end();
77 &ui_print_footer("", $text{'index_return'});