Jump to content

User:Novem Linguae/Scripts/DetectG4G5.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Novem Linguae (talk | contribs) at 07:17, 15 December 2021 (create). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
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.
// <nowiki>

/*
- Displays an alert if an article may be a CSD G4 (previous AFD) or CSD G5 (created by a sockpuppet)
- Useful for new page patrolling
- Only runs on pages that have not been marked as reviewed
*/

$(async function() {
	/** returns the pagename, including the namespace name, but with spaces replaced by underscores */
	function getArticleName() {
		return mw.config.get('wgPageName');
	}

	function displayWarning(html) {
		$('#contentSub').before(`<div class="DetectG4G5" style="background-color: red">${html}</div>`);
	}

	async function isReviewed(title) {
		return false;
	}

	async function afdExists(title) {
		return true;
	}

	async function isBlocked(username) {
		return true;
	}

	async function isGloballyLocked(username) {
		return true;
	}

	async function getPageCreator(title) {
		return '';
	}
	
	// don't run when not viewing articles
	let action = mw.config.get('wgAction');
	if ( action != 'view' ) return;
	
	// don't run when viewing diffs
	let isDiff = mw.config.get('wgDiffNewId');
	if ( isDiff ) return;
	
	let isDeletedPage = ( ! mw.config.get('wgCurRevisionId') );
	if ( isDeletedPage ) return;
	
	// Only run in mainspace
	let namespace = mw.config.get('wgNamespaceNumber');
	let title = getArticleName();
	if ( namespace !== 0 && title != 'User:Novem_Linguae/sandbox' ) return;
	
	if ( isReviewed(title) ) return;

	if ( afdExists(title) ) {
		displayWarning('<span style="font-weight:bold">CSD G4:</span> There is an AFD page for this article. It may qualify for CSD G4.');
	}

	let pageCreator = getPageCreator(title);
	if ( isBlocked(pageCreator) || isGloballyLocked(pageCreator) ) {
		displayWarning('<span style="font-weight:bold">CSD G5:</span> The creator of this page is blocked or globally locked. This article may qualify for CSD G5.');
	}
});

// </nowiki>