User:Zppix/Test/MediaWiki:Gadget-CentralAuthInterlinkFixer.js: Difference between revisions

Content added Content deleted
m (rm http:)
(don't limit script-fix to <a> with class="new". Most links (like the "user@wikiname" links on Special:Log/rights) can't even have class="new")
Line 23: Line 23:
var docobj = document.getElementById('bodyContent') || document.getElementById('content') || document.getElementById('mw_content') || document.body
var docobj = document.getElementById('bodyContent') || document.getElementById('content') || document.getElementById('mw_content') || document.body
var li = docobj.getElementsByTagName('li');
var li = docobj.getElementsByTagName('li');
for(var i=0;i<li.length;i++) {
for(var i = 0; i < li.length; i++) {
var a = getElementsByClassName(li[i],'a','new');
var a = li[i].getElementsByTagName('a');
for(var j=0;j<a.length;j++) {
for(var j=0;j<a.length;j++) {
var atxt = getText(a[j]);
var atxt = getText(a[j]);
if(atxt.indexOf('@') != -1 && atxt.indexOf('/') == -1 && /^User\:/i.test(atxt)) {
if (atxt.indexOf('@') != -1 && atxt.indexOf('/') == -1 && /^User\:/i.test(atxt)) {
var bits = atxt.split('@',2);
var bits = atxt.split('@',2);
var user = encodeURIComponent(bits[0].replace(/^\s*User:(.+)\s*$/g, '$1'));
var user = encodeURIComponent(bits[0].replace(/^\s*User:(.+)\s*$/g, '$1'));
var wiki = bits[1];
var wiki = bits[1];
if(wiki == 'global') {
if (wiki == 'global') {
a[j].setAttribute('href', wgScript + '?title=Special:CentralAuth&target=' + user);
a[j].setAttribute('href', mw.config.get( 'wgScript' ) + '?title=Special:CentralAuth&target=' + user);
} else {
} else {
var hostName = host(wiki)
var hostName = host(wiki)