109
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1 |
var autosave, autosaveLast = '', autosavePeriodical, autosaveOldMessage = '', autosaveDelayPreview = false, notSaved = true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
2 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
3 |
jQuery(document).ready( function($) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
4 |
var dotabkey = true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
5 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
6 |
autosaveLast = $('#post #title').val() + $('#post #content').val(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
7 |
autosavePeriodical = $.schedule({time: autosaveL10n.autosaveInterval * 1000, func: function() { autosave(); }, repeat: true, protect: true}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
8 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
9 |
//Disable autosave after the form has been submitted |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
10 |
$("#post").submit(function() { $.cancel(autosavePeriodical); }); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
11 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
12 |
$('.submitbox input[type="submit"], .submitbox a.submitdelete').click(function(){window.onbeforeunload = null;}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
13 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
14 |
window.onbeforeunload = function(){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
15 |
var mce = typeof(tinyMCE) != 'undefined' ? tinyMCE.activeEditor : false, title, content; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
16 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
17 |
if ( mce && !mce.isHidden() ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
18 |
if ( mce.isDirty() ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
19 |
return autosaveL10n.saveAlert; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
20 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
21 |
title = $('#post #title').val(), content = $('#post #content').val(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
22 |
if ( ( title || content ) && title + content != autosaveLast ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
23 |
return autosaveL10n.saveAlert; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
24 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
25 |
}; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
26 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
27 |
// preview |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
28 |
$('#post-preview').click(function(){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
29 |
if ( 1 > $('#post_ID').val() && notSaved ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
30 |
autosaveDelayPreview = true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
31 |
autosave(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
32 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
33 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
34 |
doPreview(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
35 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
36 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
37 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
38 |
doPreview = function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
39 |
$('input#wp-preview').val('dopreview'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
40 |
$('form#post').attr('target', 'wp-preview').submit().attr('target', ''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
41 |
$('input#wp-preview').val(''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
42 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
43 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
44 |
// This code is meant to allow tabbing from Title to Post if tinyMCE is defined. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
45 |
if ( typeof tinyMCE != 'undefined' ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
46 |
$('#title')[$.browser.opera ? 'keypress' : 'keydown'](function (e) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
47 |
if ( e.which == 9 && !e.shiftKey && !e.controlKey && !e.altKey ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
48 |
if ( ($("#post_ID").val() < 1) && ($("#title").val().length > 0) ) { autosave(); } |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
49 |
if ( tinyMCE.activeEditor && ! tinyMCE.activeEditor.isHidden() && dotabkey ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
50 |
e.preventDefault(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
51 |
dotabkey = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
52 |
tinyMCE.activeEditor.focus(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
53 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
54 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
55 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
56 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
57 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
58 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
59 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
60 |
function autosave_parse_response(response) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
61 |
var res = wpAjax.parseAjaxResponse(response, 'autosave'), message = '', postID; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
62 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
63 |
if ( res && res.responses && res.responses.length ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
64 |
message = res.responses[0].data; // The saved message or error. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
65 |
// someone else is editing: disable autosave, set errors |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
66 |
if ( res.responses[0].supplemental ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
67 |
if ( 'disable' == res.responses[0].supplemental['disable_autosave'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
68 |
autosave = function() {}; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
69 |
res = { errors: true }; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
70 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
71 |
jQuery.each(res.responses[0].supplemental, function(selector, value) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
72 |
if ( selector.match(/^replace-/) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
73 |
jQuery('#'+selector.replace('replace-', '')).val(value); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
74 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
75 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
76 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
77 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
78 |
// if no errors: add slug UI |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
79 |
if ( !res.errors ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
80 |
postID = parseInt( res.responses[0].id, 10 ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
81 |
if ( !isNaN(postID) && postID > 0 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
82 |
autosave_update_slug(postID); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
83 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
84 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
85 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
86 |
if ( message ) { jQuery('#autosave').html(message); } // update autosave message |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
87 |
else if ( autosaveOldMessage && res ) { jQuery('#autosave').html( autosaveOldMessage ); } |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
88 |
return res; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
89 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
90 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
91 |
// called when autosaving pre-existing post |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
92 |
function autosave_saved(response) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
93 |
autosave_parse_response(response); // parse the ajax response |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
94 |
autosave_enable_buttons(); // re-enable disabled form buttons |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
95 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
96 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
97 |
// called when autosaving new post |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
98 |
function autosave_saved_new(response) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
99 |
var res = autosave_parse_response(response), tempID, postID; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
100 |
// if no errors: update post_ID from the temporary value, grab new save-nonce for that new ID |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
101 |
if ( res && res.responses.length && !res.errors ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
102 |
tempID = jQuery('#post_ID').val(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
103 |
postID = parseInt( res.responses[0].id, 10 ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
104 |
autosave_update_post_ID( postID ); // disabled form buttons are re-enabled here |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
105 |
if ( tempID < 0 && postID > 0 ) { // update media buttons |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
106 |
notSaved = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
107 |
jQuery('#media-buttons a').each(function(){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
108 |
this.href = this.href.replace(tempID, postID); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
109 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
110 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
111 |
if ( autosaveDelayPreview ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
112 |
autosaveDelayPreview = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
113 |
doPreview(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
114 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
115 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
116 |
autosave_enable_buttons(); // re-enable disabled form buttons |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
117 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
118 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
119 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
120 |
function autosave_update_post_ID( postID ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
121 |
if ( !isNaN(postID) && postID > 0 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
122 |
if ( postID == parseInt(jQuery('#post_ID').val(), 10) ) { return; } // no need to do this more than once |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
123 |
jQuery('#post_ID').attr({name: "post_ID"}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
124 |
jQuery('#post_ID').val(postID); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
125 |
// We need new nonces |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
126 |
jQuery.post(autosaveL10n.requestFile, { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
127 |
action: "autosave-generate-nonces", |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
128 |
post_ID: postID, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
129 |
autosavenonce: jQuery('#autosavenonce').val(), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
130 |
post_type: jQuery('#post_type').val() |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
131 |
}, function(html) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
132 |
jQuery('#_wpnonce').val(html); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
133 |
autosave_enable_buttons(); // re-enable disabled form buttons |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
134 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
135 |
jQuery('#hiddenaction').val('editpost'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
136 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
137 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
138 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
139 |
function autosave_update_slug(post_id) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
140 |
// create slug area only if not already there |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
141 |
if ( jQuery.isFunction(make_slugedit_clickable) && !jQuery('#edit-slug-box > *').size() ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
142 |
jQuery.post( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
143 |
slugL10n.requestFile, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
144 |
{ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
145 |
action: 'sample-permalink', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
146 |
post_id: post_id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
147 |
new_title: jQuery('#title').val(), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
148 |
samplepermalinknonce: jQuery('#samplepermalinknonce').val() |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
149 |
}, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
150 |
function(data) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
151 |
jQuery('#edit-slug-box').html(data); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
152 |
make_slugedit_clickable(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
153 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
154 |
); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
155 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
156 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
157 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
158 |
function autosave_loading() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
159 |
jQuery('#autosave').html(autosaveL10n.savingText); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
160 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
161 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
162 |
function autosave_enable_buttons() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
163 |
jQuery(".submitbox :button:disabled, .submitbox :submit:disabled").attr('disabled', ''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
164 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
165 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
166 |
function autosave_disable_buttons() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
167 |
jQuery(".submitbox :button:enabled, .submitbox :submit:enabled").attr('disabled', 'disabled'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
168 |
// Re-enable 5 sec later. Just gives autosave a head start to avoid collisions. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
169 |
setTimeout(autosave_enable_buttons, 5000); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
170 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
171 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
172 |
autosave = function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
173 |
// (bool) is rich editor enabled and active |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
174 |
var rich = (typeof tinyMCE != "undefined") && tinyMCE.activeEditor && !tinyMCE.activeEditor.isHidden(), post_data, doAutoSave, ed, origStatus, successCallback; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
175 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
176 |
post_data = { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
177 |
action: "autosave", |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
178 |
post_ID: jQuery("#post_ID").val() || 0, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
179 |
post_title: jQuery("#title").val() || "", |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
180 |
autosavenonce: jQuery('#autosavenonce').val(), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
181 |
//tags_input: jQuery("#tags-input").val() || "", |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
182 |
post_type: jQuery('#post_type').val() || "", |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
183 |
autosave: 1 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
184 |
}; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
185 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
186 |
jQuery('.tags-input').each( function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
187 |
post_data[this.name] = this.value; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
188 |
} ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
189 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
190 |
// We always send the ajax request in order to keep the post lock fresh. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
191 |
// This (bool) tells whether or not to write the post to the DB during the ajax request. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
192 |
doAutoSave = true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
193 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
194 |
// No autosave while thickbox is open (media buttons) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
195 |
if ( jQuery("#TB_window").css('display') == 'block' ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
196 |
doAutoSave = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
197 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
198 |
/* Gotta do this up here so we can check the length when tinyMCE is in use */ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
199 |
if ( rich ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
200 |
ed = tinyMCE.activeEditor; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
201 |
if ( 'mce_fullscreen' == ed.id ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
202 |
tinyMCE.get('content').setContent(ed.getContent({format : 'raw'}), {format : 'raw'}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
203 |
tinyMCE.get('content').save(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
204 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
205 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
206 |
post_data["content"] = jQuery("#content").val(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
207 |
if ( jQuery('#post_name').val() ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
208 |
post_data["post_name"] = jQuery('#post_name').val(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
209 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
210 |
// Nothing to save or no change. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
211 |
if( ( post_data["post_title"].length == 0 && post_data["content"].length == 0 ) || post_data["post_title"] + post_data["content"] == autosaveLast) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
212 |
doAutoSave = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
213 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
214 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
215 |
autosave_disable_buttons(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
216 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
217 |
origStatus = jQuery('#original_post_status').val(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
218 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
219 |
autosaveLast = jQuery("#title").val()+jQuery("#content").val(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
220 |
goodcats = ([]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
221 |
jQuery("[name='post_category[]']:checked").each( function(i) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
222 |
goodcats.push(this.value); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
223 |
} ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
224 |
post_data["catslist"] = goodcats.join(","); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
225 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
226 |
if ( jQuery("#comment_status").attr("checked") ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
227 |
post_data["comment_status"] = 'open'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
228 |
if ( jQuery("#ping_status").attr("checked") ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
229 |
post_data["ping_status"] = 'open'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
230 |
if ( jQuery("#excerpt").size() ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
231 |
post_data["excerpt"] = jQuery("#excerpt").val(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
232 |
if ( jQuery("#post_author").size() ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
233 |
post_data["post_author"] = jQuery("#post_author").val(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
234 |
post_data["user_ID"] = jQuery("#user-id").val(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
235 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
236 |
// Don't run while the TinyMCE spellcheck is on. It resets all found words. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
237 |
if ( rich && tinyMCE.activeEditor.plugins.spellchecker && tinyMCE.activeEditor.plugins.spellchecker.active ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
238 |
doAutoSave = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
239 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
240 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
241 |
if ( parseInt(post_data["post_ID"], 10) < 1 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
242 |
post_data["temp_ID"] = post_data["post_ID"]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
243 |
successCallback = autosave_saved_new; // new post |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
244 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
245 |
successCallback = autosave_saved; // pre-existing post |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
246 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
247 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
248 |
if ( !doAutoSave ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
249 |
post_data['autosave'] = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
250 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
251 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
252 |
autosaveOldMessage = jQuery('#autosave').html(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
253 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
254 |
jQuery.ajax({ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
255 |
data: post_data, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
256 |
beforeSend: doAutoSave ? autosave_loading : null, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
257 |
type: "POST", |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
258 |
url: autosaveL10n.requestFile, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
259 |
success: successCallback |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
260 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
261 |
} |