MediaWiki:ChatEditRestriction.js

// ******************************************** // Implement edit restriction on chat feature // Written by Foodbandlt for Sonic News Network // ********************************************

// To change the number of edits required to enter the chat, change the numbers below. // Be sure to leave the semi-colon intact. // To disable the restriction, change both of these to 0.

var mainCountRestriction = 50; var totalCountRestriction = 100;

// Disable message (1 = enabled, 0 = disabled) enableMessage = 1;

// Message that appears. Links cannot be used in this message. var undereditMessage = wgUserName+", you lack the sufficient number of edits required to use our Chat Room. Our Chat policy requires that you make a minimum of 100 edits, with at least 50 of them having to be made in our Mainspace (where our Wiki's articles and other main content are displayed and stored), before you can come on here. We apologize for this inconvinience.";

// Enable redirect (1 = enabled, 0 = disabled) var enableRedirect = 1;

// Page to redirect to var redirectPage = "Project:Chat";

// A list of exceptions to this edit restriction. // Enclose separate usernames inside of quotations, and separate them with commas. // i.e. ["username1", "username2"];

var exceptionList = ["Foodbandlt"];

if (exceptionList.indexOf(wgUserName) == -1){ if (typeof alertPopped === "undefined"){ $.get("/wiki/Special:Editcount/"+wgUserName, function(result){ regExpNumberIsolation = /\d/g ; regExpSearch = /\(Main\)/ ; mainPos = result.search(regExpSearch); if (mainPos != -1){ slicedMainText = result.slice(mainPos+36, mainPos+41); var numberedMainText = slicedMainText.match(regExpNumberIsolation).toString; if (numberedMainText.search(",") != -1){ while (numberedMainText.indexOf(",") > -1){ var numberedMainText = numberedMainText.replace(",",""); } } }else{numberedMainText = 0;} totalPos = result.search("All wikis"); if (totalPos != -1){ slicedTotalText = result.slice(totalPos+52, totalPos+57); var numberedTotalText = slicedTotalText.match(regExpNumberIsolation).toString; if (numberedTotalText.search(",") != -1){ while (numberedTotalText.indexOf(",") != -1){ var numberedTotalText = numberedTotalText.replace(",",""); } } }else{numberedTotalText = 0;} if (typeof alertPopped === "undefined" && (numberedTotalText < totalCountRestriction || numberedMainText < mainCountRestriction)){ alertPopped = 1;

if (wgPageName == "Special:Chat"){ if (enableMessage == 1){alert(undereditMessage);} window.close; if (window.closed == false){ if (enableRedirect == 1){window.location.replace("/wiki/"+redirectPage);}else{window.location.replace(wgServer);} } }else{ $(document).ready(function { $('[href="/wiki/Special:Chat"]').click(function { if (enableMessage == 1){alert(undereditMessage);} if (enableRedirect == 1){window.location.replace("/wiki/"+redirectPage);} }); $('[href="/wiki/Special:Chat"]').attr("href", "#"); setTimeout('$(".chat-join a").attr("onclick", "").click(function {if (enableMessage == 1){alert(undereditMessage);} if (enableRedirect == 1){window.location.replace("/wiki/"+redirectPage);}}); $(".chat-join button").attr("onclick", "").click(function {if (enableMessage == 1){alert(undereditMessage);} if (enableRedirect == 1){window.location.replace("/wiki/"+redirectPage);}});', 500); }); } } }); } }