View difference between Paste ID: XhWFx7EN and TXc7m44M
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>&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' ) );
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
});