Jump to content

User:Equazcion/LagToMinutesBeta.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// Debug mode: Set testSecs to desired test lag seconds. Should be a string in quotes with comma separator(s).
if (typeof testSecs == 'undefined') var testSecs = "621,139";

// Insert fake lag notice with test seconds value
if (wgPageName == 'Special:Watchlist') $('#contentSub').after('<div class="mw-lag-warn-high"><p>Due to high database server lag, changes newer than ' + 
	testSecs + ' seconds may not appear in this list.</p></div>');

// Script begins here
if ((wgPageName == 'Special:Watchlist') && ($('.mw-lag-warn-high').length > 0)) {
	
	var lagText = $('.mw-lag-warn-high p').html();
	var lagSecs = lagText.replace(/,/g , '').match(/\d+/g);
	
	if (lagSecs >= 60){
		
		var lagMin=0, lagHours=0, lagDays=0;
		
		lagMin = Math.floor(lagSecs / 60);
		lagSecs = lagSecs % 60;
		var lagCount = lagMin + " minutes, " + lagSecs + " seconds";
		
		if (lagMin >= 60){
			lagHours = Math.floor(lagMin / 60);
			lagMin = lagMin % 60;
			lagCount = lagHours + " hours, " + lagMin + " minutes, " + lagSecs + " seconds";
		
			if (lagHours >= 24){
				lagDays = Math.floor(lagHours / 24);
				lagHours = lagHours % 24;
				lagCount = lagDays + " days, " + lagHours + " hours, " + lagMin + " minutes, " + lagSecs + " seconds";
			}	
		}
		
		if (lagMin == 1) lagCount = lagCount.replace('minutes','minute');
		if (lagHours == 1) lagCount = lagCount.replace('hours','hour');
		if (lagDays == 1) lagCount = lagCount.replace('days','day');
		
		var newText = lagText.replace("seconds", "seconds (" + lagCount + ")");
		$('.mw-lag-warn-high p').html(newText);
		
	}
}