User:Nigos/scripts/RandomRootpage.js

This is an old revision of this page, as edited by Nigos (talk | contribs) at 05:40, 15 February 2018 (Making it work). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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.
var nonconfirmededits={
	// Edit these to your liking.
	// Make sure there's a comma at the end of each line.
	recentnoncomfirmedPage:         'User:Anchorvale/Recent_Non_Confirmed_Edits',
	linkify:              true,
	updateSeconds:        20,
	// FIXME: Use <ul> and add a border to each <li>'s
	outputSeparator:      '<hr>',
	apiAulimitUser:        500,
	apiAulimitSysop:       5000,
	backgroundWindowsMax:  10,
	// leave this last one alone
	dummy: null
};
window.addMarvin=function() {
	mw.util.addPortletLink( 'p-tb', mw.util.getUrl( nonconfirmededits.recentnonconfirmedPage ),
		mw.msg( 'avt-ip-rc' ), 'toolbox_Non_confirmed_edits');
};

window.maybeStart=function() {
	switch (mw.config.get('wgPageName')) {
	case nonconfirmededits.recentIPPage:
		nonconfirmededits.filter_anonsOnly=true;
		return;
	}
	setTimeout(marvin, 1000);
	window.processRecentChangesSingle=function(){
	NonConfirmedEdits.itemsCurrent--;
	var i = NonConfirmedEdits.itemsCurrent;
	var items = NonConfirmedEdits.items;
	if (i < 0) { processRecentChangesDisplay(NonConfirmedEdits.bundleRef); return; }

	var timestamp = Date.parse(getFirstTagContent(items[i],'pubDate'));
	if (timestamp <= processRecentChanges.lastDate) { nextChangeSoon(true); return; }
	NonConfirmedEdits.latest = (timestamp > NonConfirmedEdits.latest) ? timestamp : NonConfirmedEdits.latest;

	var diffText=getFirstTagContent(items[i],'description').split('</tr>').join('</tr>\n');
	var editSummary=diffText.replace( /^<p>(.*?)<\/p>[\s\S]*/, '$1');
	var editor=getFirstTagContent(items[i], 'creator') || getFirstTagContent(items[i], 'dc:creator');

	if (NonConfirmedEdits.ignore_my_edits && mw.config.get('wgUserName')==editor) { return; }

	var article;
	var articleTitle;
	// NB article is the link attribute - a fully qualified URL
	// strip out the &diff=...&oldid=...  bit to leave only ?title=...
	article=getFirstTagContent(items[i], 'link').split('&')[0];
	if (NonConfirmedEdits.delayedLines[article] && NonConfirmedEdits.delayedLines[article].editor != editor) {
		delete NonConfirmedEdits.delayedLines[article];
	}

	if (NonConfirmedEdits.filter_anonsOnly && !mw.util.isRegistered(editor)) {
		nextChangeSoon(true);
		return;
	}
};
window.processRecentChangesSingle=function(){
	NonConfirmedEdits.itemsCurrent--;
	var i = NonConfirmedEdits.itemsCurrent;
	var items = NonConfirmedEdits.items;
	if (i < 0) { processRecentChangesDisplay(NonConfirmedEdits.bundleRef); return; }

	var timestamp = Date.parse(getFirstTagContent(items[i],'pubDate'));
	if (timestamp <= processRecentChanges.lastDate) { nextChangeSoon(true); return; }
	NonConfirmedEdits.latest = (timestamp > NonConfirmedEdits.latest) ? timestamp : NonConfirmedEdits.latest;

	var diffText=getFirstTagContent(items[i],'description').split('</tr>').join('</tr>\n');
	var editSummary=diffText.replace( /^<p>(.*?)<\/p>[\s\S]*/, '$1');
	var editor=getFirstTagContent(items[i], 'creator') || getFirstTagContent(items[i], 'dc:creator');

	if (NonConfirmedEdits.ignore_my_edits && mw.config.get('wgUserName')==editor) { return; }

	var article;
	var articleTitle;
	// NB article is the link attribute - a fully qualified URL
	// strip out the &diff=...&oldid=...  bit to leave only ?title=...
	article=getFirstTagContent(items[i], 'link').split('&')[0];
	if (NonConfirmedEdits.delayedLines[article] && NonConfirmedEdits.delayedLines[article].editor != editor) {
		delete NonConfirmedEdits.delayedLines[article];
	}

	if (NonConfirmedEdits.filter_anonsOnly && !mw.util.isIPAddress(editor)) {
		nextChangeSoon(true);
		return;
	}
};
};
/* [[Category:Wikipedia scripts]]
*/