// ==UserScript== // @name Flickr/Shutterfly Integrator // @description Adds the ability to order prints of a photo via Shutterfly.com // @namespace http://quasistoic.org/scripts/ // @include http://flickr.com/photos/* // @include http://www.flickr.com/photos/* // @version 1.0 // By Danny Dawson // Modified by Jason Rhyley (jason AT rhyley DOT org) // ==/UserScript== (function() { //if a photo page if (document.getElementById("button_bar")) { pid = location.pathname.split('/')[3]; if (document.getElementById("title_div" + pid)) ptitle = document.getElementById("title_div" + pid).innerHTML; else ptitle = 'Flickr - photo sharing!'; pOwnerName = location.pathname.split('/')[2]; (pOwnerName.indexOf('@') != -1) ? pOwnerName = '' : pOwnerName = ', by ' + pOwnerName; /** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08 ** ** Code licensed under Creative Commons Attribution-ShareAlike License ** ** http://creativecommons.org/licenses/by-sa/2.0/ **/ function XHConn() { var xmlhttp, bComplete = false; xmlhttp = new XMLHttpRequest(); this.connect = function(sURL, sMethod, sVars, fnDone) { if (!xmlhttp) return false; bComplete = false; sMethod = sMethod.toUpperCase(); try { if (sMethod == "GET") { xmlhttp.open(sMethod, sURL+"?"+sVars, true); sVars = ""; } else { xmlhttp.open(sMethod, sURL, true); xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1"); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); } xmlhttp.onreadystatechange = function(){ if (xmlhttp.readyState == 4 && !bComplete) { bComplete = true; fnDone(xmlhttp); }}; xmlhttp.send(sVars); } catch(z) { return false; } return true; }; return this; } var myConn = new XHConn(); var fnWhenDone = function (responseDetails) { var parser = new DOMParser(); var dom = parser.parseFromString(responseDetails.responseText, "text/xml"); var entries = dom.getElementsByTagName('size'); sizes = new Object(); for (i=0;i ' + '

' + '

' + ptitle + pOwnerName + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + ''; }; args = 'method=flickr.photos.getSizes&photo_id=' + pid + '&api_key=' + global_magisterLudi; myConn.connect("/services/rest/", "GET", args, fnWhenDone); window.doShut = function() { oldBody = document.body.innerHTML; document.body.innerHTML = newBody; } var containerC = document.createElement("li"); containerC.setAttribute("class","Stats"); containerC.innerHTML = 'Order Prints'; addlInfo = document.getElementsByTagName("ul")[0]; // This could break so easily, but luckily list elements aren't allowed in comments addlInfo.appendChild(containerC); }//close if a photo page })();