- // set the post_content and status
- $quick['post_status'] = isset($_REQUEST['publish']) ? 'publish' : 'draft';
- $quick['post_content'] = $content;
- // error handling for $post
- if ( is_wp_error($post_ID)) {
- wp_die($id);
+ $post = get_default_post_to_edit();
+ $post = get_object_vars($post);
+ $post_ID = $post['ID'] = (int) $_POST['post_id'];
+
+ if ( !current_user_can('edit_post', $post_ID) )
+ wp_die(__('You are not allowed to edit this post.'));
+
+ $post['post_category'] = isset($_POST['post_category']) ? $_POST['post_category'] : '';
+ $post['tax_input'] = isset($_POST['tax_input']) ? $_POST['tax_input'] : '';
+ $post['post_title'] = isset($_POST['title']) ? $_POST['title'] : '';
+ $content = isset($_POST['content']) ? $_POST['content'] : '';
+
+ $upload = false;
+ if ( !empty($_POST['photo_src']) && current_user_can('upload_files') ) {
+ foreach( (array) $_POST['photo_src'] as $key => $image) {
+ // See if files exist in content - we don't want to upload non-used selected files.
+ if ( strpos($_POST['content'], htmlspecialchars($image)) !== false ) {
+ $desc = isset($_POST['photo_description'][$key]) ? $_POST['photo_description'][$key] : '';
+ $upload = media_sideload_image($image, $post_ID, $desc);
+
+ // Replace the POSTED content <img> with correct uploaded ones. Regex contains fix for Magic Quotes
+ if ( !is_wp_error($upload) )
+ $content = preg_replace('/<img ([^>]*)src=\\\?(\"|\')'.preg_quote(htmlspecialchars($image), '/').'\\\?(\2)([^>\/]*)\/*>/is', $upload, $content);
+ }
+ }
+ }
+ // Set the post_content and status.
+ $post['post_content'] = $content;
+ if ( isset( $_POST['publish'] ) && current_user_can( 'publish_posts' ) )
+ $post['post_status'] = 'publish';
+ elseif ( isset( $_POST['review'] ) )
+ $post['post_status'] = 'pending';
+ else
+ $post['post_status'] = 'draft';
+
+ // Error handling for media_sideload.
+ if ( is_wp_error($upload) ) {