upgrade_383

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

WordPress Version: .10

/**
 * Execute changes made in WordPress 3.8.3.
 *
 * @since 3.8.3
 */
function upgrade_383()
{
    global $wp_current_db_version, $wpdb;
    if ($wp_current_db_version < 26692) {
        // Find all lost Quick Draft auto-drafts and promote them to proper drafts.
        $posts = $wpdb->get_results("SELECT ID, post_title, post_content FROM {$wpdb->posts} WHERE post_type = 'post'\n\t\t\tAND post_status = 'auto-draft' AND post_date >= '2014-04-08 00:00:00'");
        foreach ($posts as $post) {
            // A regular auto-draft should never have content as that would mean it should have been promoted.
            // If an auto-draft has content, it's from Quick Draft and it should be recovered.
            if ('' === $post->post_content) {
                // If it does not have content, we must evaluate whether the title should be recovered.
                if ('Auto Draft' === $post->post_title || __('Auto Draft') === $post->post_title) {
                    // This a plain old auto draft. Ignore it.
                    continue;
                }
            }
            $wpdb->update($wpdb->posts, array('post_status' => 'draft'), array('ID' => $post->ID));
            clean_post_cache($post->ID);
        }
    }
}