Steam Extra Profile Links

Adds extra links to Steam Profile pages.

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name          Steam Extra Profile Links
// @namespace     http://greasyfork.org/users/2240-doodles
// @author        Doodles
// @version       13
// @description   Adds extra links to Steam Profile pages.
// @icon          http://i.imgur.com/c4qvWvz.png
// @icon64        http://i.imgur.com/ZumqrhD.png
// @include       *://steamcommunity.com/id/*
// @include       *://steamcommunity.com/profiles/*
// @include       *://steamcommunity.com//id/*
// @include       *://steamcommunity.com//profiles/*
// @exclude       *://steamcommunity.com/id/*/tradeoffers/*
// @exclude       *://steamcommunity.com/profiles/*/tradeoffers/*
// @exclude       *://steamcommunity.com//id/*/tradeoffers/*
// @exclude       *://steamcommunity.com//profiles/*/tradeoffers/*
// @require       http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @grant         GM_xmlhttpRequest
// @updateVersion 13
// ==/UserScript==

$(document).ready(function () {
	'use strict';
	if ($(".profile_rightcol").length) {
		$("<style></style>").prop("type", "text/css").html('div.sel_links {background-color:#202020;padding:2px 5px 2px 5px;margin-bottom:10px;margin-right:10px;font-size:10px;color:#999999;}div.sel_links a, di' +
		'v.sel_links a:link {color:#5491cf;text-decoration:none;}div.sel_links a:visited {color:#5491cf;}div.sel_links a:hover {color:#5491cf;text-decoration:u' +
		'nderline;}div.sel_links a:active {color:#5491cf;}div.sel_links hr {border:0;height:1px;background:#0a0a0a;margin-top:2px;margin-bottom:2px;}div.sel_fo' +
		'ot {margin:0;padding:0;text-align:center;font-size:10px;color:#444444;}div.sel_foot a, div.sel_foot a:link {color:#444444;text-decoration:none;}div.se' +
		'l_foot a:visited {color:#444444;}div.sel_foot a:hover {color:#999999;text-decoration:underline;}div.sel_foot a:active {color:#444444;}span.selG {color' +
		':#2d8d2b;}span.selY {color:#e1bf00;}span.selR {color:#a94847;}').appendTo("head");
        var steamXmlUrl;
		if(document.URL.indexOf("steamcommunity.com/id/") != -1 || document.URL.indexOf("steamcommunity.com//id/") != -1) {
			steamXmlUrl = "//steamcommunity.com/id/" + document.URL.split("/id/")[1].split("/")[0].split("?")[0] + "?xml=1";
		} else {
			steamXmlUrl = "//steamcommunity.com/profiles/" + document.URL.split("/profiles/")[1].split("/")[0].split("?")[0] + "?xml=1";
		}
		GM_xmlhttpRequest({
			method: 'GET',
			url: steamXmlUrl,
			onload: function(responseDetails) {
				extraProfileLinks(responseDetails.responseText);
			},
			onerror: function(responseDetails) {
				console.log(responseDetails.responseText);
			}
		});
	}
	function extraProfileLinks(xmlPage) {
		var selProfileSid64 = $(xmlPage).find("steamID64").first().text();
		var selTempNum = selProfileSid64.substring(5)  - 197960265728; //76561197960265728;
		var selProfileSid32 = "STEAM_0:" + selTempNum%2 + ":" +(selTempNum - selTempNum%2) / 2;
		var selProfileSidV3 = "[U:1:" + selTempNum + "]";

		var linkDiv = $('<div class="sel_links" id="selContainer"></div>');
		if ($(".profile_badges").length) {
			$(linkDiv).insertBefore($(".profile_badges").first());
			if ($(".profile_in_game").length) {
				$(".profile_in_game").first().css("margin-bottom", "10px");
			}
			if ($(".profile_ban_status").length) {
				$(".profile_ban_status").first().css("margin-bottom", "10px");
			}
		} else {
			$(".profile_rightcol").first().prepend(linkDiv);
		}

		var link_01_01 = "<a title=\"SteamRep\" href=\"http://steamrep.com/profiles/" + selProfileSid64 + "\">SteamRep</a>";
		var link_01_02 = "<a title=\"SteamDB\" href=\"http://steamdb.info/calculator/" + selProfileSid64 + "/\">SteamDB</a>";
		var link_01_03 = "<a title=\"Steam Trades\" href=\"http://www.steamtrades.com/user/" + selProfileSid64 + "\">Steam Trades</a>";
		var link_01_04 = "<a title=\"Steam Gifts\" href=\"http://www.steamgifts.com/go/user/" + selProfileSid64 + "\">Steam Gifts</a>";
		var link_01_05 = "<a title=\"Vac-Ban.com - CS:GO Stats and VAC Status\" href=\"https://www.vac-ban.com/" + selProfileSid64 + "/stats.html\">Vac-Ban.com</a>";

		var link_02_01 = "<a title=\"backpack.tf Backpack\" href=\"http://backpack.tf/profiles/" + selProfileSid64 + "\">Backpack</a>";
		var link_02_02 = "<a title=\"backpack.tf Profile\" href=\"http://backpack.tf/u/" + selProfileSid64 + "\">Profile</a>";
		var link_02_03 = "<a title=\"TF2Outpost.com Backpack\" href=\"http://www.tf2outpost.com/backpack/" + selProfileSid64 + "\">Backpack</a>";
		var link_02_04 = "<a title=\"TF2Outpost.com Profile\" href=\"http://www.tf2outpost.com/user/" + selProfileSid64 + "\">Profile</a>";
		var link_02_05 = "<a title=\"bazaar.tf Backpack\" href=\"http://bazaar.tf/backpack/" + selProfileSid64 + "\">Backpack</a>";
		var link_02_06 = "<a title=\"bazaar.tf Profile\" href=\"http://bazaar.tf/profiles/" + selProfileSid64 + "\">Profile</a>";
		var link_02_07 = "<a title=\"TF2 Trading Post Profile\" href=\"http://tf2tp.com/user/" + selProfileSid64 + "\">TF2 Trading Post Profile</a>";
		var link_02_08 = "<a title=\"TF2 Backpack Examiner\" href=\"http://www.tf2items.com/profiles/" + selProfileSid64 + "?p=all\">TF2 Backpack Examiner</a>";
		var link_02_09 = "<a title=\"TF2B - TF2\" href=\"http://tf2b.com/tf2/" + selProfileSid64 + "\">TF2</a>";
		var link_02_10 = "<a title=\"TF2B - DOTA2\" href=\"http://tf2b.com/d2/" + selProfileSid64 + "\">DOTA2</a>";
		var link_02_11 = "<a title=\"TF2B - CSGO\" href=\"http://tf2b.com/csgo/" + selProfileSid64 + "\">CSGO</a>";
		var link_02_12 = "<a title=\"TF2B - Portal 2\" href=\"http://tf2b.com/p2/" + selProfileSid64 + "\">Portal 2</a>";
		var link_02_13 = "<a title=\"TF2Center\" href=\"https://tf2center.com/profile/" + selProfileSid64 + "\">TF2Center</a>";

		var link_03_01 = "<a title=\"Achievement Stats\" href=\"http://www.achievementstats.com/index.php?action=profile&playerId=" + selProfileSid64 + "\">Achievement Stats</a>";
		var link_03_02 = "<a title=\"astats.nl\" href=\"http://astats.astats.nl/astats/User_Info.php?steamID64=" + selProfileSid64 + "\">astats.nl</a>";
		var link_03_03 = "<a title=\"Steam Ladder\" href=\"http://www.steamladder.com/profile/" + selProfileSid64 + "\">Steam Ladder</a>";

		var link_04_01 = "<a title=\"Games\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/games/\">Games</a>";
		var link_04_02 = "<a title=\"All Games\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/games?tab=all\">All Games</a>";
		var link_04_03 = "<a title=\"Screenshots\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/screenshots/?appid=0&sort=newestfirst&browsefilter=myfiles&view=grid\">Screenshots</a>";
		var link_04_04 = "<a title=\"Videos\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/videos/\">Videos</a>";
		var link_04_05 = "<a title=\"Artwork\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/images/\">Artwork</a>";
		var link_04_06 = "<a title=\"Reviews\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/recommended/\">Reviews</a>";
		var link_04_07 = "<a title=\"Guides\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/myworkshopfiles/?section=guides\">Guides</a>";
		var link_04_08 = "<a title=\"Workshop Items\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/myworkshopfiles/\">Workshop Items</a>";
		var link_04_09 = "<a title=\"Greenlight Items\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/myworkshopfiles/?section=greenlight\">Greenlight Items</a>";
		var link_04_10 = "<a title=\"Friends\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/friends/\">Friends</a>";
		var link_04_11 = "<a title=\"Groups\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/groups/\">Groups</a>";
		var link_04_12 = "<a title=\"Inventory - TF2\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/inventory/#440\">TF2</a>";
		var link_04_13 = "<a title=\"Inventory - Dota2\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/inventory/#570\">Dota2</a>";
		var link_04_14 = "<a title=\"Inventory - Steam\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/inventory/#753\">Steam</a>";
		var link_04_15 = "<a title=\"Inventory - CSGO\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/inventory/#730\">CSGO</a>";
		var link_04_16 = "<a title=\"All Comments\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/allcomments\">All Comments</a>";
		var link_04_17 = "<a title=\"Name History\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/namehistory\">Name History</a>";
		var link_04_18 = "<a title=\"Friends in Common\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/friendscommon\">Friends in Common</a>";
		var link_04_19 = "<a title=\"Groups in Common\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/groupscommon\">Groups in Common</a>";
		var link_04_20 = "<a title=\"Badges\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/badges/\">Badges</a>";
		var link_04_21 = "<a title=\"Wishlist\" href=\"http://steamcommunity.com/profiles/" + selProfileSid64 + "/wishlist/\">Wishlist</a>";

		var link_05_01 = "<a title=\"CSGO Lounge\" href=\"http://csgolounge.com/profile?id=" + selProfileSid64 + "\">CSGO Lounge</a>";

		var link_foot_1 = "<a title=\"GreasyFork\" target\"_blank\" href=\"https://greasyfork.org/scripts/5148-steam-extra-profile-links\">GreasyFork</a>";
		var link_foot_2 = "<a title=\"DoodlesStuff\" target\"_blank\" href=\"http://doodlesstuff.com/?p=sepl\">DoodlesStuff</a>";

		var invCount = "Inventory: ";
		if($(".profile_item_links").length) {
			$(".profile_item_links a").each(function(){ 
				if($(this).find(".profile_count_link_total").length) {
					var tempHref = $(this).attr('href');
					var tempCount = $(this).find(".profile_count_link_total").text().trim();
					if(tempCount.length) {
						if (tempHref.indexOf("/games/") != -1) { link_04_01 = link_04_01.replace("</a>", " (" + tempCount + ")</a>"); }
						else if (tempHref.indexOf("/screenshots/") != -1) { link_04_03 = link_04_03.replace("</a>", " (" + tempCount + ")</a>"); }
						else if (tempHref.indexOf("/videos/") != -1) { link_04_04 = link_04_04.replace("</a>", " (" + tempCount + ")</a>"); }
						else if (tempHref.indexOf("/inventory/") != -1) { invCount = "Inventory (" + tempCount + "): "; }
						else if (tempHref.indexOf("/myworkshopfiles/?section=greenlight") != -1) { link_04_09 = link_04_09.replace("</a>", " (" + tempCount + ")</a>"); }
						else if (tempHref.indexOf("/images/") != -1) { link_04_05 = link_04_05.replace("</a>", " (" + tempCount + ")</a>"); }
						else if (tempHref.indexOf("/myworkshopfiles/?section=guides") != -1) { link_04_07 = link_04_07.replace("</a>", " (" + tempCount + ")</a>"); }
						else if (tempHref.indexOf("/recommended/") != -1) { link_04_06 = link_04_06.replace("</a>", " (" + tempCount + ")</a>"); }
						else if (tempHref.indexOf("/myworkshopfiles/") != -1) { link_04_08 = link_04_08.replace("</a>", " (" + tempCount + ")</a>"); }
					}
				}
			});
			$(".profile_item_links").first().empty();
		}

		linkDiv.append($("<div>" + link_01_01 + " | " + link_01_02 + " | " + link_01_05 + "</div>"));
			var vac = $(xmlPage).find("vacBanned").first().text();
			if(vac == "1") { vac = "<span class=\"selR\">VAC Banned</span>"; }
			else if(vac == "0") { vac = "<span class=\"selG\">None</span>"; }
			else { vac = "<span class=\"selY\">" + vac + "</span>"; }
		linkDiv.append($("<div>VAC Ban: " + vac + "</div>"));
			var trade = $(xmlPage).find("tradeBanState").first().text();
			if(trade == "None") { trade = "<span class=\"selG\">None</span>"; }
			else { trade = "<span class=\"selR\">" + trade + "</span>"; }
		linkDiv.append($("<div>Trade Ban: " + trade + "</div>"));
		var memberSince = $(xmlPage).find("memberSince").first();
		if(memberSince.length) { linkDiv.append($("<div>Joined: " + $(memberSince).text() + "</div>")); }
		linkDiv.append($("<div>" + selProfileSid64 + "</div><div>" + selProfileSidV3 + "</div><div>" + selProfileSid32 + "</div>"));
		linkDiv.append($("<hr>"));
		linkDiv.append($("<div>backpack.tf: " + link_02_01 + " | " + link_02_02 +"</div>"));
		linkDiv.append($("<div>TF2Outpost: " + link_02_03 + " | " + link_02_04 + "</div>"));
		linkDiv.append($("<div>bazaar.tf: " + link_02_05 + " | " + link_02_06 + "</div>"));
		linkDiv.append($("<div>" + link_02_07 + "</div><div>" + link_02_08 + "</div>"));
		linkDiv.append($("<div>TF2B: " + link_02_09 + " | " + link_02_10 + " | " + link_02_11 + " | " + link_02_12 + "</div>"));
		linkDiv.append($("<div>" + link_01_03 + " | " + link_01_04 + "</div>"));
		linkDiv.append($("<div>" + link_02_13 + " | " + link_05_01 + "</div>"));
		linkDiv.append($("<hr>"));
		linkDiv.append($("<div>" + link_03_01 + " | " + link_03_02 + " | " + link_03_03 + "</div>"));
		linkDiv.append($("<hr>"));
		if($(".profile_private_info").length == 0) { // display profile type links IF profile ISNT private
			linkDiv.append($("<div>" + link_04_01 + " | " + link_04_02 + " | " + link_04_21 + "</div>"));
			linkDiv.append($("<div>" + link_04_03 + " | " + link_04_04 + " | " + link_04_05 + "</div>"));
			linkDiv.append($("<div>" + link_04_06 + " | " + link_04_07 + "</div>"));
			linkDiv.append($("<div>" + link_04_08 + " | " + link_04_09 + "</div>"));
			linkDiv.append($("<div>" + link_04_10 + " | " + link_04_11 + " | " + link_04_20 + "</div>"));
			linkDiv.append($("<div>" + invCount + link_04_12 + " | " + link_04_13 + " | " + link_04_14 + " | " + link_04_15 + "</div>"));
			linkDiv.append($("<div>" + link_04_16 + " | " + link_04_17 + "</div>"));
			if($("#account_pulldown").length) { linkDiv.append($("<div>" + link_04_18 + " | " + link_04_19 + "</div>")); }
		} else {
			linkDiv.append($("<div>" + link_04_16 + " | " + link_04_17 + "</div>"));
		}
		linkDiv.append($("<hr>"));
		linkDiv.append($("<div class=\"sel_foot\">Steam Extra Links: " + link_foot_1 + " | " + link_foot_2 + "</div>"));

		if($(".profile_in_game_name").length) {
			var gameName = $(".profile_in_game_name").text().trim();
			gameName = gameName.replace("&equals;", "%3D").replace("&#61;", "%3D").replace("=", "%3D");
			gameName = gameName.replace("&amp;", "%26").replace("&#38;", "%26").replace("&", "%26");
			var gameName2 = gameName;
			while(gameName2.indexOf(" ") != -1){
				gameName2 = gameName2.replace(" ", "+");
			}
			if(gameName.indexOf("Last Online") == -1) {
				$(".profile_in_game_name").html($("<a href=\"http://store.steampowered.com/search/?term=" + gameName2 +
					"&category1=998\" title=\"Steam Store Search\" style=\"text-decoration:underline;\">" + gameName + "</a>"));
			}else{
                
			}
		}
	}
});