Fix allowing modules to be set by callers

This commit is contained in:
Jamie Cameron
2009-06-12 23:10:32 +00:00
parent 0955a7c5f7
commit 269691ba08
2 changed files with 19 additions and 9 deletions

View File

@@ -34,14 +34,14 @@ my $pn = &get_product_name();
my @mods;
if ($onlymods) {
# Modules specified by caller
@mods = @$onlymods;
@mods = grep { &foreign_available($_->{'dir'}) } @$onlymods;
}
else {
# All reasonabel modules
@mods = grep { !$_->{'clone'} }
grep { !$_->{'noui'} && !$_->{$pn.'_noui'} }
&get_available_module_infos();
# All reasonable modules
@mods = &get_available_module_infos();
}
@mods = grep { !$_->{'clone'} }
grep { !$_->{'noui'} && !$_->{$pn.'_noui'} } @mods;
@mods = sort { $b->{'longdesc'} cmp $a->{'longdesc'} } @mods;
foreach my $m (@mods) {
if ($m->{'desc'} =~ /\Q$re\E/i) {

View File

@@ -11,8 +11,8 @@ do 'webmin-search-lib.pl';
$prod = &get_product_name();
$ucprod = ucfirst($prod);
&ui_print_unbuffered_header(
undef, &text('wsearch_title', $ucprod), "", undef, 0, 1);
&ui_print_unbuffered_header(undef,
$in{'title'} || &text('wsearch_title', $ucprod), "", undef, 0, 1);
# Validate search text
$re = $in{'search'};
@@ -22,10 +22,20 @@ if ($re !~ /\S/) {
$re =~ s/^\s+//;
$re =~ s/\s+$//;
# Find modules to search
$mods = undef;
if ($in{'mod'}) {
$mods = [ ];
my %infos = map { $_->{'dir'}, $_ } &get_all_module_infos();
foreach my $mn (split(/\0/, $in{'mod'})) {
my $minfo = $infos{$mn};
push(@$mods, $minfo) if ($minfo);
}
}
# Do the search
print &text('wsearch_searching', "<i>".&html_escape($re)."</i>"),"\n";
@rv = &search_webmin($re, \&print_search_dot,
$in{'mod'} ? [ split(/\0/, $in{'mod'}) ] : undef);
@rv = &search_webmin($re, \&print_search_dot, $mods);
print &text('wsearch_found', scalar(@rv)),"<p>\n";
# Show in table