my (@between,@statuses,@locations,@types,@forms,@lang,@aud,@lit_form,@vformats,@bib_level);
if (!defined($args{preferred_language})) {
+ my $ses_locale = $client->session ? $client->session->session_locale : $default_preferred_language;
$args{preferred_language} =
- $locale_map{ $client->session->session_locale || $default_preferred_language } || 'eng';
+ $locale_map{ $ses_locale } || 'eng';
}
if (!defined($args{preferred_language_weight})) {
where_clause = where_clause || $$ AND $$ || quote_literal(param_during) || $$ BETWEEN mrd.date1 AND mrd.date2 $$;
END IF;
- IF param_between IS NOT NULL AND array_upper(param_between, 1) > 0 THEN
+ IF param_between IS NOT NULL AND array_upper(param_between, 1) > 1 THEN
where_clause = where_clause || $$ AND mrd.date1 BETWEEN $$ || array_to_string(param_bib_level, $$' AND '$$) || ' ';
END IF;