Script permettant l'enrichissement du catalogue de la Médiathèque de Saint-Nazaire (HIP4+)
// ==UserScript==// @name HIP Extended// @author Antoine Verney (@lebartok)// @grant GM_xmlhttpRequest// @grant GM_getValue// @namespace https://mediatheque.mairie-saintnazaire.fr/// @description Script permettant l'enrichissement du catalogue de la Médiathèque de Saint-Nazaire (HIP4+)// @include https://mediatheque.mairie-saintnazaire.fr/*// @version 0.0.1.20190704163427// ==/UserScript==/*Note : ce script est largement inspiré de "Sudoc plus" (http://userscripts-mirror.org/scripts/review/60741) réalisé par Sylvain Machefert (@symac)*/permalink();notice_plus();//----------------------------------------------------------// Ajout d'un permalien + boutons de partage//----------------------------------------------------------function permalink() {var link = document.getElementsByTagName("input")[64].value;link = link.replace(" ", "");link = link.replace(new RegExp(".awdid=.","i"), '');link = link.replace(new RegExp("[a-z]+","g"), '');var full_link = 'https://mediatheque.mairie-saintnazaire.fr/uPortal/Initialize?uP_reload_layout=true&uP_tparam=props&uP_sparam=activeTab&activeTab=2&showBrief=true&link=full' + link + '¤tPosition=0&searchTargetId=16';if ((link != "<Péé")&&(link != "")&&(link != "MOTSCLES")) {// Affichage Permaliennewtd = document.createElement("td");newtd.id = 'permalien';newtd.innerHTML = ' <img src="https://antoinev.alwaysdata.net/link.png"/> <a target="_blank" href="' +full_link+'">Permalien</a><br /><br />';document.getElementsByTagName("table")[19].appendChild(newtd);}}//----------------------------------------------------------// Enrichissement des notices bib (couverture, renvois)//----------------------------------------------------------function notice_plus() {var serveur='https://antoinev.alwaysdata.net/cover.php?action=couv&isbn=';var isbn = document.getElementsByTagName("table")[21].rows[3].cells[1].textContent;isbn = isbn.replace(new RegExp("[^(0-9X)]", "g"), '');isbn = isbn.replace("()", "");GM_xmlhttpRequest({method: 'GET',url: serveur+isbn,onload: function(responseDetails) {if (responseDetails.responseText != "") {var cover = responseDetails.responseText;// Affichage de la couverture Amazonif (cover != "") {newtd = document.createElement("td");newtd.id = 'couv';newtd.style.padding = '0px 70px 0px 30px';newtd.style.font = 'large';newtd.innerHTML = '<center><br /><br /><img border="0" style="box-shadow: 0.5px 0.5px 1px 0.5px;" src="' + cover + '"/><br/><p style="padding-top:2px; margin:0; font-size:0.7em;">source: <a target="_blank" href="https://www.amazon.fr">Amazon</a></p></center>';document.getElementsByTagName("table")[19].rows[0].appendChild(newtd);}// Affichage des renvois Google livres, Librarything, Sudocnewtd = document.createElement("td");newtd.id = 'renvois';newtd.innerHTML = '<br /><p> Rechercher ce document sur : <a target="_blank" href="https://www.sudoc.abes.fr/DB=2.1/CMD?ACT=SRCHA&IKT=7&SRT=RLV&TRM=' + isbn + '"><img border="0" align="absmiddle" src="https://antoinev.alwaysdata.net//logo_sudoc.png"/></a> <a target="_blank" href="https://books.google.com/books?vid=ISBN' + isbn + '"><img border="0" align="texttop" src="https://antoinev.alwaysdata.net//logo_books.png"/></a></p>';document.getElementsByTagName("table")[20].appendChild(newtd);}}});}//----------------------------------------------------------// Gestion des versions du script//----------------------------------------------------------// var SUC_script_num = 94622; // Change this to the number given to the script by userscripts.org (check the address bar)// try{function updateCheck(forced){if ((forced) || (parseInt(GM_getValue('SUC_last_update', '0')) + 86400000 <= (new Date().getTime()))){try{GM_xmlhttpRequest({method: 'GET',url: 'http://userscripts.org/scripts/source/'+SUC_script_num+'.meta.js?'+new Date().getTime(),headers: {'Cache-Control': 'no-cache'},onload: function(resp){var local_version, remote_version, rt, script_name;rt=resp.responseText;GM_setValue('SUC_last_update', new Date().getTime()+'');remote_version=parseInt(/@uso:version\s*(.*?)\s*$/m.exec(rt)[1]);local_version=parseInt(GM_getValue('SUC_current_version', '-1'));if(local_version!=-1){script_name = (/@name\s*(.*?)\s*$/m.exec(rt))[1];GM_setValue('SUC_target_script_name', script_name);if (remote_version > local_version){if(confirm('Une nouvelle version du script "'+script_name+'." est disponible\nVoulez-vous l\'installer maintenant (conseillé) ?')){GM_openInTab('http://userscripts.org/scripts/show/'+SUC_script_num);GM_setValue('SUC_current_version', remote_version);}}else if (forced)alert('No update is available for "'+script_name+'."');}else GM_setValue('SUC_current_version', remote_version+'');}});}catch (err){if (forced)alert('An error occurred while checking for updates:\n'+err);}}}GM_registerMenuCommand(GM_getValue('SUC_target_script_name', '???') + ' - Manual Update Check', function(){updateCheck(true);});updateCheck(false);}catch(err){}updateCheck(0);