Jump to content

Wikipedia:WikiProject User scripts/Scripts/WikiBreak Enforcer

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by TheDJ (talk | contribs) at 11:53, 28 March 2010 (move the script from http://en.wikipedia.org/w/index.php?title=Wikipedia:WikiProject_User_scripts/Scripts/WikiBreak_Enforcer&oldid=352518622 so it can be protected seperately). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Functionality:

  • Prevents user from logging in before a certain date, to help enforce a wikibreak.
  • If the user logs in, they are automatically logged back out.
  • User can still view/edit as an anon through their IP Address.

Usage:

  • Copy the code below into your monobook.js (or vector.js, if you are using the beta skin), adjusting the end date as required. Save the page.
  • Reload a wikipedia page. Mozilla/Safari/Konqueror: hold down Shift while clicking Reload (or press Ctrl-Shift-R), IE: press Ctrl-F5, Opera: press F5.
  • Enjoy your wikibreak!

Warning:

  • Be careful not to make a mistake, or you may not be able to get back in at the end of your break. In cases of errors, an admin will have to remove the script from your monobook.js for you.

/*** BEGIN WIKIBREAK ENFORCER ***/ $(document).ready(function() {

/*** Start editing here ***/

// When you want to end your break? // no leading zeroes. (example: 9 - correct, 09 - incorrect)

var date = { year: 2020, month: 2, day: 11}; var time = { hours: 20, minutes: 22, seconds: 0 };

/*** Stop editing here ***/

var currentDate = new Date(); var enforcedBreakEnd = new Date( date.year,date.month-1,date.day,time.hours,time.minutes,time.seconds); $.getJSON("/w/api.php?action=query&meta=siteinfo&siprop=general&format=json", function(data) {

       var serverTimeStr = data.query.general.time; // ISO 8601 string
       var serverTime = new Date(serverTimeStr);
       if (serverTime < enforcedBreakEnd) {

alert("Enforced wikibreak until "+enforcedBreakEnd.toLocaleString() + "\n(now is "+currentDate.toLocaleString()+")\n\nBye!"); mw.loader.using(["mediawiki.api", "mediawiki.user"]).then(function () { new mw.Api().post( { action: 'logout', token: mw.user.tokens.get('csrfToken') }).done(function (data) { location = "//" + location.host + "/w/index.php?title=" + "Special:Userlogin&returnto=Main_Page"; }).fail(function () { console.log("logout failed"); }); });

       }

}); }); /*** END WIKIBREAK ENFORCER ***/