User:Technical 13/Scripts/OrphanStatus.js

if ( mw.config.get( 'wgNamespaceNumber' ) === 0 && mw.config.get( 'wgAction' ) === 'view' &&

$.inArray( 'All orphaned articles', mw.config.get( 'wgCategories' ) ) >= 0 ) {

function deOrphan( backLinks ){

$( '.loadinganimation' ).html( 'Article deOrphaning in progress...' );

var deOrphanerRequest = {

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', deOrphanerRequest, function( deOrphanerResponse ) {

var deOrphanerContent = $( deOrphanerResponse ).find( 'rev' ).text();

var oldMIparameter = false;

if ( deOrphanerContent.search( /\| *Orphan *=[\d\w\s\n]*(.*?\}\})/gi ) != -1 ) { oldMIparameter = true; }

deOrphanerContent = deOrphanerContent

.replace( /\{\{Orphan(.*?)\}\}[\|\n]/gi, '' )// Parse out orphan template (not) in multiple issues

.replace( /\| *Orphan *=[\d\w\s\n]*(.*?\}\})/gi, '$1' );// Parse out old style multiple issues orphan parameter

var deOrphanerSubmit = {

action: 'edit',

pageid: mw.config.get( 'wgArticleId' ),

text: deOrphanerContent,

summary: 'Article deOrphaned!',

token: mw.user.tokens.get( 'csrfToken' )

};

$.when(

$.post( mw.config.get( 'wgScriptPath' ) + '/api.php', deOrphanerSubmit, function( deOrphanerSesponse ){ } )

).done( function() {

var deOrphanedText = 'Article deOrphaned! ( ';

if( oldMIparameter ){

deOrphanedText += 'Load ';

} else {

deOrphanedText += 'reload | ';

}

deOrphanedText += 'diff )';

$( '.loadinganimation' ).html( deOrphanedText );

} );

} );

}

$( '.ambox-Orphan' ).css( 'display', 'inherit' );

$( '#firstHeading' ).append( '  •   •  •   ' );

var loadingAnimation = window.setInterval( function() { (

$( '.loadinganimation' ).html() == "•   •  •  " ?

$( '.loadinganimation' ).html( ' •   •  • ' ) : (

$( '.loadinganimation' ).html() == " •   •  • " ?

$( '.loadinganimation' ).html( '  •   •  •' ) : (

$( '.loadinganimation' ).html() == "  •   •  •" ?

$( '.loadinganimation' ).html( ' •  •   •  ') :

$( '.loadinganimation' ).html( '•   •  •  ' )

)

)

) }, 250);

var requestBacklinks = {

action: 'query',

list: 'backlinks',

format: 'json',

blfilterredir: 'nonredirects',

bllimit: 500,

blnamespace: 0,

bltitle: mw.config.get( 'wgTitle' )

};

$.get( mw.config.get( 'wgScriptPath' ) + '/api.php' , requestBacklinks, function( responseBacklinks ) {

var backLinks = responseBacklinks.query.backlinks.length;

switch ( backLinks ){

case 0:

var blStatement = 'This page is an orphan as no other articles link to it.';

break;

case 1:

var blStatement = 'There is 1 link to this page from an other article. (deOrphan)';

break;

case 2:

var blStatement = 'There are 2 links to this page from other articles. (deOrphan)';

break;

default:

var blStatement = 'This page is not an orphan as it meets the "Rule of Three" by having three or more links from other articles. (deOrphan)';

// setTimeout( function() { deOrphan( backLinks ); }, 2500 );

break;

}

clearInterval( loadingAnimation );

$( '.loadinganimation' ).html( blStatement );

} );

}