View | Details | Raw Unified | Return to bug 8995
Collapse All | Expand All

(-)a/C4/Biblio.pm (+21 lines)
Lines 28-33 use MARC::File::USMARC; Link Here
28
use MARC::File::XML;
28
use MARC::File::XML;
29
use POSIX qw(strftime);
29
use POSIX qw(strftime);
30
use Module::Load::Conditional qw(can_load);
30
use Module::Load::Conditional qw(can_load);
31
use URI;
31
use URI::Escape; # GetCOinSBiblio
32
use URI::Escape; # GetCOinSBiblio
32
33
33
use C4::Koha;
34
use C4::Koha;
Lines 1470-1475 sub GetCOinSBiblio { Link Here
1470
    return $coins_value;
1471
    return $coins_value;
1471
}
1472
}
1472
1473
1474
sub GetOpenURLResolverURL {
1475
    my ($record) = @_;
1476
1477
    my $coins = GetCOinSBiblio($record);
1478
    my $OpenURLResolverURL = C4::Context->preference('OpenURLResolverURL');
1479
1480
    if ($OpenURLResolverURL) {
1481
        my $uri = URI->new($OpenURLResolverURL);
1482
1483
        if (not defined $uri->query) {
1484
            $OpenURLResolverURL .= '?';
1485
        } else {
1486
            $OpenURLResolverURL .= '&';
1487
        }
1488
        $OpenURLResolverURL .= $coins;
1489
    }
1490
1491
    return $OpenURLResolverURL;
1492
}
1493
1473
1494
1474
=head2 GetMarcPrice
1495
=head2 GetMarcPrice
1475
1496
(-)a/C4/XSLT.pm (-1 / +2 lines)
Lines 250-256 sub XSLTParse4Display { Link Here
250
        my ($biblio) = GetBiblioItemByBiblioNumber($biblionumber);
250
        my ($biblio) = GetBiblioItemByBiblioNumber($biblionumber);
251
        my @itypes = split( /\s/, C4::Context->preference('OPACOpenURLItemTypes') );
251
        my @itypes = split( /\s/, C4::Context->preference('OPACOpenURLItemTypes') );
252
        if (grep /^$biblio->{itemtype}$/, @itypes) {
252
        if (grep /^$biblio->{itemtype}$/, @itypes) {
253
            $variables->{COinS} = C4::Biblio::GetCOinSBiblio($orig_record);
253
            $variables->{OpenURLResolverURL} =
254
              C4::Biblio::GetOpenURLResolverURL($orig_record);
254
        }
255
        }
255
    }
256
    }
256
    my $varxml = "<variables>\n";
257
    my $varxml = "<variables>\n";
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl (-5 / +2 lines)
Lines 1249-1260 Link Here
1249
1249
1250
        <!-- OpenURL -->
1250
        <!-- OpenURL -->
1251
        <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
1251
        <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
1252
        <xsl:variable name="OpenURLResolverURL" select="marc:sysprefs/marc:syspref[@name='OpenURLResolverURL']" />
1253
        <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
1252
        <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
1254
        <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
1253
        <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
1255
        <xsl:variable name="COinS" select="marc:variables/marc:variable[@name='COinS']" />
1254
        <xsl:variable name="OpenURLResolverURL" select="marc:variables/marc:variable[@name='OpenURLResolverURL']" />
1256
1255
1257
        <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != '' and $COinS != ''">
1256
        <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != ''">
1258
          <xsl:variable name="openurltext">
1257
          <xsl:variable name="openurltext">
1259
            <xsl:choose>
1258
            <xsl:choose>
1260
              <xsl:when test="$OpenURLText != ''">
1259
              <xsl:when test="$OpenURLText != ''">
Lines 1281-1288 Link Here
1281
          <span class="results_summary"><a>
1280
          <span class="results_summary"><a>
1282
            <xsl:attribute name="href">
1281
            <xsl:attribute name="href">
1283
              <xsl:value-of select="$OpenURLResolverURL" />
1282
              <xsl:value-of select="$OpenURLResolverURL" />
1284
              <xsl:text>?</xsl:text>
1285
              <xsl:value-of select="$COinS" />
1286
            </xsl:attribute>
1283
            </xsl:attribute>
1287
            <xsl:attribute name="title">
1284
            <xsl:attribute name="title">
1288
              <xsl:value-of select="$openurltext" />
1285
              <xsl:value-of select="$openurltext" />
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl (-5 / +2 lines)
Lines 446-457 Link Here
446
446
447
    <!-- OpenURL -->
447
    <!-- OpenURL -->
448
    <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
448
    <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
449
    <xsl:variable name="OpenURLResolverURL" select="marc:sysprefs/marc:syspref[@name='OpenURLResolverURL']" />
