User:Mike Dillon/Scripts/aiv.js

// Requires: User:Mike Dillon/Scripts/tabs.js, User:Mike Dillon/Scripts/username.js

//

// 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);

}

//