Wikipedia:WikiProject User scripts/Scripts/WikiBreak Enforcer

Page protected
Source: Wikipedia, the free encyclopedia.
<
Scripts

WikiBreak Enforcer is a

logged out user through their IP address
.

How to Use

  1. Copy the code under Script below between /*** BEGIN WIKIBREAK ENFORCER ***/ and /*** END WIKIBREAK ENFORCER ***/.
  2. Paste the code on your user JavaScript page, and then change the lines starting with var date and var time to reflect the time you want your break to end (local time). The var date line defines the date your break will end, while the var time defines the time on that day that your break will end. For example, for a break ending at 8:22 pm on 6 February 2019, one would enter the settings:
    	var date = { year: 2019, month: 2, day: 6 };
    	var time = { hours: 20, minutes: 22, seconds: 0 };
    
  3. Save the edited user JavaScript page.
    information Note: Previewing your edit will log you out, but will not implement the enforcer.
  4. Purge
    the page. If successful, you will be logged out.
  5. That's it: enjoy your wikibreak! 🙂

Script

/*** 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);
	if (currentDate <= 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 ***/

See also