dailyhwm / DelFriends

// ==UserScript==
// @name DelFriends
// @namespace Cot
// @description Позволяет удалять друзей из списка друзей в игре на страницах инфо персонажей
// @homepage https://greasyfork.org/ru/scripts/7972
// @version 3.01.2
// @include *heroeswm.*/pl_info.php*
// @include *lordswm.*/pl_info.php*
// @grant GM_deleteValue
// @grant GM_getValue
// @grant GM_listValues
// @grant GM_setValue
// @grant GM_addStyle
// @grant GM_log
// @grant GM_openInTab
// @license	MIT
// ==/UserScript==
(function() {
var url_cur = location.href;
var url = 'http://' + location.hostname + '/';
if (!this.GM_getValue || (this.GM_getValue.toString && this.GM_getValue.toString().indexOf("not supported") > -1)) {
	this.GM_getValue = function(key, def) { return localStorage[key] || def; };
	this.GM_setValue = function(key, value) { return localStorage[key] = value; };
	this.GM_deleteValue = function(key) { return delete localStorage[key]; };
}
if (location.pathname == '/friends.php') {
	var all_tr = tag('tr');
	var tr_len = all_tr.length;
	var tr;
	var aid = /friends.php\?aid=(\d+)/;
	var foto = /(\d+) \u0444\u043e\u0442\u043e/;
	if (url.match('lordswm')) { foto = /(\d+) photo/; }
	for (var i = tr_len; i--;) {
		tr = all_tr[i];
		if (tr.innerHTML.indexOf("<tr") != -1) { continue; }
		if (foto.exec(tr.innerHTML) && foto.exec(tr.innerHTML)[1] == 0) {
			if (aid.exec(tr.innerHTML)) { tr.style.display = 'none'; }
		}
	}
}

if (location.pathname == '/pl_info.php') {
	if ((tag('body'))[0]) {
		var b = (tag('body'))[0];
		var pl_id = /pl_info.php\?id=(\d+)/;
		var title = 'Удалить из друзей';
		if (url.match('lordswm')) { title = 'Del from frends list'; }
		//if (b.innerHTML.indexOf('friends.php?action=add&nick=') == -1) {
		 if (document.querySelectorAll('[title="Добавить в друзья"]').length == 0) {
			var all_a = tag('td');
			var a_len = all_a.length;
			for (var rar = a_len; rar--;) {
				var a_i = all_a[rar];
				if (a_i.innerHTML.indexOf("<td") != -1) { continue; }
				if (a_i.innerHTML.indexOf("male.png") != -1) {
					var id = pl_id.exec(url_cur)[1];
					var div = document.createElement('tr');
                    var iii = document.createElement('img');
                    iii.src = '//dcdn.heroeswm.ru/i_clans/l_3346.gif';
                    iii.title = 'Удалить из друзей';
                    iii.style.cursor = 'pointer';
                    iii.border = '1px solid #000';
                    addEvent(iii,'click', logg );
					div.append(iii);
					//div.innerHTML = '<a href="friends.php?del=' + id + '"><img border=0 src="//dcdn.heroeswm.ru/i_clans/l_3346.gif" border=0 title="' + title + '" align=right></a>';
					// src="//dcdn.heroeswm.ru/i_clans/l_5041.gif"
					a_i.parentNode.insertBefore(div, a_i);
                     //window.location.reload();
					break;
				}
			}
		}
	}
}
function logg(){
    //console.log(1+ ' ' + id);
    if (document.querySelectorAll('[title="Добавить в друзья"]').length == 0){
        let response = fetch('https://www.heroeswm.ru/friends.php?del=' + id);
        //setTimeout(function() { console.log(2 + " " + id);},1000)
        setTimeout(function() { location.reload();},300)
    }
}
function addEvent(elem, evType, fn) {
    if (elem.addEventListener) {
        elem.addEventListener(evType, fn, false);
    } else if (elem.attachEvent) {
        elem.attachEvent("on" + evType, fn);
    } else {
        elem["on" + evType] = fn;
    }
}
function $(id) { return document.getElementById(id); }

function tag(id) { return document.getElementsByTagName(id); }
})();