Notices
Jiggywikki has moved off Banjo-Kazooie FANDOM. The articles, images, and categories are still being reworked for Jiggywikki.
Additionally, many of the articles have previously contained speculative or inaccurate information, both of which are not tolerated on a factual wiki. If anyone is caught adding this type of information, it will immediately be removed. Do not take artwork from DK Vine, because they were edited with Photoshop.

Unconfirmed yet considerable facts can be added, but only if explicitly mentioned as a possibility backed by evidence, such as reliable sources. For example, Rare Scribes, official Twitter accounts, or even video interviews are trustworthy because they qualify as primary sources.

Difference between revisions of "MediaWiki:Gadget-RecentChangesRefresh.js"

From Jiggywikki, a wiki on the Banjo-Kazooie series
Jump to navigationJump to search
(mariowiki/wowwiki)
 
m (1 revision imported)
 
(No difference)

Latest revision as of 17:06, 21 March 2020

// Auto-refresh recent changes
// Code courtesy of pcj of WoWWiki

var rcRefresh = 30000;
var ajaxRCOverride = false;
var ajaxPages = new Array('Special:RecentChanges');

function setCookie(c_name, value, expiredays) {
	var exdate = new Date();
	exdate.setDate(exdate.getDate() + expiredays);
	document.cookie = c_name + '=' + escape(value) + ((expiredays == null) ? '' : ';expires=' + exdate.toGMTString());
}

function getCookie(c_name) {
	if (document.cookie.length > 0) {
		c_start = document.cookie.indexOf(c_name + '=');
		if (c_start != -1) {
			c_start = c_start + c_name.length + 1;
			c_end = document.cookie.indexOf(';', c_start);
			if (c_end == -1) c_end = document.cookie.length;
			return unescape(document.cookie.substring(c_start, c_end));
		}
	}
	return '';
}

function ajaxRC() {
	$(appTo).append('&nbsp;<span style="position:absolute; margin-left:10px;"><span style="font-size:xx-small; cursor:help;" title="Automatically refresh the current page every ' + Math.floor(rcRefresh / 1000) + ' seconds">AUTO-REFRESH:</span><input type="checkbox" id="autoRefreshToggle"><span style="position:relative; left:5px;" id="autoRefreshProgress"><img src="/images/loader.gif" border="0" alt="AJAX operation in progress" /></span></span>');
	$('#autoRefreshToggle').click(function () {
		setCookie('ajaxRC', $('#autoRefreshToggle').prop('checked') ? 'on' : 'off', 365);
		loadRCData();
	});
	$('#autoRefreshProgress').hide();
	if (getCookie('ajaxRC') == 'on' || ajaxRCOverride) {
		$('#autoRefreshToggle').prop('checked', true);
		setTimeout(loadRCData, rcRefresh);
	}
}

function loadRCData() {
	if (!$('#autoRefreshToggle').prop('checked')) return;
	$('#autoRefreshProgress').show();
	$(article).load(location.href + ' ' + article + ' > *', function (data) {
		$(article + ' .mw-collapsible').makeCollapsible();
		$('#autoRefreshProgress').hide();
		if ($('#autoRefreshToggle').prop('checked')) setTimeout(loadRCData, rcRefresh);
	});
}

$(function() {
	if (!document.getElementsByClassName('mw-rcfilters-enabled')[0]) {
		article = '#bodyContent';
		appTo = '.firstHeading';
		for (x in ajaxPages) {
			if (mw.config.get('wgPageName') == ajaxPages[x] && $('#autoRefreshToggle').length == 0) ajaxRC();
		}
	}
});