Display and view avatars on the SDMB
// ==UserScript==
// @name SDMB Avatars
// @namespace SDMB_Avatars
// @description Display and view avatars on the SDMB
// @include http://boards.straightdope.com/sdmb/*
// @grant none
// @version 1.5
// ==/UserScript==
(function()
{
// A user script based avatar system for the SDMB. By Polerius, Spinky, and Crazyhorse
// Last update: March 11, 2014 - added option to use old board smileys
// ADDING YOUR AVATAR
// To add your own avatar so that you and other users of the script see it by your posts, edit your SDMB profile
// to include the line "SDMB Avatar: (URL to avatar)" in any area of your profile. example: "SDMB Avatar: www.images.com/myimage.jpg"
// After adding or changing an avatar URL in your profile it can take up to an hour for the new avatar to appear.
// SETTING THE DEFAULT DISPLAY SIZE
// The display size of avatars is set to 50x50 pixels by default. This size can be changed in the code
// immediately below this comment. (ex. if you change "50" to "100", avatars will be displayed at 100x100)
var imgsize="80";
// Hovering the mouse over an avatar while the Alt key is held down will display the avatar at full size.
// CUSTOM-ASSIGNED AVATARS
// Optionally add SDMB usernames and URLs in the list below to assign custom avatars to any posters.
// This can be used to block a given avatar by overriding their avatar choice, or to assign
// avatars to individual posters for any reason.
// Use the format <'username' : 'URL'> as shown in the examples below to add to the list.
var CustomAvatars = {
'SDMB Username' : 'http://link.to.image/image.jpg',
'SdMb username 2' : 'http://another.image.link/image2.gif',
'sdmb username 3' : 'http://another.link/image3.png' //<-- no comma after the final entry
};
// DEFAULT AVATAR
// Optionally choose a default avatar to display for all posters without avatars. Enter the URL to an image between
// the quotation marks in the line below this comment. Example: DefaultAvatar = "http://path.to.image/default_user.jpg";
// Set the URL to "" to disable this feature.
var DefaultAvatar = "";
// BANNED USER AVATAR
// Optionally choose a default avatar to display for any poster who has been banned.
// Edit the line below this comment as with DefaultAvatar above, specifying a URL to an image for all banned users
// Example: BannedAvatar = "http://url.to.image/banned_user.jpg" Set the URL to "" to disable this feature
var BannedAvatar = "";
//Use old SDMB Smileys
//If this is on the old (Pre March 2014 board upgrade) smileys will be displayed
//to you and other users of the script instead of the newer ones.
var UseOldSmileys = "on"; //set to "on" or "off"
// Happy Avataring
if (UseOldSmileys.toLowerCase() == "on")
{
window.addEventListener('load', function() {
var images = document.getElementsByTagName('img');
for (var i = 0; i < images.length; i++) {
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/smile.gif', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAflBMVEXAwMAAAACCZgCFaACIawCJbACJbQCNcQCOcQCQdACSdQCUdwCZfACdfwCfggCgggCihQClhwCpjACqjQCsjgCtjwCxkwC1lwC2mAC5mwC8ngDBowDFpgDGpwDNrgDQsQDRsgDTtADYuQDevgDgwQDjwwDqygDtzQDz0wD31wBBwt/MAAAAAXRSTlMAQObYZgAAAI1JREFUCB0FgDFKBEEABKtnN7hTLhD8gML5/+eYGqiJIKKBrNNTEgACIECA8GhX3xECuUY72+NTNnIdI4i6H+yQPPOUvHIfGHlUUEHPSR62RDvb42/+7pREq0sXO8sRl22rDNqXOdu23y0bPzeXt9vV9us0lyF3Ix8Ap1kN5BLVzqUECGeXXQgBIAAC/ANkLmjbVUdosQAAAABJRU5ErkJggg==');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/confused.gif', 'data:image/gif;base64,R0lGODlhDwAWAPQbAAAAAGYAh2gAimoAjm0Akm4AlHIAmXQAnHgAo3sAp34Aq4AAsIMAtIYAuIkAvowAwY0AwpEAyZQAzpkA1Z0A254A3aAA4KUA6KcA66wA8q8A9wAAAAAAAAAAAAAAAAAAACH5BAUAABsALAAAAAAPABYAAAWS4LYBokiW56iqJ5muZgm/tGzfco3iPA78P96PMpFAGsHcZWmZRBwLRApwyWgyF4qRkTC0MJofpiL5dV2V6u9CNhsGv4lleWk+owbBTzKhVCpFRwoHBXoAEBESihFHC10DAT8NDxCVDg2OBgQCkSMLCwxAPwWQLQgJAAkIB5oAAZ0mBrIGBZuvLyMAA5C3uCiiNiEAOw==');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/eek.gif', 'data:image/gif;base64,R0lGODlhDwAPAPQcAAAAAJ4AAEBA00FB1EdH10lJ10pK2E1N2lBQ21JS3FZW3lpa4F1d4WNj5GRk5Glp52tr6G5u6XJy63p673x88ICA8oWF9IiI9Y2N+JSU+8LP9P///wAAAAAAAAAAAAAAACH5BAUAABwALAAAAAAPAA8AAAV5ICeKQFmOKFdaVjVJJwpcV4ZdbuQAI2BpQNsPyOCpNJukBoNU8gATJGCzlFITpWiSemlSESVJFNgaaxSHEkRMoUxekMYCUSg1HhEJzM5IHAhPDA4ODyYLaIAkCgsMRQEACH8CRioICVglBgSTKZkFBAQDMSkqJpQiIQA7');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/mad.gif', 'data:image/gif;base64,R0lGODlhDwAPAPQbAAAAAH8AAIMAAIcAAIoAAI0AAJIAAJYAAJgAAJ4AAKMAAKcAAKsAALEAALQAALcAAL0AAMIAAMwAANAAANUAANwAAOAAAOgAAOsAAPIAAPcAAAAAAAAAAAAAAAAAAAAAACH5BAUAABsALAAAAAAPAA8AAAWB4CaKQFmO6FZWlBQ5JwpcF2C1QKMA45xpGUAF8FogeCqMpoQBTEpGnvASnFUkUAShRLFcMJebBKI7bAESSsXCcjkYCcM5IpE8TYDFoSAoPSARRBAODQsABgMBUg0ADoQMCnEAfSQKC5eRB3ICij0In5oFA5xIPQAFBKOKpSl4rBshADs=');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/rolleyes.gif', 'data:image/gif;base64,R0lGODlhDwAPAPQYAAAAABluACN0ACp7DFNTUzOCDDqHETqJEUCMFkaRGVWdIFqhI2SpKmuuLHe5M3u9N4HBOYnIPJPQQ5fTRZvWSKjhTtbo/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUKABgALAAAAAAPAA8AAAVwICaKQFmOKFY+TrMkJwpIkxQ9blIAI0BVAAIl4ggaBjwV0CQxAZCqCcBSolKngECpablcrF6qFhChTKmR83P8iDTJuFJBMG44HhBW7jCg8wAMDYIMLwgAfiQKik6HAVo9CJEGBX2OST1PfX6XKYwpIQA7');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/cool.gif', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAgVBMVEXAwMAAAAAyMjL0iT34n05aWlrqRwnqSgvtWxj5plT7tF/sUxLvaiTxdi7yejHyfjTzhDn0iDz1kUP2lUb2l0j6q1j8uGLoPADoPwLpQQTpQwXrTg7sWBbtXBntXhvvZyLvaCPvayXxdS33mUn9wGj+xWzpQgXrTA3uYh7wcCnzgDawz03NAAAAAXRSTlMAQObYZgAAAJJJREFUeAFdz0cWwiAYBGAHkJLeTe+xeP8Dyk+ycha8+TYD3FxAoXLJiJzHwEWv8kqRJeGEk/uxe6ZIo0CDXB1gVbmBLQPOKXaHoYNGIUpqjr2yzoUB7D7w9qU1z4qtyPh3nXXXWsdJytMkXoPRlzUNhhGi8DOPUI27bwoWUNTzcT5ID7r3O9kQKcBLybYG8f9/P3bVB8QITJTdAAAAAElFTkSuQmCC');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/tongue.gif', 'data:image/gif;base64,R0lGODlhDwAPAPUoAAAAAAAEAQAZCpoAAKQAAMYAAACYBwCaCwCbCwCeDwCfEQCiFQCjFwClGgCnHQCoHgCsJACwKgCzLgC0LwC3NAC7OQC8OwC/PwDCQwDERgDHSwDKTwDLUQDRWQDTXQDVXwDWYQDbaADgcADkdQDrfwDugwD0jAD4kgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUAACgALAAAAAAPAA8AAAaPQJRQCCgWh0hUURTycDBHJIBUIo1CHY0lAhhOTUaRUeLoKkuA06kkAnEugEcXICKZTib2Z3OZPBJFISMlhFdZWw2AAB4hIkxNTxQQCwdFHAIfIB8dHBlbcgZFGBtGAaZGCKFKFRcYAwQFBAMMCapKERITEgO8C7W2Sg4PDg0LCgcGwEQACQnIoWZJSkbRQkEAOw==');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/wink.gif', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAgVBMVEXAwMAAAADv7gDi4ADm5QC3sgHU0QCtpwHBvQHIxQHNygHRzgHZ1wDd2gDx8AC/ugHLxwHb2QDp6AD29gD5+QCkngGmoAGnogGoowGrpQGrpgGuqQGvqgGzrgG1sAG4swG5tQG/uwHCvQHEwQHHxAHT0QDe3ACoogG7twHPywHo5gD32ICcAAAAAXRSTlMAQObYZgAAAJNJREFUeAFdz0VixCAAheE8PEJ84i4Zuf8BB0jbRf/dt+ABngs27zeA0UwEwA9JTHIahX6Cm0VZEKbPVHFYxyjLGBewzTBkpADANKB4Dw80/zs/SeOMso/b319jaywifelIvI+VD41xEEKcYXCoBV1lB/0Uqb+vC2Tt7kvUBpt8Pu4H8ZlP49DVjiagl21TwfHf/75puQf9XW/kzAAAAABJRU5ErkJggg==');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/biggrin.gif', 'data:image/gif;base64,R0lGODlhDwAPAPQbAAAAAAB9bQKAbwWEcg2QexWcghefhR+qjSKvkCSykii4liu8mSy9mjHFnzPIoTTKozrRqD7YrUDbr0LdsEjmt0rpuVDxvlP2wln/yNDs/P///wAAAAAAAAAAAAAAAAAAACH5BAUAABsALAAAAAAPAA8AAAVv4CaKQFmO6FZGkMMkJwpQFTVBjXIUwDhbJUrkUTIQeqoKAHMBSAAMBOCoilAsF4vwsUAYByWIaTwGAxwATSatTq8FJYabvW4HSrC2Rr++qw4AdXoAfioFBiV7a4SFKgRHYwGNJAADAwKSMSkqYykhADs=');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/redface.gif', 'data:image/gif;base64,R0lGODlhDwAPAPQdAAAAALEAAP9IAP9OAP9RAP9WAP9bAP9dAP9hAP9kAP9rAP9vAP90AP95AP9+AP+CAP+FAP+JAP+PAP+XAP+bAP+dAP+mAP+tAP+zAP+8AP/AAP/JAP/OAAAAAAAAAAAAACH5BAUAAB0ALAAAAAAPAA8AAAWCYCeKQFmOaFdil0VJJwpgmZZh1hQ1wAhcmQ1nk7lUJI5FT4UBcDgADaAyAShVFGCJeCklD6WJhZa55XYKQ0lSsVya4QcDUShBJJOKqdRQHAh8DxEwewt0Az0ADA0OAAGPAIdLAAkKC0olBwUDAksqBgehBgUEnJ4kAASlAp2nMnspIQA7');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/frown.gif', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAhFBMVEXAwMAAAABmi+l0l/FKc9lfheUdTMAsWcg4Y89Xf+FojutrkOwOPrcbSb4kUsQpVsYyXsw7ZtFSet5VfeCDpfoGN7ILPLUQQLgRQbkWRbsWRrwqV8ctWsk3Ys4/adNBa9RFb9ZZgOJ+ofcHOLMKO7UXRrweTcAhT8I9Z9JJctl3mvOMrf+di+rsAAAAAXRSTlMAQObYZgAAAJFJREFUCB01wIUNw0AABMHbRzOHman//hJbymjCSH+QGd870ITcYnPPMUE/GMtwtialjUgiY/gM7+zk2CKRGgtna6CNAdH5HGzuIalLhOu9yYzv3b6p1oiD69JT2rnDbhOWiN3++GIUH6s5Ek3Cs02aDbcCSVR13Ma6Cqtihn4owz2U6+V8hiawWBTXC+iPkUZfHjcHgU3Wd+oAAAAASUVORK5CYII=');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/dubious.gif', 'data:image/gif;base64,R0lGODlhDwARAPUqAAAAAAkJB3t2P8G7dMK8dcjCeMvFes7IfNLMftXPgNnSgtzVhN3WhN/YhuHah+bfiufgi+rjjO7nj/Hqkfbuk/bulPrylvz0mvz0m/rynfv0nv73nf/4o//4p//4q//5q//5sf/6u//6vf/6wv/7x//7yP/70v/80f/82P/83AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUAACoALAAAAAAPABEAAAafQJVQBSgah0hiKoUylUbFJCBVNJFIoU8HMASgjIArqeSxcIkmQIkEEIVEos6DGy6dTKaRCCxwFEUjJwEAIyEhAgIWDgl/IiVFIB5bABMLCEUfIG4iH5IYFw8IBkUdHB4eHBsYGBQRDAUERaoZGhgWFq0KsANFthUArREQrwUDsUQSEGBFxbxCABANAAcD1dbOzwnU19VnXQDcUUnPYElBADs=');
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/smack.gif', 'data:image/gif;base64,R0lGODlhFQAWAPQgAAAAAG5uboN2Bt/QPOHRPenZP+zaQO3dQfLiQ/bkRPvrRv/vTv/vVv/yX//yZf/zbv/zdP/0gf/1iv/1kf/2l//2mv/2nf/2of/4p//3rP/4q//6s//6uP/7wf/7xP///yH5BAUAACAALAAAAAAVABYAAAbEQJBwSBQGikgigHgcNkFPEADAmSKjUCF1W10ak9qqeAtWjsdlqfQMmEy90MBxy+VU3Z5ukSq2cyaAAB0bGBZwYX5/ExALVBoWExGHa3aAjAmCHJAPk1JuApcAG5pTDwxwb20TCwmYGxkAoA6niByMjVMYF5ARDQsKS1QQqQAUGReADsqsB8HDWhUU0hMDA28JBQTBCsBTEhRubx/jANVeAArV1gIA4+Tt5YfEDZziH+XWZegIBgXW+J324FNnJc0QYkiCAAA7');
} }, false);
}
function loadImage(header, imgurl) {
var img = document.createElement('img');
img.addEventListener('load', function(evt) {
var img = evt.target;
if(img.width > 1) {
img.style.cssFloat = "left";
img.style.marginRight = "5px";
img.style.borderWidth = "0";
img.style.maxWidth = imgsize+"px";
img.style.maxHeight = imgsize+"px";
function biggify(evt) {
if(!evt.altKey) return;
var img = evt.target;
img.style.maxWidth = null;
img.style.maxHeight = null;
img.addEventListener('mouseout', unbiggify);
}
function unbiggify(evt) {
var img = evt.target;
img.style.maxWidth = imgsize+"px";
img.style.maxHeight = imgsize+"px";
img.removeEventListener('mouseout', unbiggify);
}
img.addEventListener('mouseover', biggify);
img.addEventListener('mousemove', biggify);
header.insertBefore(img, header.firstChild);
}
else if (DefaultAvatar != ""){
imageurl=DefaultAvatar;
loadImage(header, imageurl);
}
});
img.src = imgurl;
}
var allNameHeaders = document.getElementsByClassName('bigusername');
for (var i = 0; i < allNameHeaders.length; i++)
{
var username = allNameHeaders[i].innerHTML;
var userhref = allNameHeaders[i].href;
var SplitID = userhref.split("u=");
var userid1 = SplitID[1];
var imageurl="http://splitter.august20th.com/sdmbav.rb?userid=" + userid1;
if(username in CustomAvatars)
imageurl = CustomAvatars[username];
var hdr = allNameHeaders[i];
var title = hdr.parentNode.nextSibling.nextSibling;
if(title.innerHTML == "BANNED" && BannedAvatar != "") {
imageurl = BannedAvatar;
}
loadImage(allNameHeaders[i], imageurl);
}
})();