[Koha-patches] [Signed Off] [PATCH] BUG6092 default sort field and order when syspref are NULL
Chris Cormack
chrisc at catalyst.net.nz
Tue May 17 10:05:52 CEST 2011
From: Fridolyn SOMERS <fridolyn.somers at progilone.fr>
Signed-off-by: Chris Cormack <chrisc at catalyst.net.nz>
---
catalogue/search.pl | 10 +++++-----
.../en/modules/admin/preferences/searching.pref | 2 ++
opac/opac-search.pl | 10 +++++-----
3 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/catalogue/search.pl b/catalogue/search.pl
index e1e9a98..ae1218a 100755
--- a/catalogue/search.pl
+++ b/catalogue/search.pl
@@ -193,6 +193,11 @@ if($cgi->cookie("holdfor")){
);
}
+# Default sort field and order
+my $default_sort_field = C4::Context->preference('defaultSortField') || 'relevance'; # relevance field by default
+my $default_sort_order = C4::Context->preference('defaultSortOrder') || 'dsc'; # decreasing order by default
+my $default_sort_by = $default_sort_field.'_'.$default_sort_order;
+
## URI Re-Writing
# Deprecated, but preserved because it's interesting :-)
# The same thing can be accomplished with mod_rewrite in
@@ -289,8 +294,6 @@ if ( $template_type eq 'advsearch' ) {
$template->param(outer_sup_servers_loop => $secondary_servers_loop,);
# set the default sorting
- my $default_sort_by = C4::Context->preference('defaultSortField')."_".C4::Context->preference('defaultSortOrder')
- if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder'));
$template->param($default_sort_by => 1);
# determine what to display next to the search boxes (ie, boolean option
@@ -354,9 +357,6 @@ my $params = $cgi->Vars;
# sort by is used to sort the query
# in theory can have more than one but generally there's just one
my @sort_by;
-my $default_sort_by = C4::Context->preference('defaultSortField')."_".C4::Context->preference('defaultSortOrder')
- if (C4::Context->preference('defaultSortField') && C4::Context->preference('defaultSortOrder'));
-
@sort_by = split("\0",$params->{'sort_by'}) if $params->{'sort_by'};
$sort_by[0] = $default_sort_by unless $sort_by[0];
foreach my $sort (@sort_by) {
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref
index 12075ec..476e3c1 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref
@@ -100,6 +100,7 @@ Searching:
author: author
- ','
- pref: defaultSortOrder
+ default: dsc
choices:
asc: ascending.
dsc: descending.
@@ -132,6 +133,7 @@ Searching:
author: author
- ","
- pref: OPACdefaultSortOrder
+ default: dsc
choices:
asc: ascending.
dsc: descending.
diff --git a/opac/opac-search.pl b/opac/opac-search.pl
index 68018b6..c51d71f 100755
--- a/opac/opac-search.pl
+++ b/opac/opac-search.pl
@@ -118,6 +118,11 @@ if (C4::Context->preference('TagsEnabled')) {
}
}
+# Default sort field and order
+my $default_sort_field = C4::Context->preference('OPACdefaultSortField') || 'relevance'; # relevance field by default
+my $default_sort_order = C4::Context->preference('OPACdefaultSortOrder') || 'dsc'; # decreasing order by default
+my $default_sort_by = $default_sort_field.'_'.$default_sort_order;
+
## URI Re-Writing
# Deprecated, but preserved because it's interesting :-)
# The same thing can be accomplished with mod_rewrite in
@@ -207,8 +212,6 @@ if ( $template_type && $template_type eq 'advsearch' ) {
$template->param(outer_sup_servers_loop => $secondary_servers_loop,);
# set the default sorting
- my $default_sort_by = C4::Context->preference('OPACdefaultSortField')."_".C4::Context->preference('OPACdefaultSortOrder')
- if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder'));
$template->param($default_sort_by => 1);
# determine what to display next to the search boxes (ie, boolean option
@@ -273,9 +276,6 @@ $tag = $params->{tag} if $params->{tag};
# sort by is used to sort the query
# in theory can have more than one but generally there's just one
my @sort_by;
-my $default_sort_by = C4::Context->preference('OPACdefaultSortField')."_".C4::Context->preference('OPACdefaultSortOrder')
- if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder'));
-
@sort_by = split("\0",$params->{'sort_by'}) if $params->{'sort_by'};
$sort_by[0] = $default_sort_by if !$sort_by[0] && defined($default_sort_by);
foreach my $sort (@sort_by) {
--
1.7.4.1
More information about the Koha-patches
mailing list