Handle hostnames with upper-case letters
[webmin.git] / webmin_search.cgi
old mode 100644 (file)
new mode 100755 (executable)
index 6ae8d61..456b42e
@@ -1,6 +1,7 @@
 #!/usr/local/bin/perl
 # Search Webmin modules and help pages and text and config.info
 
+$trust_unknown_referers = 1;
 BEGIN { push(@INC, ".."); };
 use WebminCore;
 
@@ -10,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'};
@@ -21,9 +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);
+@rv = &search_webmin($re, \&print_search_dot, $mods);
 print &text('wsearch_found', scalar(@rv)),"<p>\n";
 
 # Show in table