User:Fish on skates/lockout.js
Jump to navigation
Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes.
- Internet Explorer: hold down the Ctrl key and click the Refresh or Reload button, or press Ctrl+F5.
- Firefox: hold down the Shift key while clicking Reload; alternatively press Ctrl+F5 or Ctrl-Shift-R.
- Opera, Konqueror and Safari users can just click the Reload button.
- Chrome: press Ctrl+F5 or Shift+F5
/* Sporked from the Wikipedia script "User:Anomie/lockout.js". All credit goes to them. */
/* Forbid access using this account on weekdays from 8:10am to 3:20pm local time. */
(function(){
if(!document.body){
// Page not loaded yet!
setTimeout(arguments.callee, 100);
return;
}
var s=8*3600+10*60; // Start lockout time, in seconds
var e=18*3600+20*60; // End lockout time, in seconds
var dt=new Date();
var t=dt.getHours()*3600+dt.getMinutes()*60+dt.getSeconds();
var wd=dt.getDay()%7;
if(wd==0 || wd==6){
// Not a weekday, clear lockout and wait until later
setTimeout(arguments.callee, Math.min(600000,86400-t)*1000);
document.body.style.display='';
return;
}
if(t<s){
// Not time yet, clear lockout and try again later
setTimeout(arguments.callee, Math.min(600000,s-t)*1000);
document.body.style.display='';
return;
}
if(t>=e){
// Time past, clear lockout and wait until later
setTimeout(arguments.callee, Math.min(600000,86400-t)*1000);
document.body.style.display='';
return;
}
// Lock out! And repeat the check every second so I can't just firebug my
// way past it.
document.body.style.display='none';
setTimeout(arguments.callee, 1000);
})();