User:Yahya/common.js

From Wikipedia

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
// Fork of [[User:Tks4Fish/CAWhoisProxy.js]]
$(document).ready(function ca_gbLinkContribs() {
    if (mw.config.get('wgCanonicalSpecialPageName') == 'Contributions' || mw.config.get('wgCanonicalSpecialPageName') == 'DeletedContributions') {
        var show = document.getElementById('contentSub');
        if (show) {
            var target = mw.config.get('wgRelevantUserName');
            if (target !== null) {
                var eleminv = document.createElement('span');
                var eleminvlog = document.createElement('span');
                var elemlink = document.createElement('span');
                var elemipc = document.createElement('span');
                var elemwhois = document.createElement('span');
                var elemspam = document.createElement('span');
                var elemguc = document.createElement('span');
                var elemguc2 = document.createElement('span');
                var elembeye = document.createElement('span');
                var elemyt = document.createElement('span');

                var inv = document.createElement('a');
                var invlog = document.createElement('a');
                var link = document.createElement('a');
                var ipc = document.createElement('a');
                var whoisip = document.createElement('a');
                var sbl = document.createElement('a');
                var guc = document.createElement('a');
                var guc2 = document.createElement('a');
                var beye = document.createElement('a');
                var yt = document.createElement('a');

                if (/checkuser/.test(mw.config.get('wgUserGroups')) === true) {
                    inv.href = mw.config.get('wgServer') + "/wiki/Special:Investigate?targets=" + target;
                    inv.innerHTML = "investigate";
                    inv.title = "Investigate this user";
                    eleminv.appendChild(inv);
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(eleminv);
                }

                if (!mw.util.isIPAddress(target)) {
                    sbl.href = mw.config.get("wgServer") + "/wiki/Special:Log?type=spamblacklist&user=" + target;
                    sbl.innerHTML = "spam blacklist";
                    sbl.title = "Spam blacklist logs for this user";
                    elemspam.appendChild(sbl);
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(elemspam);

                    guc.href = "//guc.toolforge.org/?user=" + target + "&blocks=true";
                    guc.innerHTML = "GUC";
                    guc.title = "GUC for this user";
                    elemguc.appendChild(guc);
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(elemguc);

                    guc2.href = "//xtools.wmflabs.org/globalcontribs/" + target;
                    guc2.innerHTML = "XTools GUC";
                    guc2.title = "GUC for this user";
                    elemguc2.appendChild(guc2);
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(elemguc2);
                } else {
                    elemspam.appendChild(sbl); // Append sbl to elemspam here
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(elemspam);
                    
                    link.href = "//meta.wikimedia.org/wiki/Special:GlobalBlock/" + target;
                    link.innerHTML = "GlobalBlock";
                    link.title = "GlobalBlock this IP";
                    elemlink.appendChild(link);
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(elemlink);

                    beye.href = "//bullseye.toolforge.org/ip/" + target;
                    beye.innerHTML = "Bullseye";
                    beye.title = "Bullseye info for this IP";
                    elembeye.appendChild(beye);
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(elembeye);

                    ipc.href = "//ipcheck.toolforge.org/index.php?ip=" + target;
                    ipc.innerHTML = "proxy check";
                    ipc.title = "Proxy check for this IP";
                    elemipc.appendChild(ipc);
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(elemipc);

                    whoisip.href = "//whois-referral.toolforge.org/gateway.py?lookup=true&ip=" + target;
                    whoisip.innerHTML = "WHOIS";
                    whoisip.title = "WHOIS for this IP";
                    elemwhois.appendChild(whoisip);
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(elemwhois);

                    guc.href = "//guc.toolforge.org/?user=" + target + "&blocks=true";
                    guc.innerHTML = "GUC";
                    guc.title = "GUC for this IP";
                    elemguc.appendChild(guc);
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(elemguc);

                    guc2.href = "//xtools.wmflabs.org/globalcontribs/" + target;
                    guc2.innerHTML = "XTools GUC";
                    guc2.title = "GUC for this IP";
                    elemguc2.appendChild(guc2);
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(elemguc2);

                    yt.href = "//ytools.toolforge.org/ip/?ip=" + target;
                    yt.innerHTML = "ProxyCheck.io";
                    yt.title = "Proxy Check for this IP";
                    elemyt.appendChild(yt);
                    document.getElementsByClassName('mw-changeslist-links')[0].appendChild(elemyt);
                }
            }
        }
    }
});