User:MPGuy2824/MoveToDraft.js

/****************************************************************************** MoveToDraft - Version 2.5.8 - A script to move unsourced articles to draft space, including cleanup and author notification. - Moves page to draftspace - Checks if any files used are non-free - Checks if any redirects pointed to the page - Comments out non-free files, turn categories into links, add afc draft template, add redirects - Adds notification message on author talk page - Updates talk page banners - Logs draftification in user subpage

derived from https://en.wikipedia.org/wiki/User:Evad37/MoveToDraft.js /* jshint laxbreak: true, undef: true, maxerr:999 */ /* globals console, window, document, $, mw */ //

// Script info var mtd = { config: { script: { // For window header location: "User:MPGuy2824/MoveToDraft", version: "2.5.8" }	} },	API;

$.when(	// Resource loader modules	mw.loader.using( [ 'mediawiki.util', 'mediawiki.api', 'mediawiki.Title' ] ),	// Page ready	$.ready ).then( function { /* ========== Config ======================================================= */	// MediaWiki configuration values mtd.config.mw = mw.config.get( [ "wgArticleId", "wgCurRevisionId", "wgPageName", "wgUserGroups", "wgUserName", "wgMonthNames", "wgNamespaceNumber", "wgTitle", "wgArticlePath", "wgIsMainPage", "wgIsRedirect" ] );

/* ========== API ========================================================== */ API = new mw.Api( {	ajax: {		headers: { 			"Api-User-Agent": "MoveToDraft/" + mtd.config.script.version + 				" ( https://en.wikipedia.org/wiki/User:MPGuy2824/MoveToDraft )"		}	} } );

var dynamicallyLoadScript = function( url ) { let loadScript = document.createElement( 'script' ); loadScript.src = url + '?action=raw&ctype=text/javascript'; document.head.appendChild( loadScript ); };

/* ========== Setup ============================================================================= */ // Access draftifications using Special:Draftify_log/USER_NAME var isDraftifyLogPage = mtd.config.mw.wgPageName.indexOf( "Special:Draftify_log" ) === 0; var isUserPage = mtd.config.mw.wgNamespaceNumber === 2 || mtd.config.mw.wgNamespaceNumber === 3; if ( isDraftifyLogPage ) { dynamicallyLoadScript(		mtd.config.mw.wgArticlePath.replace( '$1', 'User:MPGuy2824/MoveToDraft/draftifyLog.js' )	); return; } else if ( isUserPage ) { var user = mtd.config.mw.wgTitle.split( '/' )[ 0 ]; var url = mw.util.getUrl( "Special:Draftify_log/" + user ); mw.util.addPortletLink( ( window.m2d_portlet || 'p-cactions' ), url, 'Draftify log', 'ca-m2dlog', null, null, "#ca-move" ); return; }

// Only operate in article namespace if( mtd.config.mw.wgNamespaceNumber !== 0 ) { return; }

// Don't draftify MainPage if( mtd.config.mw.wgIsMainPage === true ) { return; }

// Only operate for existing pages if ( mtd.config.mw.wgCurRevisionId === 0 ) { return; }

// Only for articles if ( mtd.config.mw.wgIsRedirect === true ) { return; }

dynamicallyLoadScript(	mtd.config.mw.wgArticlePath.replace( '$1', 'User:MPGuy2824/MoveToDraft/core.js' ) );

}); //