#!/usr/local/bin/perl # search.cgi # Display a list of packages where the name or description matches some string require './cluster-software-lib.pl'; &ReadParse(); $s = $in{'search'}; @hosts = &list_software_hosts(); foreach $h (@hosts) { foreach $p (@{$h->{'packages'}}) { if ($p->{'name'} =~ /$s/i || $p->{'desc'} =~ /$s/i && !$already{$p->{'name'}}++) { push(@match, $p); } } } if (@match == 1) { &redirect("edit_pack.cgi?package=".&urlize($match[0]->{'name'})); exit; } &header($text{'search_title'}, ""); print "
\n"; if (@match) { @match = sort { lc($a->{'name'}) cmp lc($b->{'name'}) } @match; print "

",&text('search_match', "$s"),"

\n"; print "\n"; print " ", " ", "\n"; foreach $i (@match) { print "\n"; print "\n"; $c = $i->{'class'}; print "\n"; print "\n"; print "\n"; } print "
$text{'search_pack'}$text{'search_class'}$text{'search_desc'}
{'name'}),"\">$i->{'name'}",$c ? $c : $text{'search_none'},"$i->{'desc'}

\n"; } else { print "

",&text('search_nomatch', "$s"),"

\n"; } print "
\n"; &footer("", $text{'index_return'});