Bruger:Rodejong/tools.js
Bemærk, efter at have gemt, er du almindeligvis nødt til at tømme din browsers cache for at kunne se ændringerne.
Mozilla/Firefox/Safari/Konqueror: Hold shifttasten nede og klik på reload eller tryk på ctrl-shift-r
Internet Explorer: Ctrl-F5
Opera: F5
Safari til Mac: ⌥⌘E
Mozilla/Firefox/Safari/Konqueror: Hold shifttasten nede og klik på reload eller tryk på ctrl-shift-r
Internet Explorer: Ctrl-F5
Opera: F5
Safari til Mac: ⌥⌘E
function get_query_value(query, name){
if (typeof query != "string" || typeof name != "string")
return "";
var value = query.match('[&?]' + name + '=([^&]*)');
if (value)
return decodeURIComponent(value[1]);
else
return "";
}
function lastdiff() {
mw.util.addPortletLink("p-cactions", mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" + encodeURIComponent(mw.config.get('wgPageName')) + "&diff=cur&oldid=prev", "last", "ca-last", "Show most recent diff");
}
function userlogs() {
mw.util.addPortletLink("p-cactions", mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=Special:Log/block&page=User:" + encodeURIComponent(wgTitle), "blocklog", "ca-blocklog", "block log");
}
function addtoolboxlinks() {
mw.util.addPortletLink("p-tb", '/wiki/Special:NewPages', 'NewPages', 'pt-newpages', 'New pages', null, 'pt-logs');
mw.util.addPortletLink("p-tb", '/wiki/Special:Log/newusers', 'NewUsers', 'pt-newusers', 'New users', null, 'pt-newpages');
if (wgIsArticle==true && wgNamespaceNumber != 6 && wgNamespaceNumber != 7) mw.util.addPortletLink("p-tb", '/wiki/Special:PrefixIndex/'+wgPageName, 'PrefixIndex', 'pt-prefixindex', 'PrefixIndex', null, 'pt-newusers');
if (wgIsArticle == true) mw.util.addPortletLink("p-tb", mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Log&page=' + encodeURIComponent(mw.config.get('wgPageName')), "PageLogs", "pt-logs", "Logs for this page", null);
}
function contribstools() {
var user = encodeURIComponent(document.getElementsByName('target')[0].value);
mw.util.addPortletLink("p-tb", "http://toolserver.org/~luxo/contributions/contributions.php?user=" + user + "&blocks=true&lang=", "Luxo's", 't-luxos', "Luxo's global contribs", null);
mw.util.addPortletLink("p-tb", "http://toolserver.org/~pathoschild/crossblock/?target=" + user + "&hide_unblocked=on", "Crossblock", "t-crossblock", "Pathoschild's cross-wiki block tool", null, "t-luxos");
if (!/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/.test(user)){
mw.util.addPortletLink("p-tb", "http://toolserver.org/~vvv/sulutil.php?user=" + user, "VVV's", "t-vvv", "VVV's SUL tool", null, "t-crossblock");
mw.util.addPortletLink("p-tb", "https://secure.wikimedia.org/wikipedia/meta/wiki/Special:CentralAuth/" + user, "CentralAuth", "t-centralauth", "Special:CentralAuth", null, "t-vvv");
}
if (/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/.test(user)){
mw.util.addPortletLink("p-tb", "http://www.robtex.com/rbls/" + user + ".html", "RBL check", "t-rblcheck", "Multi-RBL check", null, "t-crossblock");
mw.util.addPortletLink("p-tb", "http://toolserver.org/~chm/whois.php?ip=" + user, "WHOIS", "t-whois", "Toolserver WHOIS", null, "t-rblcheck");
mw.util.addPortletLink("p-tb", "http://toolserver.org/~krimpet/torcheck.php?ip=" + user, "TOR?", "t-tor", "TOR check", null, "t-whois");
mw.util.addPortletLink("p-tb", "http://meta.wikimedia.org/wiki/Special:GlobalBlock/" + user, "GlobalBlock", "t-globalblock", "Special:GlobalBlock", null, "t-tor");
}
}
function purge() {
var hist; var url;
if (!(hist = document.getElementById('ca-history') )) return;
if (!(url = hist.getElementsByTagName('a')[0] )) return;
if (!(url = url.href )) return;
mw.util.addPortletLink('p-cactions', url.replace(/([?&]action=)history([&#]|$)/, '$1purge$2'), 'purge', 'ca-purge', 'Purge server cache for this page', '0');
}
function edittop() {
// This will add an [edit] link at the top of all pages except preview pages and the main page
if (wgNamespaceNumber < 0) return;
if (wgAction == "edit") {
var section = get_query_value(window.location.href, "section");
if (section == "0") { document.getElementById("wpSummary").value = "/* Intro */ "; }
}
else {
//un-hide siteSub if it's hidden
appendCSS('#siteSub {display:inline !important; font-weight:normal !important; font-size:1.2em !important;}');
// create span and set innerHTML to link
var sectionZero = document.createElement('span');
sectionZero.setAttribute('class','editsection');
var a = document.createElement("a");
a.href = wgScript+'?title='+ encodeURIComponent(mw.config.get('wgPageName'))+'&action=edit§ion=0';
a.title = 'Edit section: Intro';
a.appendChild(document.createTextNode("edit"));
sectionZero.appendChild(document.createTextNode("["));
sectionZero.appendChild(a);
sectionZero.appendChild(document.createTextNode("]"));
// insert sectionZero into the DOM before the first level 1 heading
document.getElementById('siteSub').insertBefore(sectionZero,document.getElementById('siteSub').firstChild);
}
}
function blockhist() {
var ul = document.getElementById('bodyContent').getElementsByTagName('ul')[0];
if (!ul || !ul.getElementsByTagName('li')[0]){return;}//nothing to do
var l = ul.getElementsByTagName('li');
if (l[0].innerHTML.indexOf('">block</a>)') ==-1){//non-admin
//somehow get the user and create links as for the admin section below
return;
}
//use unblock links
if (location.href.search(/&page=[^&]/) ==-1) {
// alert("add stuff");
for (var i=0; i<l.length; i++) {
if (l[i].getElementsByTagName('a')[4]) {
var name = l[i].getElementsByTagName('a')[4].innerHTML;
l[i].innerHTML = '(<a href="/w/index.php?title=Special%3ALog&type=block&page=User:' + name + '">hist</a>) (<a href="/w/index.php?title=Special%3AIpblocklist&action=search&limit=&ip=' + name + '">status</a>) ' + l[i].innerHTML;
}
}
}
else {
var name = l[0].getElementsByTagName('a')[4].innerHTML;
l[0].innerHTML = '(<a href="/w/index.php?title=Special%3AIpblocklist&action=search&limit=&ip=' + name + '">status</a>) ' + l[0].innerHTML;
}
}
if ( wgCanonicalNamespace != "Special" ) addOnloadHook(purge);
if ( wgCanonicalSpecialPageName == "Contributions" ) addOnloadHook(contribstools);
if ( wgCanonicalSpecialPageName == 'IPBlockList' || wgCanonicalSpecialPageName == 'Log' && ( location.href.search(/\/block|type=block/) != -1 ) ) addOnloadHook(blockhist);
if ( wgIsArticle == true && wgCanonicalNamespace != 'Special' ) addOnloadHook(lastdiff);
if ( wgIsArticle == true && ( wgNamespaceNumber == 2 || wgNamespaceNumber == 3 ) && wgPageName.indexOf("/") == -1 ) addOnloadHook(userlogs);
$(addtoolboxlinks);
if ( wgAction == "view" || wgAction == "purge" || wgAction == "edit" ) addOnloadHook(edittop);