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

(-)a/catalogue/detail.pl (+50 lines)
Lines 60-65 use Koha::Reviews; Link Here
60
use Koha::SearchEngine::Search;
60
use Koha::SearchEngine::Search;
61
use Koha::SearchEngine::QueryBuilder;
61
use Koha::SearchEngine::QueryBuilder;
62
use Koha::Serial::Items;
62
use Koha::Serial::Items;
63
use C4::External::Syndetics qw(
64
    get_syndetics_anotes
65
    get_syndetics_excerpt
66
    get_syndetics_index
67
    get_syndetics_reviews
68
    get_syndetics_summary
69
    get_syndetics_toc
70
);
63
71
64
my $query = CGI->new();
72
my $query = CGI->new();
65
73
Lines 427-432 if ( C4::Context->preference('OPACComments') ) { Link Here
427
435
428
}
436
}
429
437
438
my $syndetics_elements;
439
440
if ( C4::Context->preference("SyndeticsEnabled") ) {
441
    $template->param( "SyndeticsEnabled"    => 1 );
442
    $template->param( "SyndeticsClientCode" => C4::Context->preference("SyndeticsClientCode") );
443
    eval {
444
        $syndetics_elements = &get_syndetics_index( $isbn, $upc, $oclc );
445
        for my $element ( values %$syndetics_elements ) {
446
            $template->param( "Syndetics$element" . "Exists" => 1 );
447
        }
448
    };
449
}
450
451
if (   C4::Context->preference("SyndeticsEnabled")
452
    && C4::Context->preference("SyndeticsExcerpt")
453
    && exists( $syndetics_elements->{'DBCHAPTER'} ) )
454
{
455
    eval {
456
        my $syndetics_excerpt = &get_syndetics_excerpt( $isbn, $upc, $oclc );
457
        $template->param( SYNDETICS_EXCERPT => $syndetics_excerpt );
458
    };
459
}
460
461
if (   C4::Context->preference("SyndeticsEnabled")
462
    && C4::Context->preference("SyndeticsAuthorNotes")
463
    && exists( $syndetics_elements->{'ANOTES'} ) )
464
{
465
    eval {
466
        my $syndetics_anotes = &get_syndetics_anotes( $isbn, $upc, $oclc );
467
        $template->param( SYNDETICS_ANOTES => $syndetics_anotes );
468
    };
469
}
470
471
if (   C4::Context->preference("SyndeticsEnabled")
472
    && C4::Context->preference("SyndeticsReviews") )
