# 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.
use strict;
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::Serials;
use C4::Members;
use C4::VirtualShelves;
use C4::XSLT;
-use Switch;
BEGIN {
if (C4::Context->preference('BakerTaylorEnabled')) {
}
$template->param( biblionumber => $biblionumber );
# XSLT processing of some stuff
-if (C4::Context->preference("XSLTDetailsDisplay") ) {
- $template->param(
- 'XSLTBloc' => XSLTParse4Display($biblionumber, $record, 'Detail'),'opac' );
+if (C4::Context->preference("OPACXSLTDetailsDisplay") ) {
+ $template->param( 'XSLTBloc' => XSLTParse4Display($biblionumber, $record, 'Detail', 'opac') );
}
$template->param('OPACShowCheckoutName' => C4::Context->preference("OPACShowCheckoutName") );
my $marcsubjctsarray = GetMarcSubjects($record,$marcflavour);
my $marcseriesarray = GetMarcSeries ($record,$marcflavour);
my $marcurlsarray = GetMarcUrls ($record,$marcflavour);
-my $subtitle = C4::Biblio::get_koha_field_from_marc('bibliosubtitle', 'subtitle', $record, '');
+my $subtitle = GetRecordValue('subtitle', $record, GetFrameworkCode($biblionumber));
$template->param(
MARCNOTES => $marcnotesarray,
my $amazon_similars = C4::Context->preference("OPACAmazonSimilarItems");
my @services;
if ( $amazon_reviews ) {
- $template->param( OPACAmazonReviews => 1 );
push( @services, 'EditorialReview', 'Reviews' );
}
if ( $amazon_similars ) {
- $template->param( OPACAmazonSimilarItems => 1 );
push( @services, 'Similarities' );
}
my $amazon_details = &get_amazon_details( $isbn, $record, $marcflavour, \@services );
my $syndetics_elements;
if ( C4::Context->preference("SyndeticsEnabled") ) {
+ $template->param("SyndeticsEnabled" => 1);
+ $template->param("SyndeticsClientCode" => C4::Context->preference("SyndeticsClientCode"));
eval {
- $syndetics_elements = &get_syndetics_index($isbn,$upc,$oclc);
- for my $element (values %$syndetics_elements) {
+ $syndetics_elements = &get_syndetics_index($isbn,$upc,$oclc);
+ for my $element (values %$syndetics_elements) {
$template->param("Syndetics$element"."Exists" => 1 );
#warn "Exists: "."Syndetics$element"."Exists";
}
&& C4::Context->preference("SyndeticsSummary")
&& ( exists($syndetics_elements->{'SUMMARY'}) || exists($syndetics_elements->{'AVSUMMARY'}) ) ) {
eval {
- my $syndetics_summary = &get_syndetics_summary($isbn,$upc,$oclc, $syndetics_elements);
- $template->param( SYNDETICS_SUMMARY => $syndetics_summary );
+ my $syndetics_summary = &get_syndetics_summary($isbn,$upc,$oclc, $syndetics_elements);
+ $template->param( SYNDETICS_SUMMARY => $syndetics_summary );
};
warn $@ if $@;
}
#Search for title in links
+my $marccontrolnumber = GetMarcControlnumber ($record, $marcflavour);
+
if (my $search_for_title = C4::Context->preference('OPACSearchForTitleIn')){
- $search_for_title =~ s/{AUTHOR}/$dat->{author}/g;
- $search_for_title =~ s/{TITLE}/$dat->{title}/g;
- $search_for_title =~ s/{ISBN}/$isbn/g;
+ $dat->{author} ? $search_for_title =~ s/{AUTHOR}/$dat->{author}/g : $search_for_title =~ s/{AUTHOR}//g;
+ $dat->{title} =~ s/\/+$//; # remove trailing slash
+ $dat->{title} =~ s/\s+$//; # remove trailing space
+ $dat->{title} ? $search_for_title =~ s/{TITLE}/$dat->{title}/g : $search_for_title =~ s/{TITLE}//g;
+ $isbn ? $search_for_title =~ s/{ISBN}/$isbn/g : $search_for_title =~ s/{ISBN}//g;
+ $marccontrolnumber ? $search_for_title =~ s/{CONTROLNUMBER}/$marccontrolnumber/g : $search_for_title =~ s/{CONTROLNUMBER}//g;
$template->param('OPACSearchForTitleIn' => $search_for_title);
}
# We try to select the best default tab to show, according to what
# the user wants, and what's available for display
-my $defaulttab;
-switch (C4::Context->preference('opacSerialDefaultTab')) {
-
- # If the user wants subscriptions by default
- case "subscriptions" {
- # And there are subscriptions, we display them
- if ($subscriptionsnumber) {
- $defaulttab = 'subscriptions';
- } else {
- # Else, we try next option
- next;
- }
- }
-
- case "serialcollection" {
- if (scalar(@serialcollections) > 0) {
- $defaulttab = 'serialcollection' ;
- } else {
- next;
- }
- }
-
- case "holdings" {
- if ($dat->{'count'} > 0) {
- $defaulttab = 'holdings';
- } else {
- # As this is the last option, we try other options if there are no items
- if ($subscriptionsnumber) {
- $defaulttab = 'subscriptions';
- } elsif (scalar(@serialcollections) > 0) {
- $defaulttab = 'serialcollection' ;
- }
- }
-
- }
-
-}
+my $opac_serial_default = C4::Context->preference('opacSerialDefaultTab');
+my $defaulttab =
+ $opac_serial_default eq 'subscriptions' && $subscriptionsnumber
+ ? 'subscriptions' :
+ $opac_serial_default eq 'serialcollection' && @serialcollections > 0
+ ? 'serialcollection' :
+ $opac_serial_default eq 'holdings' && $dat->{'count'} > 0
+ ? 'holdings' :
+ $subscriptionsnumber
+ ? 'subscriptions' :
+ @serialcollections > 0
+ ? 'serialcollection' : 'subscription';
$template->param('defaulttab' => $defaulttab);
-
-
output_html_with_http_headers $query, $cookie, $template->output;