SHOW:
|
|
- or go back to the newest paste.
| 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> '; | |
| 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' ) ); |
| 85 | + | wkAjaxFastDelete.ajaxDeleteProtect( $( 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 | }); |