--- trunk/WebPac.pm 2003/09/02 21:31:54 121 +++ trunk/WebPac.pm 2003/10/30 00:10:09 140 @@ -12,7 +12,7 @@ use Text::Unaccent; use lib '..'; -use index_DBI; +use index_DBI_cache; use back2html; @@ -79,6 +79,7 @@ my $full = $q->param('full'); my @persist_vars = ( 'rm' ); + my @url_params = ( 'rm=results', 'show_full=1', 'last_PAGER_offset='.$q->param('PAGER_offset') || 0 ); for(my $i = 1; $i <=30; $i++) { @@ -90,6 +91,9 @@ push @persist_vars, "f$i"; push @persist_vars, "v$i"; + push @url_params,"f$i=".$q->url_param("f$i"); + push @url_params,"v$i=".$q->url_param("v$i"); + # re-write query from +/- to and/and not my @param_vals = $q->param("v$i"); my @swish_q; @@ -108,7 +112,7 @@ $s.= ($s) ? "and " : ""; $s.="not " if ($1 eq "-"); $s.="$2* "; - } elsif (m/(and|or|not)/i) { + } elsif (m/^\s*(and|or|not)\s*$/i) { $s.="$_ "; # don't add * to words with less than x chars } elsif (length($_) <= $MIN_WILDCARD) { @@ -125,7 +129,7 @@ push @s_arr, $q->param("f$i")."_swish=(".join(" or ",@swish_q).")"; } - my $tmpl = $self->load_tmpl('results.html'); + my $tmpl = $self->load_tmpl('results.html', global_vars => 1); sub esc_html { my $html = shift; @@ -174,6 +178,8 @@ $tmpl->param('PAGER_offset',$q->param("PAGER_offset") || 0); $tmpl->param('last_PAGER_offset',$q->param("last_PAGER_offset") || 0); + $tmpl->param('url_params',"?".join("&",@url_params)); + # create a Pager object my $pager = HTML::Pager->new( # required parameters @@ -229,7 +235,7 @@ $cfg_global->val('global', 'dbi_passwd') || '' ); - my $total = $index->check($field); + my $total = $index->count($field,$limit); if (! $total) { my $tmpl = $self->load_tmpl('no_index.html'); $tmpl->param('field',$field); @@ -237,7 +243,7 @@ return $html; } - my $tmpl = $self->load_tmpl('index_res.html'); + my $tmpl = $self->load_tmpl('index_res.html', global_vars => 1); $tmpl->param('field',$field); $tmpl->param('limit',$limit); $tmpl->param('total',$total); @@ -252,7 +258,7 @@ get_data_callback => sub { my ($offset, $rows) = @_; - my @result = $index->fetch($field,'item',$limit, $offset, $rows); + my @result = $index->fetch($field,$limit, $offset, $rows); return \@result; }, rows => $total,