450
    <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
449
    <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
451
    <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
450
    <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
452
    <xsl:variable name="COinS" select="marc:variables/marc:variable[@name='COinS']" />
451
    <xsl:variable name="OpenURLResolverURL" select="marc:variables/marc:variable[@name='OpenURLResolverURL']" />
453
452
454
    <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != '' and $COinS != ''">
453
    <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != ''">
455
      <xsl:variable name="openurltext">
454
      <xsl:variable name="openurltext">
456
        <xsl:choose>
455
        <xsl:choose>
457
          <xsl:when test="$OpenURLText != ''">
456
          <xsl:when test="$OpenURLText != ''">
Lines 478-485 Link Here
478
      <span class="results_summary"><a>
477
      <span class="results_summary"><a>
479
        <xsl:attribute name="href">
478
        <xsl:attribute name="href">
480
          <xsl:value-of select="$OpenURLResolverURL" />
479
          <xsl:value-of select="$OpenURLResolverURL" />
481
          <xsl:text>?</xsl:text>
482
          <xsl:value-of select="$COinS" />
483
        </xsl:attribute>
480
        </xsl:attribute>
484
        <xsl:attribute name="title">
481
        <xsl:attribute name="title">
485
          <xsl:value-of select="$openurltext" />
482
          <xsl:value-of select="$openurltext" />
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACDetail.xsl (-5 / +2 lines)
Lines 445-456 Link Here
445
445
446
  <!-- OpenURL -->
446
  <!-- OpenURL -->
447
  <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
447
  <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
448
  <xsl:variable name="OpenURLResolverURL" select="marc:sysprefs/marc:syspref[@name='OpenURLResolverURL']" />
449
  <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
448
  <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
450
  <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
449
  <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
451
  <xsl:variable name="COinS" select="marc:variables/marc:variable[@name='COinS']" />
450
  <xsl:variable name="OpenURLResolverURL" select="marc:variables/marc:variable[@name='OpenURLResolverURL']" />
452
451
453
  <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != '' and $COinS != ''">
452
  <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != ''">
454
    <xsl:variable name="openurltext">
453
    <xsl:variable name="openurltext">
455
      <xsl:choose>
454
      <xsl:choose>
456
        <xsl:when test="$OpenURLText != ''">
455
        <xsl:when test="$OpenURLText != ''">
Lines 477-484 Link Here
477
    <span class="results_summary"><a>
476
    <span class="results_summary"><a>
478
      <xsl:attribute name="href">
477
      <xsl:attribute name="href">
479
        <xsl:value-of select="$OpenURLResolverURL" />
478
        <xsl:value-of select="$OpenURLResolverURL" />
480
        <xsl:text>?</xsl:text>
481
        <xsl:value-of select="$COinS" />
482
      </xsl:attribute>
479
      </xsl:attribute>
483
      <xsl:attribute name="title">
480
      <xsl:attribute name="title">
484
        <xsl:value-of select="$openurltext" />
481
        <xsl:value-of select="$openurltext" />
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl (-6 / +2 lines)
Lines 86-97 Link Here
86
86
87
  <!-- OpenURL -->
87
  <!-- OpenURL -->
88
  <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
88
  <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
89
  <xsl:variable name="OpenURLResolverURL" select="marc:sysprefs/marc:syspref[@name='OpenURLResolverURL']" />
90
  <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
89
  <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
91
  <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
90
  <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
92
  <xsl:variable name="COinS" select="marc:variables/marc:variable[@name='COinS']" />
91
  <xsl:variable name="OpenURLResolverURL" select="marc:variables/marc:variable[@name='OpenURLResolverURL']" />
93
92
94
  <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != '' and $COinS != ''">
93
  <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != ''">
95
    <xsl:variable name="openurltext">
94
    <xsl:variable name="openurltext">
96
      <xsl:choose>
95
      <xsl:choose>
97
        <xsl:when test="$OpenURLText != ''">
96
        <xsl:when test="$OpenURLText != ''">
Lines 118-125 Link Here
118
    <span class="results_summary"><a>
117
    <span class="results_summary"><a>
119
      <xsl:attribute name="href">
118
      <xsl:attribute name="href">
120
        <xsl:value-of select="$OpenURLResolverURL" />
119
        <xsl:value-of select="$OpenURLResolverURL" />
121
        <xsl:text>?</xsl:text>
122
        <xsl:value-of select="$COinS" />
123
      </xsl:attribute>
120
      </xsl:attribute>
124
      <xsl:attribute name="title">
121
      <xsl:attribute name="title">
125
        <xsl:value-of select="$openurltext" />
122
        <xsl:value-of select="$openurltext" />
126
- 

Return to bug 8995