function protectAllTheThings(protectLevel, editSummary)
{
mw.loader.using('mediawiki.api').done(function ()
{
if (editSummary === null)
{
return false;
}
if (editSummary === '')
{
if(protectLevel == "all")
{
editSummary = "protection no longer necessary";
}
else
{
editSummary = "Mass protecting pages due to abuse";
}
}
var api = new mw.Api();
$(".mw-prefixindex-list a").each(function (ind, el)
{
api.postWithEditToken(
{
"action": "protect",
"title": el.title,
"protections": "edit=" + protectLevel,
"expiry": "never",
"reason": editSummary
}
).done(function ()
{
$(el).after("*");
}
);
}
);
}
);
return false;
}
mw.hook('wikipage.content').add(function ()
{
if (mw.config.get("wgCanonicalSpecialPageName") == "Prefixindex")
{
mw.loader.using().done(function ()
{
mw.util.addPortletLink('p-cactions', '#', "semiprotect all", "ca-semiprotecteverything", "semiprotect all pages displayed here");
$("#ca-semiprotecteverything").click(function (event)
{
event.preventDefault();
mw.loader.load('mediawiki.api');
return protectAllTheThings("autoconfirmed", prompt("Enter an edit summary, or leave blank to use the default (or hit Cancel to cancel the semiprotection entirely)"));
}
);
mw.util.addPortletLink('p-cactions', '#', "te-protect all", "ca-teprotecteverything", "te-protect all pages displayed here");
$("#ca-teprotecteverything").click(function (event)
{
event.preventDefault();
mw.loader.load('mediawiki.api');
return protectAllTheThings("templateeditor", prompt("Enter an edit summary, or leave blank to use the default (or hit Cancel to cancel the te-protection entirely)"));
}
);
mw.util.addPortletLink('p-cactions', '#', "unprotect all", "ca-unprotecteverything", "unprotect all pages displayed here");
$("#ca-unprotecteverything").click(function (event)
{
event.preventDefault();
mw.loader.load('mediawiki.api');
return protectAllTheThings("all", prompt("Enter an edit summary, or leave blank to use the default (or hit Cancel to cancel the unprotection entirely)"));
}
);
}
);
}
}
);