User:Technical 13/Scripts/imageTagger.js

// ( function ( mw, $ ) {	function processResult( doAction ) {		mw.notify( 'Processing request to tag with "' + doAction + '".', { title: 'Processing...', autoHide: false } );		var pageid = mw.config.get( 'wgArticleId' );		new mw.Api.get( { action: 'query', pageids: pageid, prop: 'revisions', rvprop: 'content', indexpageids: 1, continue: '' } ).done( function( pageContents ) { mw.notify( 'Got page contents...', { title: 'Processing...', autoHide: false } ); var txt = pageContents.query.pages[ pageid ].revisions[ 0 ][ '*' ]; var summary = ''; if ( !txt ) return; switch ( doAction ) { case 'nfr' : txt = '\n\n' + txt; summary += 'Tagging image - non free reduce - for image reduction as per non-free guideline Image resolution'; break; case 'ncd' : txt.replace( /\{\{[\s\t\n\r]*([mc]t?w?c|needs[ -_]commons[ -_]category|((copy|move)[ -_]?)?to[ -_]?(wikimedia[ -_])?commons)[\s\t\n\r]*\}\}/ig, '' ); txt = '\n\n' + txt; summary += 'Tagging image as on already on commons '; break; case 'mtc' : txt = '\n\n' + txt; summary += 'Tagging image to be Copied to Wikimedia Commons '; break; case 'pdc' : if ( txt.match( 'Category:PD chem' ) !== null ) return; txt = txt + '\n\n'; summary += 'Tagging image to be in Category:PD chem'; break; case 'ccs' : if ( txt.match( 'Category:Classified Chemical Structures' ) !== null ) return; txt = txt + '\n\n'; summary += 'Tagging image to be in Category:Classified Chemical Structures'; break; case 'struct' : if ( txt.match( 'Category:Chemical structures' ) !== null ) return; txt = txt + '\n\n'; summary += 'Tagging image to be in Category:Chemical structures'; break; default : mw.notify( 'There was an error processing your request.\n\n\t\t\t\t\tPlease try again.', { title: 'Error!', autoHide: false } ); return; }			mw.notify( 'Posting new page contents...', { title: 'Processing...', autoHide: false } ); new mw.Api.postWithToken( 'edit', {				action: 'edit',				pageid: pageid,				text: txt,				summary: summary			} ).done( function( endResult ) {				mw.notify( '"' + doAction + '" was posted. Reloading page.', { title: 'Done!', autoHide: false } );				location.reload;			} ); } );	}

if ( mw.config.get( 'wgNamespaceNumber' ) === 6 ) { var doNfr = mw.util.addPortletLink( 'p-cactions', '#', 'nfr', 'ca-nfr' ); $( doNfr ).click( function ( e ) {			e.preventDefault;			processResult( 'nfr' );		} ); var doMtc = mw.util.addPortletLink( 'p-cactions', '#', 'mtc', 'ca-mtc' ); $( doMtc ).click( function ( e ) {			e.preventDefault;			processResult( 'mtc' );		} ); var doNcd = mw.util.addPortletLink( 'p-cactions', '#', 'ncd', 'ca-ncd' ); $( doNcd ).click( function ( e ) {			e.preventDefault;			processResult( 'ncd' );		} ); var doPdc = mw.util.addPortletLink( 'p-cactions', '#', 'pdc', 'ca-pdc' ); $( doPdc ).click( function ( e ) {			e.preventDefault;			processResult( 'pdc' );		} ); var doCcs = mw.util.addPortletLink( 'p-cactions', '#', 'ccs', 'ca-ccs' ); $( doCcs ).click( function ( e ) {			e.preventDefault;			processResult( 'ccs' );		} ); var doStruct = mw.util.addPortletLink( 'p-cactions', '#', 'struct', 'ca-struct' ); $( doStruct ).click( function ( e ) {			e.preventDefault;			processResult( 'struct' );		} ); } } ( mediaWiki, jQuery ) ); //