Jump to content

User:BrownHairedGirl/Draft no cat.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by BrownHairedGirl (talk | contribs) at 16:09, 14 February 2019 (tweak). 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.
// Install with:
// <code><nowiki>		{{subst:Iusc|User:BrownHairedGirl/Draft no cat.js}}																</nowiki></code>
// or with
// <code><nowiki>		importScript( 'User:BrownHairedGirl/Draft no cat.js' ); // Backlink: [[User:BrownHairedGirl/Draft no cat.js]]			</nowiki></code> 
//
// Forked form [[User:DannyS712/Draft no cat.js]] to add a more detailed edit summary

var DNC_config = {
	name: '[[User:DannyS712/Draft no cat|Draft no cat]]',
	version: 1.2,
	debug: true
};


var DNC_advert = '(Using '  + DNC_config.name + " v " + DNC_config.version + ")." + 'Please disable the categories on this page while it is still a draft, per [[WP:DRAFTNOCAT]]/[[WP:USERNOCAT]].  The easiest way to do this is by converting them to links, by adding a colon: "[[Category:" → "[[:Category:"';

if ( mw.config.get( 'wgNamespaceNumber' ) === 2 || mw.config.get( 'wgNamespaceNumber' ) === 118) {
    mw.loader.using( 'mediawiki.util', function () {
    $(document).ready( function () { 
        var link = mw.util.addPortletLink( 'p-cactions', '#', 'DNC', 'ca-dnc', 'Draft no cats'); 
        $( link ).click( function ( event ) {
            event.preventDefault();
            draft_no_cat();
        } );
    } );
} );
}
function draft_no_cat(){
	var send_req = {
	    action: 'query',
	    titles: mw.config.get( 'wgPageName' ),
	    prop: 'revisions',
	    intoken: 'edit',
	    rvprop: 'content',
	    indexpageids: 1,
	    dataType: 'xml',
	    format: 'xml'
	};
	$.get( mw.config.get( 'wgScriptPath' ) + '/api.php', send_req, function( response ) {
	    var text = $( response ).find( 'rev' ).text();
	    text = text
	        .replace( /\[\[Category/gi, '\[\[:Category' ); // Replace categorization with links
	    var submit = {
	        action: 'edit',
	        pageid: mw.config.get( 'wgArticleId' ),
	        text: text,
	        summary: DNC_advert,
	        minor: true,
	        token: mw.user.tokens.get( 'editToken' )
	    };
	    $.when(
	        $.post( mw.config.get( 'wgScriptPath' ) + '/api.php', submit, function( response ){ } )
	    ).done( function() {
	    	location.reload();
	    } );
	} );
}