diff options
author | euer <root@euer.krebsco.de> | 2012-12-22 03:07:52 +0100 |
---|---|---|
committer | euer <root@euer.krebsco.de> | 2012-12-22 03:07:52 +0100 |
commit | 5176621efd96a793a5d67fcfc4136cc5301405d2 (patch) | |
tree | ab81cd0decc7a3404c13ea828263b5298b841f60 | |
parent | 19f1a122881503ca1266191496b639db3924a2de (diff) |
add affiliate userscript
-rw-r--r-- | gold/affiliate/affiliate.user.js | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/gold/affiliate/affiliate.user.js b/gold/affiliate/affiliate.user.js new file mode 100644 index 00000000..17e2ccfe --- /dev/null +++ b/gold/affiliate/affiliate.user.js @@ -0,0 +1,95 @@ +// ==UserScript== +// @name Krebs Affiliate Programs + extras (auto-SSL...) +// @namespace https://blogs.fsfe.org/h2/userscripts/ +// @description Modify Amazon to support Krebs, always use SSL and shorten links (only Amazon) + +// Contains the getASIN()-function from: +// http://userscripts.org/scripts/review/3284 by Jim Biancolo + +// shamelessly stolen from +// http://userscripts.org/scripts/show/129547 +// + +// @version 0.321 +// @include * +// @license CC0 / Do what the fuck you want to license +// see http://creativecommons.org/publicdomain/zero/1.0/ + +// @author Hannes Hauswedell +// @author makefu +// @homepage http://euer.krebsco.de +// ==/UserScript== + + + +function getASIN(href) { + var asinMatch; + asinMatch = href.match(/\/exec\/obidos\/ASIN\/(\w{10})/i); + if (!asinMatch) { asinMatch = href.match(/\/gp\/product\/(\w{10})/i); } + if (!asinMatch) { asinMatch = href.match(/\/exec\/obidos\/tg\/detail\/\-\/(\w{10})/i); } + if (!asinMatch) { asinMatch = href.match(/\/dp\/(\w{10})/i); } + if (!asinMatch) { return null; } + return asinMatch[1]; +} + +(function() +{ + var links = document.getElementsByTagName("a"); + + for (i = 0; i < links.length; i++) + { + var curLink = links[i].href; + + // AMAZON + if (curLink.match(/https?\:\/\/(www\.)?amazon\./i)) + { + var affiliateID = ''; + var host = ''; + if (curLink.match(/amazon\.de/i)) + { + host = 'amazon.de'; + affiliateID = 'krebsco-21'; + } + else if (curLink.match(/amazon\.co\.uk/i)) + { + host = 'amazon.co.uk'; + affiliateID = 'krebscode-21'; + } + else if (curLink.match(/amazon\.ca/i)) + { + host = 'amazon.ca'; + affiliateID = 'krebscoca-20'; + } + else if (curLink.match(/amazon\.fr/i)) + { + host = 'amazon.fr'; + affiliateID = 'krebscode01-21'; + } + else if (curLink.match(/amazon\.es/i)) + { + host = 'amazon.es'; + affiliateID = 'krebscode0f-21'; + } + else if (curLink.match(/amazon\.it/i)) + { + host = 'amazon.it'; + affiliateID = 'krebscode04-21'; + } + else if (curLink.match(/amazon\.com/i)) + { + host = 'amazon.com'; + affiliateID = 'krebsco-20'; + } + + var asin = getASIN(curLink); + if (affiliateID != '') + { + if (asin != null) + links[i].setAttribute("href", "https://www."+host+"/dp/" + asin + "/?tag="+affiliateID); +// else +// links[i].setAttribute("href", curLink + "?tag="+affiliateID); + } + } + + } +})(); |