# Copyright 2000-2002 Katipo Communications
# Copyright 2010 BibLibre
+# Copyright 2011 KohaAloha, NZ
#
# This file is part of Koha.
#
use C4::External::Amazon;
use C4::External::Syndetics qw(get_syndetics_index get_syndetics_summary get_syndetics_toc get_syndetics_excerpt get_syndetics_reviews get_syndetics_anotes );
use C4::Review;
+use C4::Ratings;
use C4::Members;
use C4::VirtualShelves;
use C4::XSLT;
SetUTF8Flag($record);
+my $marcflavour = C4::Context->preference("marcflavour");
+my $ean = GetNormalizedEAN( $record, $marcflavour );
# XSLT processing of some stuff
if (C4::Context->preference("OPACXSLTDetailsDisplay") ) {
$template->param( 'XSLTBloc' => XSLTParse4Display($biblionumber, $record, "OPACXSLTDetailsDisplay" ) );
}
+my $OpacBrowseResults = C4::Context->preference("OpacBrowseResults");
+$template->{VARS}->{'OpacBrowseResults'} = $OpacBrowseResults;
# We look for the busc param to build the simple paging from the search
+if ($OpacBrowseResults) {
my $session = get_session($query->cookie("CGISESSID"));
my %paging = (previous => {}, next => {});
if ($session->param('busc')) {
my @servers;
@servers = @{$arrParamsBusc->{'server'}} if $arrParamsBusc->{'server'};
@servers = ("biblioserver") unless (@servers);
- my $default_sort_by = C4::Context->preference('OPACdefaultSortField')."_".C4::Context->preference('OPACdefaultSortOrder') if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder'));
- my @sort_by = @{$arrParamsBusc->{'sort_by'}} if $arrParamsBusc->{'sort_by'};
+
+ my ($default_sort_by, @sort_by);
+ $default_sort_by = C4::Context->preference('OPACdefaultSortField')."_".C4::Context->preference('OPACdefaultSortOrder') if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder'));
+ @sort_by = @{$arrParamsBusc->{'sort_by'}} if $arrParamsBusc->{'sort_by'};
$sort_by[0] = $default_sort_by if !$sort_by[0] && defined($default_sort_by);
my ($error, $results_hashref, $facets);
eval {
$template->param('listResults' => \@listResults) if (@listResults);
$template->param('indexPag' => 1 + $offset, 'totalPag' => $arrParamsBusc{'total'}, 'indexPagEnd' => scalar(@arrBiblios) + $offset);
}
+}
-$template->param('OPACShowCheckoutName' => C4::Context->preference("OPACShowCheckoutName") );
+$template->param('OPACShowCheckoutName' => C4::Context->preference("OPACShowCheckoutName") );
+$template->param('OPACShowBarcode' => C4::Context->preference("OPACShowBarcode") );
# change back when ive fixed request.pl
my @all_items = GetItemsInfo( $biblionumber );
# adding items linked via host biblios
-my $marcflavour = C4::Context->preference("marcflavour");
my $analyticfield = '773';
if ($marcflavour eq 'MARC21' || $marcflavour eq 'NORMARC'){
my @hiddenitems = GetHiddenItemnumbers(@all_items);
# Are there items to hide?
-my $hideitems = 1 if C4::Context->preference('hidelostitems') or scalar(@hiddenitems) > 0;
+my $hideitems;
+$hideitems = 1 if C4::Context->preference('hidelostitems') or scalar(@hiddenitems) > 0;
# Hide items
if ($hideitems) {
#coping with subscriptions
my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber);
-my @subscriptions = GetSubscriptions( undef, undef, $biblionumber );
+my @subscriptions = GetSubscriptions($dat->{'title'}, $dat->{'issn'}, $ean, $biblionumber );
my @subs;
$dat->{'serial'}=1 if $subscriptionsnumber;
my $biblio_authorised_value_images = C4::Items::get_authorised_value_images( C4::Biblio::get_biblio_authorised_values( $biblionumber, $record ) );
+my (%item_reserves, %priority);
+my ($show_holds_count, $show_priority);
+for ( C4::Context->preference("OPACShowHoldQueueDetails") ) {
+ m/holds/o and $show_holds_count = 1;
+ m/priority/ and $show_priority = 1;
+}
+my $has_hold;
+if ( $show_holds_count || $show_priority) {
+ my ($reserve_count,$reserves) = GetReservesFromBiblionumber($biblionumber);
+ $template->param( holds_count => $reserve_count ) if $show_holds_count;
+ foreach (@$reserves) {
+ $item_reserves{ $_->{itemnumber} }++ if $_->{itemnumber};
+ if ($show_priority && $_->{borrowernumber} == $borrowernumber) {
+ $has_hold = 1;
+ $_->{itemnumber}
+ ? ($priority{ $_->{itemnumber} } = $_->{priority})
+ : ($template->param( priority => $_->{priority} ));
+ }
+ }
+}
+$template->param( show_priority => $has_hold ) ;
+
my $norequests = 1;
my $branches = GetBranches();
my %itemfields;
for my $itm (@items) {
+ $itm->{holds_count} = $item_reserves{ $itm->{itemnumber} };
+ $itm->{priority} = $priority{ $itm->{itemnumber} };
$norequests = 0
if ( (not $itm->{'wthdrawn'} )
&& (not $itm->{'itemlost'} )
MARCAUTHORS => $marcauthorsarray,
MARCSERIES => $marcseriesarray,
MARCURLS => $marcurlsarray,
- MARCHOSTS => $marchostsarray,
+ MARCHOSTS => $marchostsarray,
norequests => $norequests,
RequestOnOpac => C4::Context->preference("RequestOnOpac"),
itemdata_ccode => $itemfields{ccode},
itemdata_itemnotes => $itemfields{itemnotes},
authorised_value_images => $biblio_authorised_value_images,
subtitle => $subtitle,
+ OpacStarRatings => C4::Context->preference("OpacStarRatings"),
);
if (C4::Context->preference("AlternateHoldingsField") && scalar @items == 0) {
# in each case, we're grabbing the first value we find in
# the record and normalizing it
my $upc = GetNormalizedUPC($record,$marcflavour);
-my $ean = GetNormalizedEAN($record,$marcflavour);
my $oclc = GetNormalizedOCLCNumber($record,$marcflavour);
my $isbn = GetNormalizedISBN(undef,$record,$marcflavour);
my $content_identifier_exists;
my $reviews = getreviews( $biblionumber, 1 );
my $loggedincommenter;
+
+
+
+
foreach ( @$reviews ) {
my $borrowerData = GetMember('borrowernumber' => $_->{borrowernumber});
# setting some borrower info into this hash
}
$_->{userid} = $borrowerData->{'userid'};
$_->{cardnumber} = $borrowerData->{'cardnumber'};
+
if ($borrowerData->{'borrowernumber'} eq $borrowernumber) {
$_->{your_comment} = 1;
$loggedincommenter = 1;
my @export_options = split(/\|/,$OpacExportOptions);
$template->{VARS}->{'export_options'} = \@export_options;
+if ( C4::Context->preference('OpacStarRatings') !~ /disable/ ) {
+ my $rating = GetRating( $biblionumber, $borrowernumber );
+ $template->param(
+ rating_value => $rating->{'rating_value'},
+ rating_total => $rating->{'rating_total'},
+ rating_avg => $rating->{'rating_avg'},
+ rating_avg_int => $rating->{'rating_avg_int'},
+ borrowernumber => $borrowernumber
+ );
+}
+
#Search for title in links
my $marccontrolnumber = GetMarcControlnumber ($record, $marcflavour);
my $marcissns = GetMarcISSN ( $record, $marcflavour );