WoTStatScript - Forums

Adds a part of the signature from WoTLabs underneath the posterbox info for every post in a thread in the World of Tanks forums.

As of 2014-11-21. See the latest version.

// ==UserScript==
// @name        WoTStatScript - Forums
// @version     0.93
// @description Adds a part of the signature from WoTLabs underneath the posterbox info for every post in a thread in the World of Tanks forums.
// @author      Orrie
// @namespace   http://forum.worldoftanks.eu/index.php?/topic/263423-
// @icon        http://dl.dropboxusercontent.com/u/12497046/wot/projects/statscript/img/icon.png
// @include     /^http://forum\.worldoftanks\.(eu|com|ru|asia|kr)/\S+/topic//
// @include     /^http://forum.worldoftanks\.(eu|com|ru|asia|kr)/index\.php\?app=members&module=messaging&section=view&do=showConversation&topicID=\d+/
// @grant       none
// ==/UserScript==
(function () {
// data uri
var uri = {
	icon_arrow:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPwAAAAJCAMAAAAhKrH/AAAAV1BMVEUAAAD///+TKCf9AQmTLiX9AQmTMir9AQmTLif9AQmTMSz9AQmTMir9AQmTMyn9AQmTMirvGgKTMirsIAGTMirwGQOTMiqTMirsIAGaNDGgNzfqJwDrJABtE0DNAAAAGnRSTlMAABERIiIzM0REVVVmZnd3iIqZmrvDzN3g7thzQuwAAACHSURBVHja5dVLDsIwDEXRCySlP0IMoXXs7H+dDBASA1bQ3B0cPclm2Fe2wrfTQeO3qwqqAKWek80HxfO/l1/EBRgtU2tf+KkJ7TO9hdVSV3jU42f6ZClY6Qt/d4n+BGol29jTwQN1pE2QbA610BVefImuwL7xsNAXXhVpEYY8kNfO/rwsyA3ekEsOT2YDLE8AAAAASUVORK5CYII="
};

// style contents
var style = document.createElement('style');
	style.className = "wotstatscript";
	style.type ="text/css";
	style.innerHTML = ".author_info {z-index: 1;}"
					+ ".user_details > br {display: none;}"
					+ ".basic_info {margin: 0 0 4px;}"
					+ ".user_stats {margin: 5px 0; width: 106px;}"
					+ ".user_stats td {padding: 0 0 2px; font-weight: bold;}"
					+ ".user_stats td a { background: url("+uri.icon_arrow+") no-repeat scroll 0 2px rgba(0, 0, 0, 0); padding: 0 0 0 10px; vertical-align: middle;}"
					+ ".user_stats td a:hover {background: url("+uri.icon_arrow+") no-repeat scroll -244px 2px rgba(0, 0, 0, 0);}"
					+ "";
	document.head.appendChild(style);
// end style

// get server info
var server = document.location.host.match(/\.([^\.]+)$/)[1],
	wl_srv, nm_srv, ws_srv, wr_srv, wlife_srv;
switch(server) {
	case ("eu"):
		wl_srv = nm_srv = ws_srv = wr_srv = wlife_srv = server;
		break;
	case ("ru"):
		wl_srv = nm_srv = ws_srv = wr_srv = server;
		break;
	case ("com"):
		wl_srv = nm_srv = ws_srv =  "na"; wr_srv = "com";
		break;
	case ("asia"):
		wl_srv = nm_srv = ws_srv = "sea"; wr_srv = "com";
		break;
	case ("kr"):
		wl_srv = nm_srv = ws_srv =  server; wr_srv = "com";
		break;
	default: break;
}

// looping for every post
var post_block = document.getElementsByClassName('post_block'),
	wl_player = "", nm_player = "", ws_player = "", wlife_player = "", replays_player = "";
for (var i=0; i<post_block.length; i++) {
	var author_hcid = post_block[i].getElementsByClassName('ipsUserPhotoLink')[0].getAttribute("hovercard-id"),
		author_info = post_block[i].getElementsByClassName('author_info')[0],
		author_name = (author_hcid) ? author_hcid : post_block[i].getElementsByClassName('author')[0].firstElementChild.firstElementChild.innerHTML,
		stat_div = document.createElement('table');
		if (!!wl_srv) {
			wl_player = "<tr><td><a target='_blank' href='http://wotlabs.net/"+wl_srv+"/player/"+author_name+"'>WoTLabs</a></td><tr>";
		}
		if (!!nm_srv) {
			nm_player = "<tr><td><a target='_blank' href='http://noobmeter.com/player/"+nm_srv+"/"+author_name+"/'>Noobmeter</a></td><tr><tr>";
		}
		if (!!ws_srv) {
			ws_player = "<tr><td><a target='_blank' href='http://www.wotstats.org/stats/"+ws_srv+"/"+author_name+"/'>WoTstats</a></td><tr>";
		}
		if (!!wlife_srv) {
			wlife_player = "<tr><td><a target='_blank' href='http://en.wot-life.com/"+wlife_srv+"/player/"+author_name+"/'>WoT-Life</a></td><tr>";
		}
		if (!!wr_srv) {
			replays_player = "<tr><tr><td><a target='_blank' href='http://wotreplays."+wr_srv+"/player/"+author_name+"'>WoTReplays</a></td></tr><tr>";
		}
		stat_div.className = "user_stats";
		stat_div.innerHTML = "<tr><td><a href='http://worldoftanks."+server+"/community/accounts/named/"+author_name+"' target='_blank'>Player Profile</a></td></tr>"+wl_player+nm_player+ws_player+wlife_player+replays_player;
		author_info.appendChild(stat_div);
}
}());