Changeset 26995 for trunk/src/wp-admin/includes/ajax-actions.php
- Timestamp:
- 01/22/2014 04:55:37 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/ajax-actions.php
r26981 r26995 1090 1090 } 1091 1091 1092 function wp_ajax_autosave() {1093 define( 'DOING_AUTOSAVE', true );1094 1095 check_ajax_referer( 'autosave', 'autosavenonce' );1096 1097 if ( ! empty( $_POST['catslist'] ) )1098 $_POST['post_category'] = explode( ',', $_POST['catslist'] );1099 if ( $_POST['post_type'] == 'page' || empty( $_POST['post_category'] ) )1100 unset( $_POST['post_category'] );1101 1102 $data = '';1103 $supplemental = array();1104 $id = $revision_id = 0;1105 1106 $post_id = (int) $_POST['post_id'];1107 $_POST['ID'] = $_POST['post_ID'] = $post_id;1108 $post = get_post( $post_id );1109 if ( empty( $post->ID ) || ! current_user_can( 'edit_post', $post->ID ) )1110 wp_die( __( 'You are not allowed to edit this post.' ) );1111 1112 if ( 'page' == $post->post_type && ! current_user_can( 'edit_page', $post->ID ) )1113 wp_die( __( 'You are not allowed to edit this page.' ) );1114 1115 if ( 'auto-draft' == $post->post_status )1116 $_POST['post_status'] = 'draft';1117 1118 if ( ! empty( $_POST['autosave'] ) ) {1119 if ( ! wp_check_post_lock( $post->ID ) && get_current_user_id() == $post->post_author && ( 'auto-draft' == $post->post_status || 'draft' == $post->post_status ) ) {1120 // Drafts and auto-drafts are just overwritten by autosave for the same user if the post is not locked1121 $id = edit_post();1122 } else {1123 // Non drafts or other users drafts are not overwritten. The autosave is stored in a special post revision for each user.1124 $revision_id = wp_create_post_autosave( $post->ID );1125 if ( is_wp_error($revision_id) )1126 $id = $revision_id;1127 else1128 $id = $post->ID;1129 }1130 1131 if ( ! is_wp_error($id) ) {1132 /* translators: draft saved date format, see http://php.net/date */1133 $draft_saved_date_format = __('g:i:s a');1134 /* translators: %s: date and time */1135 $data = sprintf( __('Draft saved at %s.'), date_i18n( $draft_saved_date_format ) );1136 }1137 } else {1138 if ( ! empty( $_POST['auto_draft'] ) )1139 $id = 0; // This tells us it didn't actually save1140 else1141 $id = $post->ID;1142 }1143 1144 // @todo Consider exposing any errors, rather than having 'Saving draft...'1145 $x = new WP_Ajax_Response( array(1146 'what' => 'autosave',1147 'id' => $id,1148 'data' => $data,1149 'supplemental' => $supplemental1150 ) );1151 $x->send();1152 }1153 1154 1092 function wp_ajax_closed_postboxes() { 1155 1093 check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' );
Note: See TracChangeset
for help on using the changeset viewer.