+
+/**
+ * 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'
+ AND 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 );
+ }
+ }
+}
+