Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// Requires: [[User:Mike Dillon/Scripts/tabs.js]], [[User:Mike Dillon/Scripts/username.js]]

// <pre><nowiki>

// Script from User:Amarkov/linkedpagecontentadder.js

//Or it will be when that is done, at least

// This is a javascript tool which reports things to AIV, which should work for any browser

// Make sure popups aren't blocked if this is set to true
var aivReportNewWindow;
if (aivReportNewWindow == null) {
    aivReportNewWindow = true;
}

var aivReportButton;
if (aivReportButton == null) {
    aivReportButton = "wpPreview"; // Options: wpSave, wpPreview, wpDiff, false
}

function aivreport() {
    var username = getUsernameForCurrentPage();
    if (!username) {
        alert("Unknown username");
        return;
    }

    var reason = prompt("Reason?");
    if (!reason) {
        // Cancel clicked or no reason given; abort
        return;
    }

    var aivUrl = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + "/index.php?action=edit" +
        "&title=Wikipedia:Administrator intervention against vandalism" +
        "&username=" + encodeURIComponent(username) +
        "&reason=" + encodeURIComponent(reason) +
        "&fakeparam=broom";

    if (aivReportNewWindow) {
        window.open(aivUrl);
    } else {
        window.location.href = aivUrl;
    }
}

if (wgCanonicalNamespace.match(/^User/) || wgPageName == "Special:Contributions") {
    addOnloadHook(function () {
        addTab("javascript:aivreport()", "AIV", "ca-AIV", "AIV", "");
    });
}

function makereport() {
    var params = location.search.substring(1).split("&");
    var username = decodeURIComponent(params[2].split("=", 2)[1]);
    var reason = decodeURIComponent(params[3].split("=", 2)[1]);

    var vandalTag;
    if (username.match(/^\d+\.\d+\.\d+\.\d+$/)) {
        vandalTag = 'IPvandal';
    } else {
        vandalTag = 'vandal';
    }

    document.editform.wpTextbox1.value += '* {' + '{' + vandalTag + '|' + username + '}' + '}' +
        ' ' + reason + ' -- ~' + '~' + '~' + '~';
    document.editform.wpSummary.value = 'Reporting vandalism by ' +
        '[' + '[User:' + username + '|' + username + ']' + ']: ' + reason;
    document.editform.wpMinoredit.checked = false;

    // Click button indicated by aivReportButton, unless the value is false
    if (aivReportButton) {
        document.editform[aivReportButton].click();
    }
}

if (location.search.indexOf("fakeparam") != -1) {
    addOnloadHook(makereport);
}

// </nowiki></pre>