473
{
474
    eval {
475
        my $syndetics_reviews = &get_syndetics_reviews( $isbn, $upc, $oclc, $syndetics_elements );
476
        $template->param( SYNDETICS_REVIEWS => $syndetics_reviews );
477
    };
478
}
479
430
my @results = ( $dat, );
480
my @results = ( $dat, );
431
foreach ( keys %{$dat} ) {
481
foreach ( keys %{$dat} ) {
432
    $template->param( "$_" => defined $dat->{$_} ? $dat->{$_} : '' );
482
    $template->param( "$_" => defined $dat->{$_} ? $dat->{$_} : '' );
(-)a/installer/data/mysql/atomicupdate/bug_32432.pl (+84 lines)
Line 0 Link Here
1
use Modern::Perl;
2
use Koha::Installer::Output qw(say_warning say_success say_info);
3
4
return {
5
    bug_number  => "32432",
6
    description => "Convert the Syndetics from 1/0 to multiple",
7
    up          => sub {
8
        my ($args) = @_;
9
        my ( $dbh, $out ) = @$args{qw(dbh out)};
10
11
        my ($SyndeticsExcerpt) = $dbh->selectrow_array(
12
            q{
13
            SELECT CASE
14
                WHEN value = '1' THEN 'opac'
15
                WHEN value = '0' THEN ''
16
                ELSE value
17
            END
18
            FROM systempreferences
19
            WHERE variable = 'SyndeticsExcerpt'
20
        }
21
        );
22
23
        $dbh->do(
24
            q{
25
            UPDATE systempreferences
26
            SET type = 'multiple',
27
                options = 'staff|opac',
28
                value = ?
29
            WHERE variable = 'SyndeticsExcerpt'
30
        }, undef, $SyndeticsExcerpt
31
        );
32
33
        say $out "Updated SyndeticsExcerpt system preference";
34
35
        my ($SyndeticsReviews) = $dbh->selectrow_array(
36
            q{
37
            SELECT CASE
38
                WHEN value = '1' THEN 'opac'
39
                WHEN value = '0' THEN ''
40
                ELSE value
41
            END
42
            FROM systempreferences
43
            WHERE variable = 'SyndeticsReviews'
44
        }
45
        );
46
47
        $dbh->do(
48
            q{
49
            UPDATE systempreferences
50
            SET type = 'multiple',
51
                options = 'staff|opac',
52
                value = ?
53
            WHERE variable = 'SyndeticsReviews'
54
        }, undef, $SyndeticsReviews
55
        );
56
57
        say $out "Updated SyndeticsReviews system preference";
58
59
        my ($SyndeticsAuthorNotes) = $dbh->selectrow_array(
60
            q{
61
            SELECT CASE
62
                WHEN value = '1' THEN 'opac'
63
                WHEN value = '0' THEN ''
64
                ELSE value
65
            END
66
            FROM systempreferences
67
            WHERE variable = 'SyndeticsAuthorNotes'
68
        }
69
        );
70
71
        $dbh->do(
72
            q{
73
            UPDATE systempreferences
74
            SET type = 'multiple',
75
                options = 'staff|opac',
76
                value = ?
77
            WHERE variable = 'SyndeticsAuthorNotes'
78
        }, undef, $SyndeticsAuthorNotes
79
        );
80
81
        say $out "Updated SyndeticsAuthorNotes system preference";
82
83
    },
84
};
(-)a/installer/data/mysql/mandatory/sysprefs.sql (-3 / +3 lines)
Lines 792-806 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
792
('SuspensionsCalendar','noSuspensionsWhenClosed','ignoreCalendar|noSuspensionsWhenClosed','Specify whether to use the Calendar in calculating suspension expiration','Choice'),
792
('SuspensionsCalendar','noSuspensionsWhenClosed','ignoreCalendar|noSuspensionsWhenClosed','Specify whether to use the Calendar in calculating suspension expiration','Choice'),
793
('SvcMaxReportRows','10',NULL,'Maximum number of rows to return via the report web service.','Integer'),
793
('SvcMaxReportRows','10',NULL,'Maximum number of rows to return via the report web service.','Integer'),
794
('SwitchOnSiteCheckouts','0',NULL,'Automatically switch an on-site checkout to a normal checkout','YesNo'),
794
('SwitchOnSiteCheckouts','0',NULL,'Automatically switch an on-site checkout to a normal checkout','YesNo'),
795
('SyndeticsAuthorNotes','0','','Display Notes about the Author on OPAC from Syndetics','YesNo'),
795
('SyndeticsAuthorNotes','','staff|opac','Display Notes about the Author from Syndetics','multiple'),
796
('SyndeticsAwards','0','','Display Awards on OPAC from Syndetics','YesNo'),
796
('SyndeticsAwards','0','','Display Awards on OPAC from Syndetics','YesNo'),
797
('SyndeticsClientCode','0','','Client Code for using Syndetics Solutions content','free'),
797
('SyndeticsClientCode','0','','Client Code for using Syndetics Solutions content','free'),
798
('SyndeticsCoverImages','0','','Display Cover Images from Syndetics','YesNo'),
798
('SyndeticsCoverImages','0','','Display Cover Images from Syndetics','YesNo'),
799
('SyndeticsCoverImageSize','MC','MC|LC','Choose the size of the Syndetics Cover Image to display on the OPAC detail page, MC is Medium, LC is Large','Choice'),
799
('SyndeticsCoverImageSize','MC','MC|LC','Choose the size of the Syndetics Cover Image to display on the OPAC detail page, MC is Medium, LC is Large','Choice'),
800
('SyndeticsEditions','0','','Display Editions from Syndetics','YesNo'),
800
('SyndeticsEditions','0','','Display Editions from Syndetics','YesNo'),
801
('SyndeticsEnabled','0','','Turn on Syndetics Enhanced Content','YesNo'),
801
('SyndeticsEnabled','0','','Turn on Syndetics Enhanced Content','YesNo'),
802
('SyndeticsExcerpt','0','','Display Excerpts and first chapters on OPAC from Syndetics','YesNo'),
802
('SyndeticsExcerpt','staff|opac','','Display Excerpts and first chapters from Syndetics','multiple'),
803
('SyndeticsReviews','0','','Display Reviews on OPAC from Syndetics','YesNo'),
803
('SyndeticsReviews','staff|opac','','Display Reviews on OPAC from Syndetics','multiple'),
804
('SyndeticsSeries','0','','Display Series information on OPAC from Syndetics','YesNo'),
804
('SyndeticsSeries','0','','Display Series information on OPAC from Syndetics','YesNo'),
805
('SyndeticsSummary','0','','Display Summary Information from Syndetics','YesNo'),
805
('SyndeticsSummary','0','','Display Summary Information from Syndetics','YesNo'),
806
('SyndeticsTOC','0','','Display Table of Content information from Syndetics','YesNo'),
806
('SyndeticsTOC','0','','Display Table of Content information from Syndetics','YesNo'),
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/enhanced_content.pref (-12 / +12 lines)
Lines 195-205 Enhanced content: Link Here
195
                  LC: large
195
                  LC: large
196
            - size.
196
            - size.
197
        -
197
        -
198
            - Show notes about the author of a title from Syndetics on item detail pages on the
198
            - pref: SyndeticsAuthorNotes
199
            - pref: SyndeticsAuthorNotes
199
              choices:
200
              multiple:
200
                  1: Show
201
                opac: OPAC
201
                  0: "Don't show"
202
                staff: Staff interface
202
            - notes about the author of a title from Syndetics on item detail pages on the OPAC.
203
        -
203
        -
204
            - pref: SyndeticsAwards
204
            - pref: SyndeticsAwards
205
              choices:
205
              choices:
Lines 213-229 Enhanced content: Link Here
213
                  0: "Don't show"
213
                  0: "Don't show"
214
            - information about other editions of a title from Syndetics on item detail pages on the OPAC (when <a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=OPACFRBRizeEditions">OPACFRBRizeEditions</a> is on).
214
            - information about other editions of a title from Syndetics on item detail pages on the OPAC (when <a href="/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=OPACFRBRizeEditions">OPACFRBRizeEditions</a> is on).
215
        -
215
        -
216
            - Show excerpts from of a title from Syndetics on item detail pages on the
216
            - pref: SyndeticsExcerpt
217
            - pref: SyndeticsExcerpt
217
              choices:
218
              multiple:
218
                  1: Show
219
                opac: OPAC
219
                  0: "Don't show"
220
                staff: Staff interface
220
            - excerpts from of a title from Syndetics on item detail pages on the OPAC.
221
        -
221
        -
222
            - Show reviews of a title from Syndetics on item detail pages on the
222
            - pref: SyndeticsReviews
223
            - pref: SyndeticsReviews
223
              choices:
224
              multiple:
224
                  1: Show
225
                opac: OPAC
225
                  0: "Don't show"
226
                staff: Staff interface
226
            - reviews of a title from Syndetics on item detail pages on the OPAC.
227
        -
227
        -
228
            - pref: SyndeticsSeries
228
            - pref: SyndeticsSeries
229
              choices:
229
              choices:
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt (+62 lines)
Lines 90-95 Link Here
90
            [% CoceProviders   = Koha.Preference('CoceProviders') %]
90
            [% CoceProviders   = Koha.Preference('CoceProviders') %]
91
            [% CoceHost        = Koha.Preference('CoceHost') %]
91
            [% CoceHost        = Koha.Preference('CoceHost') %]
92
            [% SyndeticsCovers = Koha.Preference('SyndeticsEnabled') && Koha.Preference('SyndeticsCoverImages') %]
92
            [% SyndeticsCovers = Koha.Preference('SyndeticsEnabled') && Koha.Preference('SyndeticsCoverImages') %]
93
            [% SyndeticsAuthorNotes = Koha.Preference('SyndeticsEnabled') && Koha.Preference('SyndeticsAuthorNotes').split(',').grep('staff').size %]
94
            [% SyndeticsReviews = Koha.Preference('SyndeticsEnabled') && Koha.Preference('SyndeticsReviews').split(',').grep('staff').size %]
95
            [% SyndeticsExcerpt = Koha.Preference('SyndeticsEnabled') && Koha.Preference('SyndeticsExcerpt').split(',').grep('staff').size %]
93
96
94
            [% INCLUDE 'cat-toolbar.inc' %]
97
            [% INCLUDE 'cat-toolbar.inc' %]
95
            [% IF ( ocoins ) %]
98
            [% IF ( ocoins ) %]
Lines 410-415 Link Here
410
                [% END %]
413
                [% END %]
411
            [% END %]
414
            [% END %]
412
415
416
            [% IF ( SyndeticsExcerpt && SYNDETICS_EXCERPT ) %]
417
                [% WRAPPER tab_item tabname= "excerpt" %]
418
                    <span>Excerpt</span>
419
                [% END %]
420
            [% END %]
421
422
            [% IF ( SyndeticsReviews && SYNDETICS_REVIEWS ) %]
423
                [% WRAPPER tab_item tabname= "reviews" %]
424
                    <span>Reviews</span>
425
                [% END %]
426
            [% END %]
427
428
            [% IF ( SyndeticsAuthorNotes && SYNDETICS_ANOTES ) %]
429
                [% WRAPPER tab_item tabname= "anotes" %]
430
                    <span>About the author</span>
431
                [% END %]
432
            [% END %]
433
413
            [% FOREACH plugins_intranet_catalog_biblio_tab IN plugins_intranet_catalog_biblio_tabs %]
434
            [% FOREACH plugins_intranet_catalog_biblio_tab IN plugins_intranet_catalog_biblio_tabs %]
414
                [% WRAPPER tab_item tabname= "${ plugins_intranet_catalog_biblio_tab.id }" %]
435
                [% WRAPPER tab_item tabname= "${ plugins_intranet_catalog_biblio_tab.id }" %]
415
                    <span>[% plugins_intranet_catalog_biblio_tab.title | html %]</span>
436
                    <span>[% plugins_intranet_catalog_biblio_tab.title | html %]</span>
Lines 961-966 Link Here
961
                [% END # /tab_panel %]
982
                [% END # /tab_panel %]
962
            [% END %]
983
            [% END %]
963
984
985
            [% IF ( SyndeticsExcerpt && SYNDETICS_EXCERPT ) %]
986
                [% WRAPPER tab_panel tabname="excerpt" %]
987
                    <div class="content_set">
988
                        <h2>Excerpt provided by Syndetics</h2>
989
                        [% SYNDETICS_EXCERPT | $raw %]
990
                    </div>
991
                [% END # /tab_panel#excerpt %]
992
            [% END # / IF SyndeticsExcerpt && SYNDETICS_EXCERPT %]
993
994
            [% IF ( SyndeticsReviews && SYNDETICS_REVIEWS ) %]
995
                [% WRAPPER tab_panel tabname="reviews" %]
996
                    <div class="content_set">
997
                        <h2>Reviews provided by Syndetics</h2>
998
                        [% FOREACH SYNDETICS_REVIEW IN SYNDETICS_REVIEWS %]
999
                            [% IF ( SYNDETICS_REVIEW.title ) %]
1000
                                <h3>[% SYNDETICS_REVIEW.title | html %]</h3>
1001
                                [% FOREACH review IN SYNDETICS_REVIEW.reviews %]
1002
1003
                                    [% IF ( review.content ) %]
1004
                                        [% review.content | $raw %]
1005
                                    [% END %]
1006
                                [% END %]
1007
                            [% END %]
1008
                        [% END %]
1009
                    </div>
1010
                [% END # /tab_panel#reviews %]
1011
            [% END # / IF SyndeticsReviews && SYNDETICS_REVIEWS %]
1012
1013
            [% IF ( SyndeticsAuthorNotes && SYNDETICS_ANOTES ) %]
1014
                [% WRAPPER tab_panel tabname="anotes" %]
1015
                    <div class="content_set">
1016
                        <h2>Author notes provided by Syndetics</h2>
1017
                        [% FOREACH SYNDETICS_ANOTE IN SYNDETICS_ANOTES %]
1018
                            [% IF ( SYNDETICS_ANOTE.content ) %]
1019
                                [% SYNDETICS_ANOTE.content | $raw %]
1020
                            [% END %]
1021
                        [% END %]
1022
                    </div>
1023
                [% END # /tab_panel#anotes %]
1024
            [% END # / IF SyndeticsAuthorNotes && SYNDETICS_ANOTES %]
1025
964
            [% FOREACH plugins_intranet_catalog_biblio_tab IN plugins_intranet_catalog_biblio_tabs %]
1026
            [% FOREACH plugins_intranet_catalog_biblio_tab IN plugins_intranet_catalog_biblio_tabs %]
965
                [% WRAPPER tab_panel tabname="${ plugins_intranet_catalog_biblio_tab.id }" %]
1027
                [% WRAPPER tab_panel tabname="${ plugins_intranet_catalog_biblio_tab.id }" %]
966
                    [% plugins_intranet_catalog_biblio_tab.content | $raw %]
1028
                    [% plugins_intranet_catalog_biblio_tab.content | $raw %]
(-)a/opac/opac-detail.pl (-4 / +3 lines)
Lines 1074-1080 if ( C4::Context->preference("SyndeticsEnabled") Link Here
1074
}
1074
}
1075
1075
1076
if (   C4::Context->preference("SyndeticsEnabled")
1076
if (   C4::Context->preference("SyndeticsEnabled")
1077
    && C4::Context->preference("SyndeticsExcerpt")
1077
    && C4::Context->preference("SyndeticsExcerpt") =~ /opac/
1078
    && exists( $syndetics_elements->{'DBCHAPTER'} ) )
1078
    && exists( $syndetics_elements->{'DBCHAPTER'} ) )
1079
{
1079
{
1080
    eval {
1080
    eval {
Lines 1085-1091 if ( C4::Context->preference("SyndeticsEnabled") Link Here
1085
}
1085
}
1086
1086
1087
if (   C4::Context->preference("SyndeticsEnabled")
1087
if (   C4::Context->preference("SyndeticsEnabled")
1088
    && C4::Context->preference("SyndeticsReviews") )
1088
    && C4::Context->preference("SyndeticsReviews") =~ /opac/ )
1089
{
1089
{
1090
    eval {
1090
    eval {
1091
        my $syndetics_reviews = &get_syndetics_reviews( $isbn, $upc, $oclc, $syndetics_elements );
1091
        my $syndetics_reviews = &get_syndetics_reviews( $isbn, $upc, $oclc, $syndetics_elements );
Lines 1095-1101 if ( C4::Context->preference("SyndeticsEnabled") Link Here
1095
}
1095
}
1096
1096
1097
if (   C4::Context->preference("SyndeticsEnabled")
1097
if (   C4::Context->preference("SyndeticsEnabled")
1098
    && C4::Context->preference("SyndeticsAuthorNotes")
1098
    && C4::Context->preference("SyndeticsAuthorNotes") =~ /opac/
1099
    && exists( $syndetics_elements->{'ANOTES'} ) )
1099
    && exists( $syndetics_elements->{'ANOTES'} ) )
1100
{
1100
{
1101
    eval {
1101
    eval {
1102
- 

Return to bug 32432