X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FPackages%2FDoSearch.pm;h=a889ef5ca89870fc2d8f35430e22906f772262fa;hb=8d29452530e823cbcd07a30898e98abe565a046c;hp=866bbc08f6169d1a1fe7453c1c3c1293550deff9;hpb=6768e397b3e37540925dd1febca677e1a6ca1bb4;p=deb%2Fpackages.git diff --git a/lib/Packages/DoSearch.pm b/lib/Packages/DoSearch.pm index 866bbc0..a889ef5 100644 --- a/lib/Packages/DoSearch.pm +++ b/lib/Packages/DoSearch.pm @@ -39,10 +39,7 @@ sub do_search { # for URL construction my $keyword_esc = uri_escape( $keyword ); - my $suites_param = join ',', @{$params->{values}{suite}{no_replace}}; - my $sections_param = join ',', @{$params->{values}{section}{no_replace}}; - my $archs_param = join ',', @{$params->{values}{arch}{no_replace}}; - $opts->{common_params} = "suite=$suites_param§ion=$sections_param&keywords=$keyword_esc&searchon=$searchon&arch=$archs_param"; + $opts->{keywords_esc} = $keyword_esc; # for output my $keyword_enc = encode_entities $keyword || ''; @@ -134,7 +131,7 @@ sub do_search { if ($opts->{exact}) { hint( sprintf( _g( 'You have searched only for words exactly matching your keywords. You can try to search allowing subword matching.' ), - encode_entities("$SEARCH_URL?exact=0&$opts->{common_params}") ) ); + encode_entities(make_search_url('',"keywords=$keyword_esc",{exact => 0})) ) ); } } hint( sprintf( _g( 'You can try a different search on the Packages search page.' ), "$SEARCH_PAGE#search_packages" ) ); @@ -172,7 +169,7 @@ sub do_search { $subsect{$pkg}{$suite}{$version} = $subsection; $sect{$pkg}{$suite}{$version} = $section unless $section eq 'main'; - $archives{$pkg}{$suite}{$version} = $archive; + $archives{$pkg}{$suite}{$version} ||= $archive; $desc{$pkg}{$suite}{$version} = $desc; } else { @@ -250,7 +247,7 @@ sub print_packages { } } elsif (@$pkgs_list) { $str .= "

".sprintf( _g( '%s results have not been displayed because you requested only exact matches.' ), - encode_entities("$SEARCH_URL?exact=0&$opts->{common_params}"), + encode_entities(make_search_url('',"keywords=$opts->{keyword_esc}",{exact => 0})), scalar @$pkgs_list )."

"; } $str .= ''; @@ -264,7 +261,7 @@ sub print_package { my $str = '

'.sprintf( _g( 'Package %s' ), $pkg ).'

'; $str .= '\n";