2 # Show a form in a popup window for selecting a package from the update system
4 $trust_unknown_referers = 1;
5 require './software-lib.pl';
8 &popup_header($text{'find_title'});
13 window.opener.ifield.value = m;
20 # Show form for searching
21 print &ui_form_start("find.cgi");
22 print &ui_submit($text{'find_search'}),"\n";
23 print &ui_textbox("search", $in{'search'}, 20),"\n";
26 # Show results, if any
27 $search = $in{'search'};
28 if (defined($search)) {
31 @avail = &update_system_available();
33 elsif (defined(&update_system_search)) {
34 # Call the search function
35 @avail = &update_system_search($search);
38 # Scan through list manually
39 @avail = &update_system_available();
40 @avail = grep { $_->{'name'} =~ /\Q$search\E/i ||
41 $_->{'desc'} =~ /\Q$search\E/i } @avail;
43 @avail = sort { lc($a->{'name'}) cmp lc($b->{'name'}) } @avail;
47 $hasdesc++ if ($a->{'desc'});
48 $hasver++ if ($a->{'version'});
50 print &ui_columns_start(
52 $hasver ? ($text{'find_version'}) : ( ),
53 $hasdesc ? ($text{'find_desc'}) : ( ) ], "100%");
55 $sel = $a->{'select'} || $a->{'name'};
56 $epoch = $a->{'epoch'} ? "$a->{'epoch'}:" : "";
57 print &ui_columns_row(
58 [ "<a href='' onClick='sel(\"$sel\")'>$a->{'name'}</a>",
59 $hasver ? ($epoch.$a->{'version'}) : ( ),
60 $hasdesc ? ($a->{'desc'}) : ( ) ]);
62 print &ui_columns_end();
65 print "<b>$text{'find_none'}</b><p>\n";