Year of the Dragon: Through May 28th, claim free Expansion Pack (excluding Vecna Unleashed) or a Greater Elixir of Discovery! Speak to Xatheral in the Hall of Heroes. edit

Thank you for your patience while we continue to upgrade DDOwiki to the latest MediaWiki LTS version. If you find any errors on the site, please visit the Discord chat server and let us know.

Game mechanicsNewbie guideIn developmentDDO StoreSocial Media


ChallengesClassesCollectablesCraftingEnhancementsEpic DestiniesFavorFeats

GlossaryItemsMapsMonstersPlacesQuestsRacesReincarnationSkillsSpells


Please create an account or log in to remove ads, build a reputation, and unlock more editing privileges and then visit DDO wiki's IRC Chat/Discord if you need any help!

MediaWiki:Gadget-DeOrphaner.js

From DDO wiki
Jump to navigation Jump to search

Note: After saving, you may have to bypass your browser's cache to see the changes, you can click here or try one of the methods below..

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl+F5 or Ctrl+r ( Command+r on a Mac)
  • Google Chrome: Press Ctrl+ Shift+R ( Command+ Shift+R on a Mac)
  • Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl+F5
  • Konqueror: Click Reload or press F5
  • Opera: Clear the cache in Tools ‣ Preferences
//<nowiki>
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( $( '.loadingAnimation' ).html() + '<br />Article deOrphaning in progress...' );
    ( new mw.Api ).get( {
      action: 'query',
      titles: mw.config.get( 'wgPageName' ),
      prop: 'revisions',
      rvprop: 'content',
      indexpageids: 1,
      format: 'json'
    } ).done( function( getResponse ) {
      var qryResponse = getResponse.query.pages[ getResponse.query.pageids[ 0 ] ];
      var deOrphanerContent = qryResponse.revisions[ 0 ][ "*" ];
      var oldMIparameter = false;
      if ( deOrphanerContent.search( /\| *Orphan *=[\d\w\s\n]*(.*?\}\})/gi ) != -1 ) {
        oldMIparameter = true;
      }
      deOrphanerContent = deOrphanerContent
        .replace( /\{\{Orphan(.*?)\}\}[\|\r\n]+/gi, '' )// Parse out {{Orphan}} (not) in multiple issues
        .replace( /\| *Orphan *=[\d\w\s\n]*(.*?\}\})/gi, '$1' );// Parse out old style multiple issues orphan parameter
      ( new mw.Api ).postWithToken( 'edit', {
        action: 'edit',
        pageid: mw.config.get( 'wgArticleId' ),
        text: deOrphanerContent,
        summary: 'Article [[MediaWiki:Gadget-DeOrphaner|deOrphaned]]!'
      } ).done( function( editResponse ) {
console.log( '%o', editResponse );// Make sure responses are sent to the console until I figure out what errors can occur.
        var deOrphanedText = $( '.loadingAnimation' ).html() + '<br />Article deOrphaned! <small>( ';
        if ( oldMIparameter ) {
         deOrphanedText += '<b style="font-variant: small-caps;">Load</b> ';
        }
        else {
         deOrphanedText += '<a href="#reLoad" onClick="location.reload();" style="font-weight: bold;">reload</a> | ';
        }
        deOrphanedText += '<a href="https://ddowiki.com/index.php?title=' + encodeURIComponent( mw.config.get( 'wgTitle' ) ) + '&diff=cur&oldid=prev" style="font-weight: bold;">diff</a> )</small>';
        $( '.loadingAnimation' ).html( deOrphanedText );
      } );
    } );
  }
  
  $( '#Mbox-Orphan' ).css( 'display', 'none' );
  $( '#Mbox-Orphan' ).prev( 'p' ).css( 'display', 'none' );
  $( '#Mbox-Orphan' ).next( 'p' ).css( 'display', 'none' );
  $( '#firstHeading' ).append( '<br /><span class="loadingAnimation" style="font-size: medium !important; color: #000000 !important; font-family: sans-serif !important;">•   •&nbsp;&nbsp;•&nbsp;&nbsp;</span> ' );
  var loadingAnimation = window.setInterval( function() { (
    $( '.loadingAnimation' ).html() == "•   •&nbsp;&nbsp;•&nbsp;&nbsp;" ?
      $( '.loadingAnimation' ).html( '&nbsp;•   •&nbsp;&nbsp;•&nbsp;' ) : (
      $( '.loadingAnimation' ).html() == "&nbsp;•   •&nbsp;&nbsp;•&nbsp;" ?
        $( '.loadingAnimation' ).html( '&nbsp;&nbsp;•   •&nbsp;&nbsp;•' ) : (
        $( '.loadingAnimation' ).html() == "&nbsp;&nbsp;•   •&nbsp;&nbsp;•" ?
          $( '.loadingAnimation' ).html( '&nbsp;•&nbsp;&nbsp;•   •&nbsp; ' ) :
          $( '.loadingAnimation' ).html( '•   •&nbsp;&nbsp;•&nbsp;&nbsp;' )
      )
    )
  ) }, 250);
  ( new mw.Api ).get( {
    action: 'query',
    list: 'backlinks',
    format: 'json',
    blfilterredir: 'nonredirects',
    bllimit: 500,
    blnamespace: 0,
    bltitle: mw.config.get( 'wgTitle' )
  } ).done( function( responseBacklinks ) {
    var backLinks = responseBacklinks.query.backlinks.length;
    switch ( backLinks ) {
      case 0:
        var blStatement = 'This page is an <a href="http://enwp.org/WP:Orphan" style="font-weight: bold;">orphan</a> as no <a href="https://ddowiki.com/index.php?title=Special:WhatLinksHere/' + encodeURIComponent( mw.config.get( 'wgTitle' ) ) + '&namespace=0&hideredirs=1&hidetrans=1" style="font-weight: bold;">other articles</a> link to it.';
        break;
      case 1:
        var blStatement = 'There is <b>a link to this page</b> from an <a href="https://ddowiki.com/index.php?title=Special:WhatLinksHere/' + encodeURIComponent( mw.config.get( 'wgTitle' ) ) + '&namespace=0&hideredirs=1&hidetrans=1" style="font-weight: bold;">other article</a>. <small>(<a href="#deOrphan" onClick="deOrphan(' + backLinks + ');" style="font-weight: bold;">deOrphan</a>)</small>';
        break;
      case 2:
        var blStatement = 'There are <b>two links to this page</b> from <a href="https://ddowiki.com/index.php?title=Special:WhatLinksHere/' + encodeURIComponent( mw.config.get( 'wgTitle' ) ) + '&namespace=0&hideredirs=1&hidetrans=1" style="font-weight: bold;">other articles</a>. <small>(<a href="#deOrphan" onClick="deOrphan(' + backLinks + ');" style="font-weight: bold;">deOrphan</a>)</small>';
        break;
      default:
        var blStatement = 'This page is not an <a href="http://enwp.org/WP:Orphan" style="font-weight: bold;">orphan</a> as it meets the "Rule of Three" by having three or more links from <a href="https://ddowiki.com/index.php?title=Special:WhatLinksHere/' + encodeURIComponent( mw.config.get( 'wgTitle' ) ) + '&namespace=0&hideredirs=1&hidetrans=1" style="font-weight: bold;">other articles</a>. <small>(<a href="#deOrphan" onClick="deOrphan(' + backLinks + ');" style="font-weight: bold;">deOrphan</a>)</small>';
//            setTimeout( function() { deOrphan( backLinks ); }, 2500 );
        break;
    }
    clearInterval( loadingAnimation );
    $( '.loadingAnimation' ).html( blStatement );
  } );
}
// </nowiki> [[C:Gadgets]]