--- Webpacus/lib/Webpacus/Controller/Search.pm 2006/04/30 23:41:58 441 +++ Webpacus/lib/Webpacus/Controller/Search.pm 2006/05/01 10:30:03 442 @@ -213,10 +213,30 @@ maxPages => $c->config->{pager}->{max_pages} || 10, }); - # generate URL for pager without _page param - my $params_nopage = $params; - delete($params_nopage->{_page}); - $c->stash->{uri_nopage} = $c->uri_for('results', $params_nopage)->as_string; + my $site_uri_params = $params; + + map { + delete( $site_uri_params->{$_} ) unless ( $site_uri_params->{$_} ); + } keys %{ $site_uri_params }; + + $c->stash->{site_uri_params} = sub { + + my $s_params = $site_uri_params; + + $c->log->dumper( $s_params, 'original_params' ); + + my $n_params = shift; + foreach my $p (keys %{ $n_params }) { + if (! $n_params->{$p}) { + delete($s_params->{$p}); + } else { + $s_params->{$p} = $n_params->{$p}; + } + } + + $c->log->dumper( $s_params, 'site_uri_params' ); + return $c->uri_for('results', $s_params)->as_string; + }; $c->stash->{template} = 'results.tt';