User:Zppix/Test/MediaWiki:Gadget-CentralAuthInterlinkFixer.js: Difference between revisions
Content deleted Content added
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" |
No edit summary |
||
Line 1:
/**
* Fix links like User:Example@somewiki on Special:Log and Special:Recentchanges
function fixCrosswikiLinks() {▼
* @author VasilievVV, 2008-2010
function host(id) {▼
* @author Kalan, 2008
if(id == 'mediawikiwiki') {▼
* @author Splarka, 2008
return 'mediawiki.org';▼
* @author Krinkle, 2012
*/
/*global mw, $ */
}▼
var wikimedia = /^(advisory|auditcom|board|chair|chapcom|collab|comcom|commons|exec|grants|incubator|internal|meta|office|otrs wiki|quality|spcom|species|wikimaniateam|wikimania20\d\d)wiki$/;▼
return
} else if
r = r.replace(/wiki$/, ".wikimedia.org");▼
return r;▼
}▼
var idNoSpaces = (id.match(/(arbcom enwiki|labswikimedia|pa uswikimedia|wg enwiki)$/)) ? id.replace(/ /, '.') : id.replace(/ /g, '-');▼
idNoSpaces = idNoSpaces.replace(/(wiki([mp]edia|quote|source|books|news|versity)|wiktionary)/, '.$1.org');▼
if(idNoSpaces.indexOf('.org') != -1) return idNoSpaces▼
return false;▼
}
▲
if (wikimedia.test(id)) {
return id.replace(/ /g, '-').replace(/_/g, '-').replace(/wiki$/, '.wikimedia.org');
▲
idNoSpaces = idNoSpaces
▲
if (atxt.indexOf('@') != -1 && atxt.indexOf('/') == -1 && /^User\:/i.test(atxt)) {▼
var bits = atxt.split('@',2);▼
var user = encodeURIComponent(bits[0].replace(/^\s*User:(.+)\s*$/g, '$1'));▼
var wiki = bits[1];▼
}
a[j].setAttribute('href', mw.config.get( 'wgScript' ) + '?title=Special:CentralAuth&target=' + user);▼
▲function fixCrosswikiLinks() {
$('body li a').each(function (i, el) {
var bits, wiki, user,
$el = $(el),
▲
} else {
var hostName = host(wiki);
if (
}
}
$el.attr('title', txt);
}
}
if(wgCanonicalSpecialPageName == 'Log' || wgCanonicalSpecialPageName == 'Recentchanges') addOnloadHook(fixCrosswikiLinks)▼
▲if (mw.config.get('wgCanonicalSpecialPageName') === 'Log' || mw.config.get('wgCanonicalSpecialPageName') === 'Recentchanges')
$(document).ready(fixCrosswikiLinks);
▲ var txt = [];
▲ i++;
}
|