182 |
my $tmpl = shift @_; |
my $tmpl = shift @_; |
183 |
my @persist_vars = @_; |
my @persist_vars = @_; |
184 |
my $hidden_vars = ''; |
my $hidden_vars = ''; |
185 |
|
my $hidden_search = ''; |
186 |
foreach my $v (@persist_vars) { |
foreach my $v (@persist_vars) { |
187 |
foreach my $val ($q->param($v)) { |
foreach my $val ($q->param($v)) { |
188 |
next if (! $val || $val eq ''); |
next if (! $val || $val eq ''); |
189 |
$hidden_vars .= '<input type="hidden" name="'.$v.'" value="'.$val.'"/>'."\n"; |
$hidden_vars .= '<input type="hidden" name="'.$v.'" value="'.$val.'"/>'."\n"; |
190 |
|
$hidden_search .= '<input type="hidden" name="'.$v.'" value="'.$val.'"/>'."\n" if ($v ne "rm"); |
191 |
} |
} |
192 |
} |
} |
193 |
|
|
194 |
$tmpl->param('PAGER_HIDDEN', $hidden_vars); |
$tmpl->param('PAGER_HIDDEN', $hidden_vars); |
195 |
|
$tmpl->param('SEARCH_HIDDEN', $hidden_search); |
196 |
$tmpl->param('PAGER_JAVASCRIPT', qq# |
$tmpl->param('PAGER_JAVASCRIPT', qq# |
197 |
<SCRIPT LANGUAGE="Javascript"> |
<SCRIPT LANGUAGE="Javascript"> |
198 |
<!-- Begin |
<!-- Begin |
331 |
push @s_arr, $q->param("f$i")."_swish".$exact."=(".join(" or ",@swish_q).")"; |
push @s_arr, $q->param("f$i")."_swish".$exact."=(".join(" or ",@swish_q).")"; |
332 |
} |
} |
333 |
|
|
334 |
my $tmpl = $self->load_tmpl(url_ex($q,'results.html'), global_vars => 1); |
my $tmpl = $self->load_tmpl(url_ex($q,'results.html'), global_vars => 1, die_on_bad_params => 0); |
335 |
|
|
336 |
$tmpl->param('url_params',"?".join("&",@url_params)); |
$tmpl->param('url_params',"?".join("&",@url_params)); |
337 |
|
|
347 |
$sort = 'headline'; |
$sort = 'headline'; |
348 |
push @persist_vars, "sort"; |
push @persist_vars, "sort"; |
349 |
} |
} |
350 |
if ($q->param("sortby")) { |
|
351 |
$sort = $q->param("sortby"); |
my $sortby = $q->param("sortby"); |
352 |
push @persist_vars, "sort"; |
if ($sortby) { |
353 |
|
$sort = $sortby; |
354 |
|
push @persist_vars, "sortby"; |
355 |
} |
} |
356 |
|
$tmpl->param('url_params_paths',"?".join("&",@url_params).'&'.join("&",map { my $t = $_; $t =~ s/\#/%23/g; "path=$t"; } @path_arr)); |
357 |
|
|
358 |
# construct swish query |
# construct swish query |
359 |
my $sw_q = join(" and ",@s_arr); |
my $sw_q = join(" and ",@s_arr); |
379 |
my $search = $swish->New_Search_Object; |
my $search = $swish->New_Search_Object; |
380 |
|
|
381 |
$search->SetSort($sort); |
$search->SetSort($sort); |
|
print "sort: $sort\n"; |
|
382 |
|
|
383 |
my $results = $search->Execute($sw_q); |
my $results = $search->Execute($sw_q); |
384 |
$swish_msg .= $swish->ErrorString." ".$swish->LastErrorMsg if $swish->Error; |
$swish_msg .= $swish->ErrorString." ".$swish->LastErrorMsg if $swish->Error; |
472 |
return $html; |
return $html; |
473 |
} |
} |
474 |
|
|
475 |
my $tmpl = $self->load_tmpl(url_ex($q,'index_res.html'), global_vars => 1); |
my $tmpl = $self->load_tmpl(url_ex($q,'index_res.html'), global_vars => 1, die_on_bad_params => 0); |
476 |
$tmpl->param('field',$field); |
$tmpl->param('field',$field); |
477 |
$tmpl->param('limit',$limit); |
$tmpl->param('limit',$limit); |
478 |
$tmpl->param('total',$total); |
$tmpl->param('total',$total); |