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

(-)a/C4/Biblio.pm (+21 lines)
Lines 88-93 use MARC::File::USMARC; Link Here
88
use MARC::File::XML;
88
use MARC::File::XML;
89
use POSIX qw(strftime);
89
use POSIX qw(strftime);
90
use Module::Load::Conditional qw(can_load);
90
use Module::Load::Conditional qw(can_load);
91
use URI;
91
use URI::Escape; # GetCOinSBiblio
92
use URI::Escape; # GetCOinSBiblio
92
93
93
use C4::Koha;
94
use C4::Koha;
Lines 1396-1401 sub GetCOinSBiblio { Link Here
1396
    return $coins_value;
1397
    return $coins_value;
1397
}
1398
}
1398
1399
1400
sub GetOpenURLResolverURL {
1401
    my ($record) = @_;
1402
1403
    my $coins = GetCOinSBiblio($record);
1404
    my $OpenURLResolverURL = C4::Context->preference('OpenURLResolverURL');
1405
1406
    if ($OpenURLResolverURL) {
1407
        my $uri = URI->new($OpenURLResolverURL);
1408
1409
        if (not defined $uri->query) {
1410
            $OpenURLResolverURL .= '?';
1411
        } else {
1412
            $OpenURLResolverURL .= '&';
1413
        }
1414
        $OpenURLResolverURL .= $coins;
1415
    }
1416
1417
    return $OpenURLResolverURL;
1418
}
1419
1399
1420
1400
=head2 GetMarcPrice
1421
=head2 GetMarcPrice
1401
1422
(-)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 1315-1326 Link Here
1315
1315
1316
        <!-- OpenURL -->
1316
        <!-- OpenURL -->
1317
        <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
1317
        <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
1318
        <xsl:variable name="OpenURLResolverURL" select="marc:sysprefs/marc:syspref[@name='OpenURLResolverURL']" />
1319
        <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
1318
        <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
1320
        <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
1319
        <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
1321
        <xsl:variable name="COinS" select="marc:variables/marc:variable[@name='COinS']" />
1320
        <xsl:variable name="OpenURLResolverURL" select="marc:variables/marc:variable[@name='OpenURLResolverURL']" />
1322
1321
1323
        <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != '' and $COinS != ''">
1322
        <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != ''">
1324
          <xsl:variable name="openurltext">
1323
          <xsl:variable name="openurltext">
1325
            <xsl:choose>
1324
            <xsl:choose>
1326
              <xsl:when test="$OpenURLText != ''">
1325
              <xsl:when test="$OpenURLText != ''">
Lines 1347-1354 Link Here
1347
          <span class="results_summary"><a>
1346
          <span class="results_summary"><a>
1348
            <xsl:attribute name="href">
1347
            <xsl:attribute name="href">
1349
              <xsl:value-of select="$OpenURLResolverURL" />
1348
              <xsl:value-of select="$OpenURLResolverURL" />
1350
              <xsl:text>?</xsl:text>
1351
              <xsl:value-of select="$COinS" />
1352
            </xsl:attribute>
1349
            </xsl:attribute>
1353
            <xsl:attribute name="title">
1350
            <xsl:attribute name="title">
1354
              <xsl:value-of select="$openurltext" />
1351
              <xsl:value-of select="$openurltext" />
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl (-5 / +2 lines)
Lines 447-458 Link Here
447
447
448
    <!-- OpenURL -->
448
    <!-- OpenURL -->
449
    <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
449
    <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
450
    <xsl:variable name="OpenURLResolverURL" select="marc:sysprefs/marc:syspref[@name='OpenURLResolverURL']" />
451
    <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
450
    <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
452
    <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
451
    <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
453
    <xsl:variable name="COinS" select="marc:variables/marc:variable[@name='COinS']" />
452
    <xsl:variable name="OpenURLResolverURL" select="marc:variables/marc:variable[@name='OpenURLResolverURL']" />
454
453
455
    <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != '' and $COinS != ''">
454
    <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != ''">
456
      <xsl:variable name="openurltext">
455
      <xsl:variable name="openurltext">
457
        <xsl:choose>
456
        <xsl:choose>
458
          <xsl:when test="$OpenURLText != ''">
457
          <xsl:when test="$OpenURLText != ''">
Lines 479-486 Link Here
479
      <span class="results_summary"><a>
478
      <span class="results_summary"><a>
480
        <xsl:attribute name="href">
479
        <xsl:attribute name="href">
481
          <xsl:value-of select="$OpenURLResolverURL" />
480
          <xsl:value-of select="$OpenURLResolverURL" />
482
          <xsl:text>?</xsl:text>
483
          <xsl:value-of select="$COinS" />
484
        </xsl:attribute>
481
        </xsl:attribute>
485
        <xsl:attribute name="title">
482
        <xsl:attribute name="title">
486
          <xsl:value-of select="$openurltext" />
483
          <xsl:value-of select="$openurltext" />
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACDetail.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/UNIMARCslim2OPACResults.xsl (-6 / +2 lines)
Lines 87-98 Link Here
87
87
88
  <!-- OpenURL -->
88
  <!-- OpenURL -->
89
  <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
89
  <xsl:variable name="OPACShowOpenURL" select="marc:sysprefs/marc:syspref[@name='OPACShowOpenURL']" />
90
  <xsl:variable name="OpenURLResolverURL" select="marc:sysprefs/marc:syspref[@name='OpenURLResolverURL']" />
91
  <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
90
  <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
92
  <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
91
  <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
93
  <xsl:variable name="COinS" select="marc:variables/marc:variable[@name='COinS']" />
92
  <xsl:variable name="OpenURLResolverURL" select="marc:variables/marc:variable[@name='OpenURLResolverURL']" />
94
93
95
  <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != '' and $COinS != ''">
94
  <xsl:if test="$OPACShowOpenURL = 1 and $OpenURLResolverURL != ''">
96
    <xsl:variable name="openurltext">
95
    <xsl:variable name="openurltext">
97
      <xsl:choose>
96
      <xsl:choose>
98
        <xsl:when test="$OpenURLText != ''">
97
        <xsl:when test="$OpenURLText != ''">
Lines 119-126 Link Here
119
    <span class="results_summary"><a>
118
    <span class="results_summary"><a>
120
      <xsl:attribute name="href">
119
      <xsl:attribute name="href">
121
        <xsl:value-of select="$OpenURLResolverURL" />
120
        <xsl:value-of select="$OpenURLResolverURL" />
122
        <xsl:text>?</xsl:text>
123
        <xsl:value-of select="$COinS" />
124
      </xsl:attribute>
121
      </xsl:attribute>
125
      <xsl:attribute name="title">
122
      <xsl:attribute name="title">
126
        <xsl:value-of select="$openurltext" />
123
        <xsl:value-of select="$openurltext" />
127
- 

Return to bug 8995