press_it

The timeline below displays how wordpress function press_it has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 1.5

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .40

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 1.4

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .30

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 1.3

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .20

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 1.2

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .15

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 0.4

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .30

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 0.3

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .20

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 0.2

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .15

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 0.1

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 4.0

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die($upload);
    } else {
        // Post formats.
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 9.3

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 9.2

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die($upload);
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .16

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .10

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 3.9

/**
 * Press It form handler.
 *
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die($upload);
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 8.5

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 8.4

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die($upload);
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .30

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 8.3

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die($upload);
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .20

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 8.2

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die($upload);
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .18

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .10

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 3.8

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die($upload);
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 7.5

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .40

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 7.4

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die($upload);
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .30

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 7.3

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die($upload);
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .20

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 7.2

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die($upload);
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .18

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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.'));
    }
    // Only accept categories if the user actually can assign
    $category_tax = get_taxonomy('category');
    if (current_user_can($category_tax->cap->assign_terms)) {
        $post['post_category'] = (!empty($_POST['post_category'])) ? $_POST['post_category'] : array();
    }
    // Only accept taxonomies if the user can actually assign
    if (!empty($_POST['tax_input'])) {
        $tax_input = $_POST['tax_input'];
        foreach ($tax_input as $tax => $_ti) {
            $tax_object = get_taxonomy($tax);
            if (!$tax_object || !current_user_can($tax_object->cap->assign_terms)) {
                unset($tax_input[$tax]);
            }
        }
        $post['tax_input'] = $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: .10

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die(esc_html($upload->get_error_message()));
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}

WordPress Version: 3.7

/**
 * Press It form handler.
 *
 * @package WordPress
 * @subpackage Press_This
 * @since 2.6.0
 *
 * @return int Post ID
 */
function press_it()
{
    $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)) {
        wp_delete_post($post_ID);
        wp_die($upload);
    } else {
        // Post formats
        if (isset($_POST['post_format'])) {
            if (current_theme_supports('post-formats', $_POST['post_format'])) {
                set_post_format($post_ID, $_POST['post_format']);
            } elseif ('0' == $_POST['post_format']) {
                set_post_format($post_ID, false);
            }
        }
        $post_ID = wp_update_post($post);
    }
    return $post_ID;
}