--- trunk/WebPac.pm 2003/07/16 15:49:56 114 +++ trunk/WebPac.pm 2003/09/03 23:07:21 124 @@ -26,6 +26,7 @@ my $INDEX = $cfg_global->val('webpac', 'index') || die "need index in global.conf, section webpac"; my $MAX_HITS = $cfg_global->val('webpac', 'max_hits') || 0; my $ON_PAGE =$cfg_global->val('webpac', 'on_page') || 10; +my $MIN_WILDCARD =$cfg_global->val('webpac', 'min_wildcard') || 1; Text::Iconv->raise_error(0); # Conversion errors raise exceptions @@ -107,7 +108,10 @@ $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) { $s.="$_ "; } else { $s.="$_* "; @@ -158,6 +162,8 @@ $sw_q .= join("\" or swishdocpath=\"",@path_arr); $sw_q .= "\")"; $tmpl->param('full',1); # show full records + } else { + $tmpl->param('full',0); } my $hits = $sh->query($sw_q); @@ -178,7 +184,7 @@ my @result; for (my $i=0; $i<$rows; $i++) { my $r = $swish_results[$offset+$i]; - if ($r && $q->param('show_full')) { + if ($r && $tmpl->param('full')) { push @result, $r; } elsif ($r) { # if not full output, skip html @@ -231,7 +237,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);