-
Notifications
You must be signed in to change notification settings - Fork 1
/
prohardver_link.user.js
58 lines (52 loc) · 2.38 KB
/
prohardver_link.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// ==UserScript==
// @name PROHARDVER! link redirecter
// @version 1.6
// @description replaces prohardver.hu forum links
// @author Intruder2k5, dobragab
// @namespace https://prohardver.hu/
// @include https://prohardver.hu/*
// @include https://www.prohardver.hu/*
// @include https://m.prohardver.hu/*
// @include https://mobilarena.hu/*
// @include https://www.mobilarena.hu/*
// @include https://m.mobilarena.hu/*
// @include https://gamepod.hu/*
// @include https://www.gamepod.hu/*
// @include https://m.gamepod.hu/*
// @include https://itcafe.hu/*
// @include https://www.itcafe.hu/*
// @include https://m.itcafe.hu/*
// @include https://logout.hu/*
// @include https://www.logout.hu/*
// @include https://m.logout.hu/*
// @updateURL https://raw.githubusercontent.com/dobragab/prohardver-userscripts/master/prohardver_link.user.js
// @grant none
// ==/UserScript==
(function() {
'use strict';
var site1 = "prohardver.hu";
function replace_links(elem) {
var links = document.evaluate('//a[@href]', elem, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
var re = /(www\.)?(m\.)?(prohardver|mobilarena|gamepod|itcafe|logout)\.hu\/(tema\/|temak\/|tag\/|tagok\/|privat\/|privatok\/|forum\/|allando\/|kereses\/)/g;
var t = site1 + "/$4";
for (var n = 0; n < links.snapshotLength; n++)
{
var link = links.snapshotItem(n);
link.href = link.href.replace(re, t);
if(link.href === "http://hardverapro.hu/privat_uzenetek")
link.href = "http://" + site1 + "/privatok/listaz.php";
}
}
// copied from PROHARDVER! source. If PH changes this piece of code, the script breaks PH.
function my_ajax_openContent(url, obj, dCont) {
return (dCont = document.getElementById(dCont)) ? (obj.ajaxCallback = function(req) {
dCont.innerHTML = eval("(" + req.responseText + ")").content,
setClass(dCont, "open", !0),
this.parentNode.removeChild(this);
replace_links(dCont);
},obj.ajaxError = function(e) {}, void ajaxRequest(url, obj, 6e4)) : null;
}
replace_links(document);
if (typeof GM === "undefined" || GM.info.scriptHandler !== "Greasemonkey")
ajax_openContent = my_ajax_openContent;
})();