Bug 5429 : Open Library book covers
Signed-off-by: Magnus Enger <magnus@enger.priv.no> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This commit is contained in:
parent
649573ad24
commit
cbf473d592
13 changed files with 102 additions and 5 deletions
|
@ -338,6 +338,7 @@ sub get_template_and_user {
|
|||
"BiblioDefaultView".C4::Context->preference("BiblioDefaultView") => 1,
|
||||
EnhancedMessagingPreferences => C4::Context->preference('EnhancedMessagingPreferences'),
|
||||
GoogleJackets => C4::Context->preference("GoogleJackets"),
|
||||
OpenLibraryCovers => C4::Context->preference("OpenLibraryCovers"),
|
||||
KohaAdminEmailAddress => "" . C4::Context->preference("KohaAdminEmailAddress"),
|
||||
LoginBranchcode => (C4::Context->userenv?C4::Context->userenv->{"branch"}:"insecure"),
|
||||
LoginFirstname => (C4::Context->userenv?C4::Context->userenv->{"firstname"}:"Bel"),
|
||||
|
|
|
@ -316,3 +316,5 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('
|
|||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacRenewalBranch','checkoutbranch','Choose how the branch for an OPAC renewal is recorded in statistics','itemhomebranch|patronhomebranch|checkoutbranch|null','Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('BasketConfirmations', '1', 'When closing or reopening a basket,', 'always ask for confirmation.|do not ask for confirmation.', 'Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('MARCAuthorityControlField008', '|| aca||aabn | a|a d', NULL, NULL, 'Textarea');
|
||||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenLibraryCovers',0, 'If ON Openlibrary book covers will be show',NULL,'YesNo');
|
||||
|
||||
|
|
|
@ -316,4 +316,4 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
|
|||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacRenewalBranch','checkoutbranch','Choose how the branch for an OPAC renewal is recorded in statistics','itemhomebranch|patronhomebranch|checkoutbranch|null','Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('BasketConfirmations', '1', 'When closing or reopening a basket,', 'always ask for confirmation.|do not ask for confirmation.', 'Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('MARCAuthorityControlField008', '|| aca||aabn | a|a d', NULL, NULL, 'Textarea');
|
||||
|
||||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenLibraryCovers',0,'If ON Openlibrary book covers will be show',NULL,'YesNo');
|
||||
|
|
|
@ -317,3 +317,5 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('
|
|||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacRenewalBranch','checkoutbranch','Choose how the branch for an OPAC renewal is recorded in statistics','itemhomebranch|patronhomebranch|checkoutbranch|null','Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('BasketConfirmations', '1', 'When closing or reopening a basket,', 'always ask for confirmation.|do not ask for confirmation.', 'Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('MARCAuthorityControlField008', '|| aca||aabn | a|a d', NULL, NULL, 'Textarea');
|
||||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenLibraryCovers',0,'If ON Openlibrary book covers will be show',NULL,'YesNo');
|
||||
|
||||
|
|
|
@ -303,4 +303,5 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('
|
|||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacRenewalBranch','checkoutbranch','Choose how the branch for an OPAC renewal is recorded in statistics','itemhomebranch|patronhomebranch|checkoutbranch|null','Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('BasketConfirmations', '1', 'When closing or reopening a basket,', 'always ask for confirmation.|do not ask for confirmation.', 'Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('MARCAuthorityControlField008', '|| aca||aabn | a|a d', NULL, NULL, 'Textarea');
|
||||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenLibraryCovers',0,'If ON Openlibrary book covers will be show',NULL,'YesNo');
|
||||
|
||||
|
|
|
@ -323,4 +323,4 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
|
|||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('TraceSubjectSubdivisions', '0', 'Create searches on all subdivisions for subject tracings.','1','YesNo');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('BasketConfirmations', '1', 'When closing or reopening a basket,', 'always ask for confirmation.|do not ask for confirmation.', 'Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('MARCAuthorityControlField008', '|| aca||aabn | a|a d', NULL, NULL, 'Textarea');
|
||||
|
||||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenLibraryCovers',0,'If ON Openlibrary book covers will be show',NULL,'YesNo');
|
||||
|
|
|
@ -315,4 +315,4 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('
|
|||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacRenewalBranch','checkoutbranch','Choose how the branch for an OPAC renewal is recorded in statistics','itemhomebranch|patronhomebranch|checkoutbranch|null','Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('BasketConfirmations', '1', 'When closing or reopening a basket,', 'always ask for confirmation.|do not ask for confirmation.', 'Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('MARCAuthorityControlField008', '|| aca||aabn | a|a d', NULL, NULL, 'Textarea');
|
||||
|
||||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenLibraryCovers',0, 'If ON Openlibrary book covers will be show',NULL,'YesNo');
|
||||
|
|
|
@ -370,4 +370,4 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('
|
|||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacRenewalBranch','checkoutbranch','Choose how the branch for an OPAC renewal is recorded in statistics','itemhomebranch|patronhomebranch|checkoutbranch|null','Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('BasketConfirmations', '1', 'When closing or reopening a basket,', 'always ask for confirmation.|do not ask for confirmation.', 'Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('MARCAuthorityControlField008', '|| aca||aabn | a|a d', NULL, NULL, 'Textarea');
|
||||
|
||||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenLibraryCovers',0,'If ON Openlibrary book covers will be show',NULL,'YesNo');
|
||||
|
|
|
@ -395,3 +395,5 @@ INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('
|
|||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacRenewalBranch','checkoutbranch','Choose how the branch for an OPAC renewal is recorded in statistics','itemhomebranch|patronhomebranch|checkoutbranch|null','Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('BasketConfirmations', '1', 'When closing or reopening a basket,', 'always ask for confirmation.|do not ask for confirmation.', 'Choice');
|
||||
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('MARCAuthorityControlField008', '|| aca||aabn | a|a d', NULL, NULL, 'Textarea');
|
||||
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenLibraryCovers',0, 'If ON Openlibrary book covers will be show',NULL,'YesNo');
|
||||
|
||||
|
|
|
@ -130,6 +130,13 @@ Enhanced Content:
|
|||
yes: Add
|
||||
no: "Don't add"
|
||||
- cover images from Google Books to search results and item detail pages on the OPAC.
|
||||
OpenLibrary:
|
||||
-
|
||||
- pref: OpenLibraryCovers
|
||||
choices:
|
||||
yes: Add
|
||||
no: "Don't add"
|
||||
- cover images from OpenLibrary to search results and item detail pages on the OPAC.
|
||||
Library Thing:
|
||||
# Awkward syntax below, due to quoting conflicts
|
||||
-
|
||||
|
|
|
@ -84,7 +84,17 @@
|
|||
var NO_GOOGLE_JACKET = _("No cover image available");
|
||||
//]]>
|
||||
</script>
|
||||
[% END %][% IF ( BakerTaylorEnabled ) %]<script type="text/javascript" language="javascript" src="[% themelang %]/js/bakertaylorimages.js"></script>
|
||||
[% END %]
|
||||
[% IF OpenLibraryCovers %]
|
||||
<script type="text/javascript" language="javascript" src="[% themelang %]/js/openlibrary.js"></script>
|
||||
<script type="text/javascript" language="javascript">
|
||||
//<![CDATA[
|
||||
var NO_OL_JACKET = _("No cover image available");
|
||||
//]]>
|
||||
</script>
|
||||
[% END %]
|
||||
|
||||
[% IF ( BakerTaylorEnabled ) %]<script type="text/javascript" language="javascript" src="[% themelang %]/js/bakertaylorimages.js"></script>
|
||||
<script type="text/javascript" language="javascript">
|
||||
//<![CDATA[
|
||||
var NO_BAKERTAYLOR_IMAGE = _("No cover image available");
|
||||
|
|
70
koha-tmpl/opac-tmpl/prog/en/js/openlibrary.js
Normal file
70
koha-tmpl/opac-tmpl/prog/en/js/openlibrary.js
Normal file
|
@ -0,0 +1,70 @@
|
|||
if (typeof KOHA == "undefined" || !KOHA) {
|
||||
var KOHA = {};
|
||||
}
|
||||
|
||||
/**
|
||||
* A namespace for OpenLibrary related functions.
|
||||
*/
|
||||
KOHA.OpenLibrary = {
|
||||
|
||||
|
||||
/**
|
||||
* Search all:
|
||||
* <div title="biblionumber" id="isbn" class="openlibrary-thumbnail"></div>
|
||||
* or
|
||||
* <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
|
||||
* and run a search with all collected isbns to Open Library Book Search.
|
||||
* The result is asynchronously returned by OpenLibrary and catched by
|
||||
* olCallBack().
|
||||
*/
|
||||
GetCoverFromIsbn: function() {
|
||||
var bibkeys = [];
|
||||
$("div [id^=openlibrary-thumbnail]").each(function(i) {
|
||||
bibkeys.push("ISBN:" + $(this).attr("class")); // id=isbn
|
||||
});
|
||||
bibkeys = bibkeys.join(',');
|
||||
var scriptElement = document.createElement("script");
|
||||
scriptElement.setAttribute("id", "jsonScript");
|
||||
scriptElement.setAttribute("src",
|
||||
"http://openlibrary.org/api/books?bibkeys=" + escape(bibkeys) +
|
||||
"&callback=KOHA.OpenLibrary.olCallBack");
|
||||
scriptElement.setAttribute("type", "text/javascript");
|
||||
document.documentElement.firstChild.appendChild(scriptElement);
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Add cover pages <div
|
||||
* and link to preview if div id is gbs-thumbnail-preview
|
||||
*/
|
||||
olCallBack: function(booksInfo) {
|
||||
for (id in booksInfo) {
|
||||
var book = booksInfo[id];
|
||||
var isbn = book.bib_key.substring(5);
|
||||
|
||||
$("."+isbn).each(function() {
|
||||
var a = document.createElement("a");
|
||||
a.href = book.info_url;
|
||||
if (typeof(book.thumbnail_url) != "undefined") {
|
||||
var img = document.createElement("img");
|
||||
img.src = book.thumbnail_url;
|
||||
$(this).append(img);
|
||||
var re = /^openlibrary-thumbnail-preview/;
|
||||
if ( re.exec($(this).attr("id")) ) {
|
||||
$(this).append(
|
||||
'<div style="margin-bottom:5px; margin-top:-5px;font-size:9px">' +
|
||||
'<a href="' +
|
||||
book.info_url +
|
||||
'">Preview</a></div>'
|
||||
);
|
||||
}
|
||||
} else {
|
||||
var message = document.createElement("span");
|
||||
$(message).attr("class","no-image");
|
||||
$(message).html(NO_OL_JACKET);
|
||||
$(this).append(message);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
|
@ -228,6 +228,7 @@ $(document).ready(function(){
|
|||
[% END %]
|
||||
[% END %]
|
||||
[% END %][% END %]
|
||||
[% IF OpenLibraryCovers %]KOHA.OpenLibrary.GetCoverFromIsbn();[% END %]
|
||||
[% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
|
||||
});
|
||||
//]]>
|
||||
|
@ -535,6 +536,7 @@ $(document).ready(function(){
|
|||
<img src="http://www.syndetics.com/index.aspx?isbn=[% SEARCH_RESULT.normalized_isbn %]/SC.GIF&client=[% SEARCH_RESULT.SyndeticsClientCode %]&type=xw10&upc=[% SEARCH_RESULT.normalized_upc %]&oclc=[% SEARCH_RESULT.normalized_oclc %]" alt="" class="thumbnail" />[% END %][% END %][% END %]
|
||||
|
||||
[% IF ( GoogleJackets ) %][% IF ( SEARCH_RESULT.normalized_isbn ) %]<div style="block" title="[% SEARCH_RESULT.biblionumber |url %]" class="[% SEARCH_RESULT.normalized_isbn %]" id="gbs-thumbnail[% loop.count %]"></div>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
|
||||
[% IF OpenLibraryCovers %][% IF SEARCH_RESULT.normalized_isbn %]<div style="block" title="[% SEARCH_RESULT.biblionumber %]" class="[% SEARCH_RESULT.normalized_isbn %]" id="openlibrary-thumbnail[% loop.count %]"></div>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
|
||||
</a>
|
||||
[% IF ( BakerTaylorEnabled ) %][% IF ( SEARCH_RESULT.normalized_isbn ) %]<a href="https://[% BakerTaylorBookstoreURL |html %][% SEARCH_RESULT.normalized_isbn %]"><img alt="See Baker & Taylor" src="[% BakerTaylorImageURL |html %][% SEARCH_RESULT.normalized_isbn %]" /></a>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
|
||||
</td>
|
||||
|
|
Loading…
Reference in a new issue