// ==UserScript== // @name PTH iTunes Cover Search // @version 1.8 // @description Search iTunes for cover art // @author Chameleon // @include http*://passtheheadphones.me/* // @grant GM_xmlhttpRequest // @namespace https://greasyfork.org/users/87476 // @downloadURL none // ==/UserScript== (function() { 'use strict'; if(window.location.href.indexOf('upload.php') != -1) showUpload(); if(window.location.href.indexOf('torrents.php?action=editgroup&groupid=') != -1) showEdit(); if(window.location.href.indexOf('torrents.php?id=') != -1) saveArtist(); if(window.location.href.indexOf('better.php') != -1 && window.location.href.indexOf('method=artwork') != -1) showBetter(); })(); function showBetter() { var rows=document.getElementsByClassName('torrent_row'); for(var i=0; i 0) { var div=imageDiv; div.innerHTML='Current: 1 | '; if(r.results.length > 1) { div.setAttribute('results', JSON.stringify(r.results)); div.setAttribute('index', '0'); var a=document.createElement('a'); a.innerHTML='Next'; a.href='javascript:void(0);'; a.addEventListener('click', changeImage.bind(undefined, div, 1, input), false); div.appendChild(a); div.appendChild(document.createElement('br')); } var a=document.createElement('a'); a.href='javascript:void(0);'; div.appendChild(a); var img=document.createElement('img'); a.setAttribute('imageSize', 'large'); a.addEventListener('click', changeSize.bind(undefined, a, img, input, r.results[0].artworkUrl60), false); a.appendChild(img); img.src=r.results[0].artworkUrl60.replace("60x60bb", "10000x10000-999"); input.value = img.src; if(window.localStorage.iTunesSize == 'small') a.click(); else { var evt = document.createEvent("HTMLEvents"); evt.initEvent("keyup", false, true); input.dispatchEvent(evt); } } else messageDiv.innerHTML = "no results"; } function changeImage(div, amount, input) { var r=JSON.parse(div.getAttribute('results')); var index=parseInt(div.getAttribute('index')); index+=amount; if(index < 0) index=0; if(index >= r.length) index=r.length-1; div.setAttribute('index', index); div.innerHTML='Current: '+(index+1)+' | '; if(index != r.length-1) { //div.setAttribute('results', JSON.stringify(r)); div.setAttribute('index', index); var a=document.createElement('a'); a.innerHTML='Next'; a.href='javascript:void(0);'; a.addEventListener('click', changeImage.bind(undefined, div, 1, input), false); div.appendChild(a); if(index !== 0) div.appendChild(document.createTextNode(' | ')); } if(index !== 0) { //div.setAttribute('results', JSON.stringify(r)); div.setAttribute('index', index); var a=document.createElement('a'); a.innerHTML='Previous'; a.href='javascript:void(0);'; a.addEventListener('click', changeImage.bind(undefined, div, -1, input), false); div.appendChild(a); } div.appendChild(document.createTextNode(' | ')); var a=document.createElement('a'); div.appendChild(a); a.href='javascript:void(0);'; a.innerHTML = 'Copy to input'; var img=document.createElement('img'); a.addEventListener('click', triggerKeyup.bind(undefined, input, img), false); div.appendChild(document.createElement('br')); var a=document.createElement('a'); a.href='javascript:void(0);'; div.appendChild(a); a.setAttribute('imageSize', 'large'); a.addEventListener('click', changeSize.bind(undefined, a, img, input, r[index].artworkUrl60), false); a.appendChild(img); var artwork=r[index].artworkUrl60.replace("60x60bb", "10000x10000-999"); if(window.localStorage.iTunesSize == 'small') artwork=r[index].artworkUrl60.replace("60x60bb", "600x600bb"); img.src=artwork; //input.value = img.src; } function triggerKeyup(input, img) { input.value=img.src; var evt = document.createEvent("HTMLEvents"); evt.initEvent("keyup", false, true); input.dispatchEvent(evt); } function changeSize(a, img, input, url) { if(a.getAttribute('imageSize') == 'large') { window.localStorage.iTunesSize='small'; a.setAttribute('imageSize', 'small'); url=url.replace("60x60bb", "600x600bb"); } else { window.localStorage.iTunesSize='large'; a.setAttribute('imageSize', 'large'); url=url.replace("60x60bb", "10000x10000-999"); } input.value=url; img.src=url; var evt = document.createEvent("HTMLEvents"); evt.initEvent("keyup", false, true); input.dispatchEvent(evt); } function rehost(imageInput, span) { if(imageInput.getAttribute('autorehost') != "true") return; var whitelisted = ["imgur.com", "ptpimg.me"]; if(imageInput.value.length < 1) return; for(var i=0; iretrying in 1 second'; window.setTimeout(repeatFunc, 1000); } } }