From 1ab6d4ea4fd11e513c2d9b2af24c8109dfa780cd Mon Sep 17 00:00:00 2001
From: Julian FIOL <julian.fiol@biblibre.com>
Date: Mon, 6 Jul 2015 12:27:08 +0200
Subject: [PATCH] Bug 14496 : Improving opac-detail.pl performances

Get notes and subjects from MARC record
ONLY when XSLT is not activated.

It's useless doing it when XSLT is activated,
because XSLT takes care of it by its own.

=> With this patch, we are saving precious
milliseconds
---
 opac/opac-detail.pl | 31 ++++++++++++++++++-------------
 1 file changed, 18 insertions(+), 13 deletions(-)

diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl
index bc9b323..0fa588f 100755
--- a/opac/opac-detail.pl
+++ b/opac/opac-detail.pl
@@ -703,24 +703,29 @@ if (scalar(@itemloop) == 0 || scalar(@otheritemloop) == 0) {
 }
 
 ## get notes and subjects from MARC record
-my $dbh              = C4::Context->dbh;
+if (!C4::Context->preference("OPACXSLTDetailsDisplay") ) {
+    my $marcisbnsarray   = GetMarcISBN    ($record,$marcflavour);
+    my $marcauthorsarray = GetMarcAuthors ($record,$marcflavour);
+    my $marcsubjctsarray = GetMarcSubjects($record,$marcflavour);
+    my $marcseriesarray  = GetMarcSeries  ($record,$marcflavour);
+    my $marcurlsarray    = GetMarcUrls    ($record,$marcflavour);
+    my $marchostsarray   = GetMarcHosts($record,$marcflavour);
+
+    $template->param(
+        MARCSUBJCTS => $marcsubjctsarray,
+        MARCAUTHORS => $marcauthorsarray,
+        MARCSERIES  => $marcseriesarray,
+        MARCURLS    => $marcurlsarray,
+        MARCISBNS   => $marcisbnsarray,
+        MARCHOSTS   => $marchostsarray,
+    );
+}
+
 my $marcnotesarray   = GetMarcNotes   ($record,$marcflavour);
-my $marcisbnsarray   = GetMarcISBN    ($record,$marcflavour);
-my $marcauthorsarray = GetMarcAuthors ($record,$marcflavour);
-my $marcsubjctsarray = GetMarcSubjects($record,$marcflavour);
-my $marcseriesarray  = GetMarcSeries  ($record,$marcflavour);
-my $marcurlsarray    = GetMarcUrls    ($record,$marcflavour);
-my $marchostsarray  = GetMarcHosts($record,$marcflavour);
 my $subtitle         = GetRecordValue('subtitle', $record, GetFrameworkCode($biblionumber));
 
     $template->param(
                      MARCNOTES               => $marcnotesarray,
-                     MARCSUBJCTS             => $marcsubjctsarray,
-                     MARCAUTHORS             => $marcauthorsarray,
-                     MARCSERIES              => $marcseriesarray,
-                     MARCURLS                => $marcurlsarray,
-                     MARCISBNS               => $marcisbnsarray,
-                     MARCHOSTS               => $marchostsarray,
                      norequests              => $norequests,
                      RequestOnOpac           => C4::Context->preference("RequestOnOpac"),
                      itemdata_ccode          => $itemfields{ccode},
-- 
2.4.3