--- trunk/WebPac.pm 2005/02/21 22:21:53 675
+++ trunk/WebPac.pm 2005/03/13 02:00:35 696
@@ -10,6 +10,7 @@
use Config::IniFiles;
use Text::Unaccent;
use Data::Pageset;
+use POSIX qw(locale_h);
use lib '..';
use index_DBI_filter;
@@ -32,11 +33,15 @@
my $BASE_PATH =$cfg_global->val('webpac', 'base_path');
# for pager
my $pages_per_set = $cfg_global->val('webpac', 'pages_per_set') || 10;
+my $locale = $cfg_global->val('locale') || 'hr_HR';
Text::Iconv->raise_error(0); # Conversion errors raise exceptions
my $from_utf8 = Text::Iconv->new('UTF8', $CHARSET);
+setlocale(LC_CTYPE, $locale);
+setlocale(LC_COLLATE, $locale);
+
if ($UNAC_FILTER) {
require $UNAC_FILTER;
} else {
@@ -186,6 +191,7 @@
foreach my $v (@persist_vars) {
foreach my $val ($q->param($v)) {
next if (! $val || $val eq '');
+ $val =~ s/"/"/g;
$hidden_vars .= ''."\n";
$hidden_search .= ''."\n" if ($v ne "rm");
}
@@ -227,6 +233,12 @@
my $q = $self->query();
+ # submit was reset?
+ if ($q->param('reset')) {
+ $q->delete_all;
+ return $self->show_search_form();
+ }
+
# load template for this page
my @s_arr; # all queries are located here
@@ -267,6 +279,8 @@
push @url_params_persist,"f$i=".$q->url_param("f$i") if ($persist);
foreach my $v ($q->url_param("v$i")) {
+ # escape quotes so that phrase search work
+ $v =~ s/"/%22/g;
push @url_params,"v$i=$v";
push @url_params_persist,"v$i=$v" if ($persist);
}
@@ -476,6 +490,7 @@
$tmpl->param('field',$field);
$tmpl->param('limit',$limit);
$tmpl->param('total',$total);
+ $tmpl->param('filter',$filter);
# FIXME I should set offset and leave out limit from fetch!!
# if (! $q->param("PAGER_offset") {