MediaWiki:Gadget-RecentChangesRefresh.js

// Auto-refresh recent changes // Code courtesy of pcj of WoWWiki // Modified to support the Nimbus skin

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(' AUTO-REFRESH:   '); $('#autoRefreshToggle').click(function {		setCookie('ajaxRC', $('#autoRefreshToggle').prop('checked') ? 'on' : 'off', 999);		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]) {		if (mw.config.get('skin') == 'nimbus') {			article = '#mw-content-text';			appTo = '.pagetitle';		} else {			article = '#bodyContent';			appTo = '.firstHeading';		}		for (var x in ajaxPages) {			if (mw.config.get('wgPageName') == ajaxPages[x] && $('#autoRefreshToggle').length === 0) ajaxRC;		}	} });