Advertisement
Joeytje50

Untitled

Oct 8th, 2012
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $(function() {
  2.     "use strict";
  3.  
  4.     // Don't load twice...
  5.     if ( typeof window.wkAjaxFastDelete !== 'undefined' ) {
  6.         return false;
  7.     }
  8.  
  9.     window.wkAjaxFastDelete = {
  10.         version: '2.1',
  11.  
  12.         init: function() {
  13.  
  14.             if ( wgNamespaceNumber === -1 || !window.fdButtons ) {
  15.                 return;
  16.             }
  17.             var deleteButtons = '';
  18.             switch( skin ) {
  19.                 case 'awesome': /* you really shouldnt even have this value... */
  20.                 case 'monaco_old': /* really, where are you getting these skin settings from... */
  21.                 case 'monaco':
  22.                     if( !$( '#ca-delete' ).length ) {
  23.                         return;
  24.                     }
  25.                     for( var i = 0; i < fdButtons.length; i++ ) {
  26.                         deleteButtons += '<li><img src="http://images1.wikia.nocookie.net/common/skins/common/blank.gif" class="sprite delete fastdelete" /><a style="cursor: pointer;" rel="nofollow" title="Ajax delete/protect: ' + fdButtons[i].summary + '" data-summary="' + fdButtons[i].summary + '" data-id="fastdelete">'+ fdButtons[i].label + '</a></li>';
  27.                     }
  28.                     $( '#page_controls' ).append( deleteButtons );
  29.                     break;
  30.  
  31.                 case 'uncyclopedia':
  32.                 case 'wowwiki':
  33.                 case 'lostbook':
  34.                 case 'monobook':
  35.                     if( !$( '#ca-delete' ).length ) {
  36.                         return;
  37.                     }
  38.                     for( var i = 0; i < fdButtons.length; i++ ) {
  39.                         deleteButtons += '<li><a style="cursor: pointer;" title="Ajax delete/protect: ' + fdButtons[i].summary + '" data-summary="' + fdButtons[i].summary + '" data-id="fastdelete">' + fdButtons[i].label + '</a></li>';
  40.                     }
  41.                     $( '#p-cactions > .pBody > ul' ).append( deleteButtons );
  42.                     break;
  43.  
  44.                 case 'oasis':
  45.                 case 'wikia':
  46.                     if( !$( 'a[data-id="delete"]' ).length ) {
  47.                         return;
  48.                     }
  49.                     for( var i = 0; i < fdButtons.length; i++ ) {
  50.                         deleteButtons += '<a class="wikia-button" title="one-click delete: ' + fdButtons[i].summary + '" data-summary="' + fdButtons[i].summary + '" data-id="fastdelete">' + fdButtons[i].label + '</a>&nbsp;';
  51.                     }
  52.                     switch( wgNamespaceNumber ) {
  53.                         case 1:
  54.                         case 5:
  55.                         case 7:
  56.                         case 9:
  57.                         case 11:
  58.                         case 13:
  59.                         case 14:
  60.                         case 15:
  61.                         case 111:
  62.                         case 401:
  63.                             $( 'header.WikiaPageHeader > h2' ).before( deleteButtons );
  64.                             break;
  65.                         case 2:
  66.                         case 3:
  67.                             if( $( '#UserProfileMasthead' ).length ) {
  68.                                 $( 'div.UserProfileActionButton' ).append( deleteButtons );
  69.                             } else {
  70.                                 $( 'div.WikiaUserPagesHeader > ul.wikia-avatar' ).after( deleteButtons );
  71.                             }
  72.                             break;
  73.                         case 500:
  74.                         case 502:
  75.                             $( 'div.WikiaUserPagesHeader > h1' ).after( deleteButtons );
  76.                             break;
  77.                         default:
  78.                             $( 'header.WikiaPageHeader' ).append( deleteButtons );
  79.                             break;
  80.                     }
  81.                     break;
  82.             }
  83.             if( $( 'a[data-id="fastdelete"]' ).length ) {
  84.                 $( 'a[data-id="fastdelete"]' ).click( function () {
  85.                     wkAjaxFastDelete.ajaxDeleteAPage( $( this ).attr( 'data-summary' ) );
  86.                 } );
  87.             }
  88.         },
  89.  
  90.         ajaxDeleteProtect: function ( deleteReason ) {
  91.             var url =  wgServer + wgScriptPath + '/api.php?action=query&prop=info&intoken=delete|protect&titles=' + encodeURIComponent( wgPageName ) + '&format=json';
  92.             $.getJSON( url, function( data ) {
  93.                 var deleteToken = data.query.pages[wgArticleId].deletetoken,
  94.                     protectToken = data.query.pages[wgArticleId].protecttoken
  95.                     url1 = wgServer + wgScriptPath + '/api.php?title=' + encodeURIComponent( wgPageName ) + '&reason=' + encodeURIComponent( deleteReason ) + '&format=json',
  96.                     url2 = url1 + '&action=protect&create=sysop&token=' + encodeURIComponent( protectToken );
  97.                     url1 += '&action=delete&token=' + encodeURIComponent( deleteToken );
  98.                 $.post( url1, function() {
  99.                     $.post( url2, function() {
  100.                         document.location.reload();
  101.                     });
  102.                 });
  103.             });
  104.         },
  105.     };
  106.  
  107.     $(document).ready( wkAjaxFastDelete.init );
  108.  
  109. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement