# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
=head1 NAME
not cover in detail.
=head3 1. Building Query Strings
-
+
There are several types of queries needed in the process of search and retrieve:
=over
=cut
use strict; # always use
+#use warnings; FIXME - Bug 2505
## STEP 1. Load things that are used in both search page and
# results page and decide which template to load, operations
## load Koha modules
use C4::Context;
use C4::Output;
-use C4::Auth;
+use C4::Auth qw(:DEFAULT get_session);
use C4::Search;
use C4::Languages qw(getAllLanguages);
use C4::Koha;
+use C4::VirtualShelves qw(GetRecentShelves);
use POSIX qw(ceil floor);
use C4::Branch; # GetBranches
+my $DisplayMultiPlaceHold = C4::Context->preference("DisplayMultiPlaceHold");
# create a new CGI object
# FIXME: no_undef_params needs to be tested
use CGI qw('-no_undef_params');
my $branches = GetBranches();
my @branch_loop;
+# we need to know the borrower branch code to set a default branch
+my $borrowerbranchcode = C4::Context->userenv->{'branch'};
+
for my $branch_hash (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) {
- push @branch_loop, {value => "$branch_hash" , branchname => $branches->{$branch_hash}->{'branchname'}, };
+ # if independantbranches is activated, set the default branch to the borrower branch
+ my $selected = (C4::Context->preference("independantbranches") and ($borrowerbranchcode eq $branch_hash)) ? 1 : undef;
+ push @branch_loop, {value => "$branch_hash" , branchname => $branches->{$branch_hash}->{'branchname'}, selected => $selected};
}
my $categories = GetBranchCategories(undef,'searchdomain');
$template->param( expanded_options => $cgi->param('expanded_options'));
}
+ $template->param(virtualshelves => C4::Context->preference("virtualshelves"));
+
output_html_with_http_headers $cgi, $cookie, $template->output;
exit;
}
my @results;
## I. BUILD THE QUERY
-( $error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_desc,$stopwords_removed,$query_type) = buildQuery(\@operators,\@operands,\@indexes,\@limits,\@sort_by,$scan);
+my $lang = C4::Output::getlanguagecookie($cgi);
+( $error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_desc,$stopwords_removed,$query_type) = buildQuery(\@operators,\@operands,\@indexes,\@limits,\@sort_by,$scan,$lang);
## parse the query_cgi string and put it into a form suitable for <input>s
my @query_inputs;
($error, $results_hashref, $facets) = getRecords($query,$simple_query,\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,$branches,$query_type,$scan);
};
}
+# This sorts the facets into alphabetical order
+if ($facets) {
+ foreach my $f (@$facets) {
+ $f->{facets} = [ sort { uc($a->{facet_title_value}) cmp uc($b->{facet_title_value}) } @{ $f->{facets} } ];
+ }
+}
if ($@ || $error) {
$template->param(query_error => $error.$@);
output_html_with_http_headers $cgi, $cookie, $template->output;
if ($server =~/biblioserver/) { # this is the local bibliographic server
$hits = $results_hashref->{$server}->{"hits"};
my $page = $cgi->param('page') || 0;
- my @newresults = searchResults( $query_desc,$hits,$results_per_page,$offset,$scan,@{$results_hashref->{$server}->{"RECORDS"}});
+ my @newresults = searchResults('intranet', $query_desc, $hits, $results_per_page, $offset, $scan,
+ @{$results_hashref->{$server}->{"RECORDS"}});
$total = $total + $results_hashref->{$server}->{"hits"};
## If there's just one result, redirect to the detail page
if ($total == 1) {
$template->param(query_cgi => $query_cgi);
$template->param(query_desc => $query_desc);
$template->param(limit_desc => $limit_desc);
+ $template->param(offset => $offset);
+ $template->param(DisplayMultiPlaceHold => $DisplayMultiPlaceHold);
$template->param (z3950_search_params => C4::Search::z3950_search_args($query_desc));
if ($query_desc || $limit_desc) {
$template->param(searchdesc => 1);
}
# VI. BUILD THE TEMPLATE
+
+# Build drop-down list for 'Add To:' menu...
+
+my $row_count = 10; # FIXME:This probably should be a syspref
+my ($pubshelves, $total) = GetRecentShelves(2, $row_count, undef);
+my ($barshelves, $total) = GetRecentShelves(1, $row_count, $borrowernumber);
+
+my @pubshelves = @{$pubshelves};
+my @barshelves = @{$barshelves};
+
+if (@pubshelves) {
+ $template->param( addpubshelves => scalar (@pubshelves));
+ $template->param( addpubshelvesloop => @pubshelves);
+}
+
+if (@barshelves) {
+ $template->param( addbarshelves => scalar (@barshelves));
+ $template->param( addbarshelvesloop => @barshelves);
+}
+
+
+
output_html_with_http_headers $cgi, $cookie, $template->output;