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

(-)a/C4/Search.pm (-1 / +5 lines)
Lines 1909-1915 sub searchResults { Link Here
1909
        warn $marcrecord->as_formatted if $DEBUG;
1909
        warn $marcrecord->as_formatted if $DEBUG;
1910
	my $interface = $search_context eq 'opac' ? 'OPAC' : '';
1910
	my $interface = $search_context eq 'opac' ? 'OPAC' : '';
1911
	if (!$scan && C4::Context->preference($interface . "XSLTResultsDisplay")) {
1911
	if (!$scan && C4::Context->preference($interface . "XSLTResultsDisplay")) {
1912
            $oldbiblio->{XSLTResultsRecord} = XSLTParse4Display($oldbiblio->{biblionumber}, $marcrecord, $interface."XSLTResultsDisplay", 1, \@hiddenitems);
1912
            my $variables = {};
1913
            if (C4::Context->preference('OpenURLinOPACResults')) {
1914
                $variables->{COinS} = C4::Biblio::GetCOinSBiblio($marcrecord);
1915
            }
1916
            $oldbiblio->{XSLTResultsRecord} = XSLTParse4Display($oldbiblio->{biblionumber}, $marcrecord, $interface."XSLTResultsDisplay", 1, \@hiddenitems, $variables);
1913
	    # the last parameter tells Koha to clean up the problematic ampersand entities that Zebra outputs
1917
	    # the last parameter tells Koha to clean up the problematic ampersand entities that Zebra outputs
1914
        }
1918
        }
1915
1919
(-)a/C4/XSLT.pm (-3 / +11 lines)
Lines 137-143 sub getAuthorisedValues4MARCSubfields { Link Here
137
my $stylesheet;
137
my $stylesheet;
138
138
139
sub XSLTParse4Display {
139
sub XSLTParse4Display {
140
    my ( $biblionumber, $orig_record, $xslsyspref, $fixamps, $hidden_items ) = @_;
140
    my ( $biblionumber, $orig_record, $xslsyspref, $fixamps, $hidden_items, $variables ) = @_;
141
    my $xslfilename = C4::Context->preference($xslsyspref);
141
    my $xslfilename = C4::Context->preference($xslsyspref);
142
    if ( $xslfilename =~ /^\s*"?default"?\s*$/i ) {
142
    if ( $xslfilename =~ /^\s*"?default"?\s*$/i ) {
143
        my $htdocs;
143
        my $htdocs;
Lines 189-202 sub XSLTParse4Display { Link Here
189
                              Display856uAsImage OPACDisplay856uAsImage 
189
                              Display856uAsImage OPACDisplay856uAsImage 
190
                              UseControlNumber IntranetBiblioDefaultView BiblioDefaultView
190
                              UseControlNumber IntranetBiblioDefaultView BiblioDefaultView
191
                              singleBranchMode
191
                              singleBranchMode
192
                              AlternateHoldingsField AlternateHoldingsSeparator / )
192
                              AlternateHoldingsField AlternateHoldingsSeparator
193
                              OpenURLinOPACResults OpenURLResolverURL
194
                              OpenURLImageLocation OpenURLText
195
    / )
193
    {
196
    {
194
        my $sp = C4::Context->preference( $syspref );
197
        my $sp = C4::Context->preference( $syspref );
195
        next unless defined($sp);
198
        next unless defined($sp);
196
        $sysxml .= "<syspref name=\"$syspref\">$sp</syspref>\n";
199
        $sysxml .= "<syspref name=\"$syspref\">$sp</syspref>\n";
197
    }
200
    }
198
    $sysxml .= "</sysprefs>\n";
201
    $sysxml .= "</sysprefs>\n";
199
    $xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml\<\/record\>/;
202
    my $varxml = "<variables>\n";
203
    while (my ($key, $value) = each %$variables) {
204
        $varxml .= "<variable name=\"$key\">$value</variable>\n";
205
    }
206
    $varxml .= "</variables>\n";
207
    $xmlrecord =~ s/\<\/record\>/$itemsxml$sysxml$varxml\<\/record\>/;
200
    if ($fixamps) { # We need to correct the ampersand entities that Zebra outputs
208
    if ($fixamps) { # We need to correct the ampersand entities that Zebra outputs
201
        $xmlrecord =~ s/\&amp;amp;/\&amp;/g;
209
        $xmlrecord =~ s/\&amp;amp;/\&amp;/g;
202
    }
210
    }
(-)a/installer/data/mysql/sysprefs.sql (+4 lines)
Lines 386-388 INSERT INTO systempreferences (variable,value,explanation,type) VALUES('OPACdidy Link Here
386
INSERT INTO systempreferences (variable,value,explanation,type) VALUES('INTRAdidyoumean',NULL,'Did you mean? configuration for the Intranet. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free');
386
INSERT INTO systempreferences (variable,value,explanation,type) VALUES('INTRAdidyoumean',NULL,'Did you mean? configuration for the Intranet. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free');
387
INSERT INTO systempreferences (variable, value, options, explanation, type) VALUES ('BlockReturnOfWithdrawnItems', '1', '0', 'If enabled, items that are marked as withdrawn cannot be returned.', 'YesNo');
387
INSERT INTO systempreferences (variable, value, options, explanation, type) VALUES ('BlockReturnOfWithdrawnItems', '1', '0', 'If enabled, items that are marked as withdrawn cannot be returned.', 'YesNo');
388
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HoldsToPullStartDate','2','Set the default start date for the Holds to pull list to this many days ago',NULL,'Integer');
388
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HoldsToPullStartDate','2','Set the default start date for the Holds to pull list to this many days ago',NULL,'Integer');
389
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenURLResolverURL', '', 'URL of OpenURL Resolver', NULL, 'Free');
390
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenURLText', '', 'Text of OpenURL links (or image title if OpenURLImageLocation is defined)', NULL, 'Free');
391
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenURLImageLocation', '', 'Location of image for OpenURL links', NULL, 'Free');
392
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenURLinOPACResults', '', 'Enable display of OpenURL links in OPAC search results', NULL, 'YesNo');
(-)a/installer/data/mysql/updatedatabase.pl (+23 lines)
Lines 6020-6025 if (C4::Context->preference("Version") < TransformToNum($DBversion)) { Link Here
6020
   SetVersion ($DBversion);
6020
   SetVersion ($DBversion);
6021
}
6021
}
6022
6022
6023
$DBversion = "XXX";
6024
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
6025
    $dbh->do("
6026
        INSERT INTO systempreferences (variable,value,explanation,options,type)
6027
        VALUES('OpenURLResolverURL', '', 'URL of OpenURL Resolver', NULL, 'Free')
6028
    ");
6029
    $dbh->do("
6030
        INSERT INTO systempreferences (variable,value,explanation,options,type)
6031
        VALUES('OpenURLText', '', 'Text of OpenURL links (or image title if OpenURLImageLocation is defined)', NULL, 'Free');
6032
    ");
6033
    $dbh->do("
6034
        INSERT INTO systempreferences (variable,value,explanation,options,type)
6035
        VALUES('OpenURLImageLocation', '', 'Location of image for OpenURL links', NULL, 'Free');
6036
    ");
6037
    $dbh->do("
6038
        INSERT INTO systempreferences (variable,value,explanation,options,type)
6039
        VALUES('OpenURLinOPACResults', '', 'Enable display of OpenURL links in OPAC search results', NULL, 'YesNo');
6040
    ");
6041
    print "Upgrade to $DBversion done (Add sysprefs for OpenURL)\n";
6042
    SetVersion($DBversion);
6043
}
6044
6045
6023
=head1 FUNCTIONS
6046
=head1 FUNCTIONS
6024
6047
6025
=head2 TableExists($table)
6048
=head2 TableExists($table)
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref (+22 lines)
Lines 258-263 OPAC: Link Here
258
            - '<br />Note: Available options are: BIBTEX (<code>bibtex</code>), Dublin Core (<code>dc</code>),'
258
            - '<br />Note: Available options are: BIBTEX (<code>bibtex</code>), Dublin Core (<code>dc</code>),'
259
            - 'MARCXML (<code>marcxml</code>), MARC-8 encoded MARC (<code>marc8</code>), Unicode/UTF-8 encoded MARC (<code>utf8</code>),'
259
            - 'MARCXML (<code>marcxml</code>), MARC-8 encoded MARC (<code>marc8</code>), Unicode/UTF-8 encoded MARC (<code>utf8</code>),'
260
            - 'Unicode/UTF-8 encoded MARC without local use -9xx, x9x, xx9- fields and subfields (<code>marcstd</code>), MODS (<code>mods</code>), RIS (<code>ris</code>)'
260
            - 'Unicode/UTF-8 encoded MARC without local use -9xx, x9x, xx9- fields and subfields (<code>marcstd</code>), MODS (<code>mods</code>), RIS (<code>ris</code>)'
261
        -
262
            - 'Complete URL of OpenURL resolver (starting with <tt>http://</tt> or <tt>https://</tt>):'
263
            - pref: OpenURLResolverURL
264
              class: url
265
        -
266
            - 'Text of OpenURL links (or image title if OpenURLImageLocation is defined):'
267
            - pref: OpenURLText
268
        -
269
            - 'Location of image for OpenURL links:'
270
            - pref: OpenURLImageLocation
271
              class: url
272
            - '<br />Can be a complete URL starting with <tt>http://</tt> or'
273
            - '<tt>https://</tt> or the name of a file in <tt>images</tt> directory'
274
            - '<br />Examples:'
275
            - '<br />- <tt>http://www.example.com/img/openurl.png</tt>'
276
            - '<br />- <tt>OpenURL/OpenURL.png</tt> (file is in <tt>opac-tmpl/&lt;opacthemes&gt;/images/OpenURL/OpenURL.png</tt>)'
277
        -
278
            - pref: OpenURLinOPACResults
279
              choices:
280
                  yes: Enable
281
                  no: Disable
282
            - 'display of OpenURL link in OPAC search results.'
261
    Features:
283
    Features:
262
        -
284
        -
263
            - pref: opacuserlogin
285
            - pref: opacuserlogin
(-)a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt (+18 lines)
Lines 414-419 $(document).ready(function(){ Link Here
414
        </div>
414
        </div>
415
415
416
        </td></tr>
416
        </td></tr>
417
            [%# Build OpenURL image location %]
418
            [% IF (OpenURLImageLocation && !OpenURLImageLocation.match('^https?://')) %]
419
                [% openurlimagelocation = "$interface/$theme/images/$OpenURLImageLocation" %]
420
            [% ELSE %]
421
                [% openurlimagelocation = "$OpenURLImageLocation" %]
422
            [% END %]
423
417
            <!-- Actual Search Results -->
424
            <!-- Actual Search Results -->
418
            [% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %]
425
            [% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %]
419
            [% UNLESS ( loop.odd ) %]
426
            [% UNLESS ( loop.odd ) %]
Lines 469-474 $(document).ready(function(){ Link Here
469
                                [% IF ( SEARCH_RESULT.author ) %]by <a href="/cgi-bin/koha/opac-search.pl?q=au:[% SEARCH_RESULT.author |url %]" title="Search for works by this author" class="author">[% SEARCH_RESULT.author %]</a>
476
                                [% IF ( SEARCH_RESULT.author ) %]by <a href="/cgi-bin/koha/opac-search.pl?q=au:[% SEARCH_RESULT.author |url %]" title="Search for works by this author" class="author">[% SEARCH_RESULT.author %]</a>
470
                                [% ELSE %]&nbsp;
477
                                [% ELSE %]&nbsp;
471
                                [% END %]
478
                                [% END %]
479
                [% IF (OpenURLinOPACResults && OpenURLResolverURL && SEARCH_RESULT.coins) %]
480
                    <a href="[% OpenURLResolverURL %]?[% SEARCH_RESULT.coins %]" title="[% OpenURLText %]">
481
                    [% IF openurlimagelocation %]
482
                        <img style="vertical-align:middle" src="[% openurlimagelocation %]" />
483
                    [% ELSIF OpenURLText %]
484
                        [% OpenURLText %]
485
                    [% ELSE %]
486
                        OpenURL
487
                    [% END %]
488
                    </a>
489
                [% END %]
472
                <span class="results_summary"><span class="label">Publication:</span>
490
                <span class="results_summary"><span class="label">Publication:</span>
473
                        [% IF ( SEARCH_RESULT.place ) %][% SEARCH_RESULT.place %] [% END %][% IF ( SEARCH_RESULT.publishercode ) %][% SEARCH_RESULT.publishercode|html %][% END %][% IF ( SEARCH_RESULT.publicationyear ) %] [% SEARCH_RESULT.publicationyear %]
491
                        [% IF ( SEARCH_RESULT.place ) %][% SEARCH_RESULT.place %] [% END %][% IF ( SEARCH_RESULT.publishercode ) %][% SEARCH_RESULT.publishercode|html %][% END %][% IF ( SEARCH_RESULT.publicationyear ) %] [% SEARCH_RESULT.publicationyear %]
474
                    [% ELSE %][% IF ( SEARCH_RESULT.copyrightdate ) %] [% SEARCH_RESULT.copyrightdate %][% END %][% END %]
492
                    [% ELSE %][% IF ( SEARCH_RESULT.copyrightdate ) %] [% SEARCH_RESULT.copyrightdate %][% END %][% END %]
(-)a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl (+61 lines)
Lines 436-441 Link Here
436
        </xsl:for-each>
436
        </xsl:for-each>
437
        </xsl:if>
437
        </xsl:if>
438
    </a>
438
    </a>
439
440
    <!-- OpenURL link -->
441
    <xsl:variable name="OpenURLinOPACResults" select="marc:sysprefs/marc:syspref[@name='OpenURLinOPACResults']" />
442
    <xsl:variable name="OpenURLResolverURL" select="marc:sysprefs/marc:syspref[@name='OpenURLResolverURL']" />
443
    <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
444
    <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
445
    <xsl:variable name="COinS" select="marc:variables/marc:variable[@name='COinS']" />
446
447
    <xsl:if test="$OpenURLinOPACResults = 1 and $OpenURLResolverURL != '' and $COinS != ''">
448
      <xsl:variable name="openurltext">
449
        <xsl:choose>
450
          <xsl:when test="$OpenURLText != ''">
451
            <xsl:value-of select="$OpenURLText" />
452
          </xsl:when>
453
          <xsl:otherwise>
454
            <xsl:text>OpenURL</xsl:text>
455
          </xsl:otherwise>
456
        </xsl:choose>
457
      </xsl:variable>
458
459
      <xsl:variable name="openurlimagelocation">
460
        <xsl:choose>
461
          <xsl:when test="starts-with($OpenURLImageLocation, 'http://') or starts-with($OpenURLImageLocation, 'https://')">
462
            <xsl:value-of select="$OpenURLImageLocation" />
463
          </xsl:when>
464
          <xsl:when test="$OpenURLImageLocation != ''">
465
            <xsl:text>/opac-tmpl/prog/images/</xsl:text>
466
            <xsl:value-of select="$OpenURLImageLocation" />
467
          </xsl:when>
468
        </xsl:choose>
469
      </xsl:variable>
470
471
      &nbsp;<a>
472
        <xsl:attribute name="href">
473
          <xsl:value-of select="$OpenURLResolverURL" />
474
          <xsl:text>?</xsl:text>
475
          <xsl:value-of select="$COinS" />
476
        </xsl:attribute>
477
        <xsl:attribute name="title">
478
          <xsl:value-of select="$openurltext" />
479
        </xsl:attribute>
480
        <xsl:choose>
481
          <xsl:when test="$openurlimagelocation != ''">
482
            <xsl:attribute name="style">
483
              <xsl:text>text-decoration:none</xsl:text>
484
            </xsl:attribute>
485
            <img>
486
              <xsl:attribute name="src">
487
                <xsl:value-of select="$openurlimagelocation" />
488
              </xsl:attribute>
489
              <xsl:attribute name="style">
490
                <xsl:text>vertical-align:middle</xsl:text>
491
              </xsl:attribute>
492
            </img>
493
          </xsl:when>
494
          <xsl:otherwise>
495
            <xsl:value-of select="$openurltext" />
496
          </xsl:otherwise>
497
        </xsl:choose>
498
      </a>
499
    </xsl:if>
439
    <p>
500
    <p>
440
501
441
    <!-- Author Statement: Alternate Graphic Representation (MARC 880) -->
502
    <!-- Author Statement: Alternate Graphic Representation (MARC 880) -->
(-)a/koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACResults.xsl (+60 lines)
Lines 76-81 Link Here
76
    </xsl:for-each>
76
    </xsl:for-each>
77
  </xsl:if>
77
  </xsl:if>
78
78
79
  <xsl:variable name="OpenURLinOPACResults" select="marc:sysprefs/marc:syspref[@name='OpenURLinOPACResults']" />
80
  <xsl:variable name="OpenURLResolverURL" select="marc:sysprefs/marc:syspref[@name='OpenURLResolverURL']" />
81
  <xsl:variable name="OpenURLImageLocation" select="marc:sysprefs/marc:syspref[@name='OpenURLImageLocation']" />
82
  <xsl:variable name="OpenURLText" select="marc:sysprefs/marc:syspref[@name='OpenURLText']" />
83
  <xsl:variable name="COinS" select="marc:variables/marc:variable[@name='COinS']" />
84
85
  <xsl:if test="$OpenURLinOPACResults = 1 and $OpenURLResolverURL != '' and $COinS != ''">
86
    <xsl:variable name="openurltext">
87
      <xsl:choose>
88
        <xsl:when test="$OpenURLText != ''">
89
          <xsl:value-of select="$OpenURLText" />
90
        </xsl:when>
91
        <xsl:otherwise>
92
          <xsl:text>OpenURL</xsl:text>
93
        </xsl:otherwise>
94
      </xsl:choose>
95
    </xsl:variable>
96
97
    <xsl:variable name="openurlimagelocation">
98
      <xsl:choose>
99
        <xsl:when test="starts-with($OpenURLImageLocation, 'http://') or starts-with($OpenURLImageLocation, 'https://')">
100
          <xsl:value-of select="$OpenURLImageLocation" />
101
        </xsl:when>
102
        <xsl:when test="$OpenURLImageLocation != ''">
103
          <xsl:text>/opac-tmpl/prog/images/</xsl:text>
104
          <xsl:value-of select="$OpenURLImageLocation" />
105
        </xsl:when>
106
      </xsl:choose>
107
    </xsl:variable>
108
109
    &nbsp;<a>
110
      <xsl:attribute name="href">
111
        <xsl:value-of select="$OpenURLResolverURL" />
112
        <xsl:text>?</xsl:text>
113
        <xsl:value-of select="$COinS" />
114
      </xsl:attribute>
115
      <xsl:attribute name="title">
116
        <xsl:value-of select="$openurltext" />
117
      </xsl:attribute>
118
      <xsl:choose>
119
        <xsl:when test="$openurlimagelocation != ''">
120
          <xsl:attribute name="style">
121
            <xsl:text>text-decoration:none</xsl:text>
122
          </xsl:attribute>
123
          <img>
124
            <xsl:attribute name="src">
125
              <xsl:value-of select="$openurlimagelocation" />
126
            </xsl:attribute>
127
            <xsl:attribute name="style">
128
              <xsl:text>vertical-align:middle</xsl:text>
129
            </xsl:attribute>
130
          </img>
131
        </xsl:when>
132
        <xsl:otherwise>
133
          <xsl:value-of select="$openurltext" />
134
        </xsl:otherwise>
135
      </xsl:choose>
136
    </a>
137
  </xsl:if>
138
79
  <xsl:call-template name="tag_title">
139
  <xsl:call-template name="tag_title">
80
    <xsl:with-param name="tag">454</xsl:with-param>
140
    <xsl:with-param name="tag">454</xsl:with-param>
81
    <xsl:with-param name="label">Translation of</xsl:with-param>
141
    <xsl:with-param name="label">Translation of</xsl:with-param>
(-)a/opac/opac-search.pl (-21 / +31 lines)
Lines 459-464 if (C4::Context->preference('OpacSuppression')) { Link Here
459
    }
459
    }
460
}
460
}
461
461
462
# OpenURL
463
if (C4::Context->preference('OpenURLinOPACResults')) {
464
    $template->param(
465
        OpenURLinOPACResults => 1,
466
        OpenURLResolverURL => C4::Context->preference('OpenURLResolverURL'),
467
        OpenURLText => C4::Context->preference('OpenURLText'),
468
        OpenURLImageLocation => C4::Context->preference('OpenURLImageLocation')
469
    );
470
}
471
462
$template->param ( LIMIT_INPUTS => \@limit_inputs );
472
$template->param ( LIMIT_INPUTS => \@limit_inputs );
463
$template->param ( OPACResultsSidebar => C4::Context->preference('OPACResultsSidebar'));
473
$template->param ( OPACResultsSidebar => C4::Context->preference('OPACResultsSidebar'));
464
474
Lines 543-548 for (my $i=0;$i<@servers;$i++) { Link Here
543
            if ( grep {$_ eq $line->{'biblionumber'}} @cart_list) {
553
            if ( grep {$_ eq $line->{'biblionumber'}} @cart_list) {
544
                $line->{'incart'} = 1;
554
                $line->{'incart'} = 1;
545
            }
555
            }
556
557
            if (C4::Context->preference('COinSinOPACResults')
558
            or C4::Context->preference('OpenURLinOPACResults')) {
559
                my $record = GetMarcBiblio($line->{'biblionumber'});
560
                $line->{coins} = GetCOinSBiblio($record);
561
            }
562
563
            if ( C4::Context->preference( "Babeltheque" ) and $line->{normalized_isbn} ) {
564
                my $isbn = Business::ISBN->new( $line->{normalized_isbn} );
565
                next if not $isbn;
566
                $isbn = $isbn->as_isbn13->as_string;
567
                $isbn =~ s/-//g;
568
                my $social_datas = C4::SocialData::get_data( $isbn );
569
                next if not $social_datas;
570
                for my $key ( keys %$social_datas ) {
571
                    $line->{$key} = $$social_datas{$key};
572
                    if ( $key eq 'score_avg' ){
573
                        $line->{score_int} = sprintf("%.0f", $$social_datas{score_avg} );
574
                    }
575
                }
576
            }
546
        }
577
        }
547
578
548
579
Lines 557-582 for (my $i=0;$i<@servers;$i++) { Link Here
557
            }
588
            }
558
        }
589
        }
559
590
560
        if (C4::Context->preference('COinSinOPACResults')) {
561
            foreach (@newresults) {
562
                my $record = GetMarcBiblio($_->{'biblionumber'});
563
                $_->{coins} = GetCOinSBiblio($record);
564
                if ( C4::Context->preference( "Babeltheque" ) and $_->{normalized_isbn} ) {
565
                    my $isbn = Business::ISBN->new( $_->{normalized_isbn} );
566
                    next if not $isbn;
567
                    $isbn = $isbn->as_isbn13->as_string;
568
                    $isbn =~ s/-//g;
569
                    my $social_datas = C4::SocialData::get_data( $isbn );
570
                    next if not $social_datas;
571
                    for my $key ( keys %$social_datas ) {
572
                        $_->{$key} = $$social_datas{$key};
573
                        if ( $key eq 'score_avg' ){
574
                            $_->{score_int} = sprintf("%.0f", $$social_datas{score_avg} );
575
                        }
576
                    }
577
                }
578
            }
579
        }
580
591
581
592
582
        if ( C4::Context->preference('OpacStarRatings') eq 'all' ) {
593
        if ( C4::Context->preference('OpacStarRatings') eq 'all' ) {
583
- 

Return to bug 8995