User:CCCPC/minervaneue.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
Documentation for this user script can be added at User:CCCPC/minervaneue. This user script seems to have an accompanying .css page at User:CCCPC/minervaneue.css. |
/*Here is my user Global.css page,please don't put any of articles or discussion in it*/
/*Any JavaScript here will be loaded for my account on every page load*/
importArticles({
type: 'script',
articles: [
'u:dev:ShowHide/code.js',
'u:dev:DisplayTimer/code.js',
'w:c:dev:ReferencePopups/code.js'
]
});
//********************************************
//Experimental javascript countdown timer (Splarka)
//Version:0.0.3
// <span class="countdown" style="display:none;">
// Only <span class="countdowndate">January 01 2007 00:00:00 PST</span> until New years.
// </span>
// <span class="nocountdown">Javascript disabled.</span>
function updatetimer(i) {
var now = new Date();
var then = timers[i].eventdate;
var diff = count = Math.floor((then.getTime() - now.getTime()) / 1000);
// catch bad date strings
if (isNaN(diff)) {
timers[i].firstChild.nodeValue = '** ' + timers[i].eventdate + ' **';
return;
}
// determine plus/minus
if (diff < 0) {
diff = -diff;
var tpm = ' ';
} else {
var tpm = ' ';
}
// calcuate the diff
var left = (diff % 60) + ' seconds';
diff = Math.floor(diff / 60);
if (diff > 0) left = (diff % 60) + ' minutes ' + left;
diff = Math.floor(diff / 60);
if (diff > 0) left = (diff % 24) + ' hours ' + left;
diff = Math.floor(diff / 24);
if (diff > 0) left = diff + ' days ' + left;
timers[i].firstChild.nodeValue = tpm + left;
// a setInterval() is more efficient, but calling setTimeout()
// makes errors break the script rather than infinitely recurse
timeouts[i] = setTimeout('updatetimer(' + i + ')', 1000);
}
function checktimers() {
//hide 'nocountdown' and show 'countdown'
var nocountdowns = getElementsByClassName(document, 'span', 'nocountdown');
for (var i in nocountdowns) nocountdowns[i].style.display = 'none';
var countdowns = getElementsByClassName(document, 'span', 'countdown');
for (var i in countdowns) countdowns[i].style.display = 'inline';
//set up global objects timers and timeouts.
timers = getElementsByClassName(document, 'span', 'countdowndate'); //global
timeouts = new Array(); // generic holder for the timeouts, global
if (timers.length === 0) return;
for (var i in timers) {
timers[i].eventdate = new Date(timers[i].firstChild.nodeValue);
updatetimer(i); //start it up
}
}
$(checktimers);
// **************************************************
// - end - Experimental javascript countdown timer
// **************************************************
/*Clearsandbox*/
var content = window.clearSandboxContent || '{{sandbox}}';
var summary = window.clearSandboxSummary || 'Cleanup';
if ( wgPageName.indexOf("/sandbox") >= 0 || wgPageName.indexOf("/Sandbox") >= 0 ) {
$('.page-header__contribution-buttons .wds-list').append('<li><a id="clear-sandbox">Clear sandbox</a></li>');
}
$('#clear-sandbox').click(function(){
$.post(mw.util.wikiScript( 'api' ), {
format: 'json',
action: 'edit',
title: wgPageName,
text: content,
minor: false,
bot: true,
summary: summary,
token: mw.user.tokens.get("editToken")
}, function( data ) {
if (!data.error) {
console.log('Sandbox cleaned successfully.');
location.reload(true);
} else {
alert('Cannot into cleanings!\n' + data.error.info);
console.log('Failed:' + data.error.info);
}
});
});