Code Duplication    Length = 19-26 lines in 2 locations

includes/wc-update-functions.php 2 locations

@@ 534-552 (lines=19) @@
531
	);
532
}
533
534
function wc_update_220_variations() {
535
	global $wpdb;
536
	// Update variations which manage stock
537
	$update_variations = $wpdb->get_results( "
538
		SELECT DISTINCT posts.ID AS variation_id, posts.post_parent AS variation_parent FROM {$wpdb->posts} as posts
539
		LEFT OUTER JOIN {$wpdb->postmeta} AS postmeta ON posts.ID = postmeta.post_id AND postmeta.meta_key = '_stock'
540
		LEFT OUTER JOIN {$wpdb->postmeta} as postmeta2 ON posts.ID = postmeta2.post_id AND postmeta2.meta_key = '_manage_stock'
541
		WHERE posts.post_type = 'product_variation'
542
		AND postmeta.meta_value IS NOT NULL
543
		AND postmeta.meta_value != ''
544
		AND postmeta2.meta_value IS NULL
545
	" );
546
547
	foreach ( $update_variations as $variation ) {
548
		$parent_backorders = get_post_meta( $variation->variation_parent, '_backorders', true );
549
		add_post_meta( $variation->variation_id, '_manage_stock', 'yes', true );
550
		add_post_meta( $variation->variation_id, '_backorders', $parent_backorders ? $parent_backorders : 'no', true );
551
	}
552
}
553
554
function wc_update_220_attributes() {
555
	global $wpdb;
@@ 786-811 (lines=26) @@
783
	WC_Install::update_db_version( '2.4.0' );
784
}
785
786
function wc_update_241_variations() {
787
	global $wpdb;
788
789
	// Select variations that don't have any _stock_status implemented on WooCommerce 2.2
790
	$update_variations = $wpdb->get_results( "
791
		SELECT DISTINCT posts.ID AS variation_id, posts.post_parent AS variation_parent
792
		FROM {$wpdb->posts} as posts
793
		LEFT OUTER JOIN {$wpdb->postmeta} AS postmeta ON posts.ID = postmeta.post_id AND postmeta.meta_key = '_stock_status'
794
		WHERE posts.post_type = 'product_variation'
795
		AND postmeta.meta_value IS NULL
796
	" );
797
798
	foreach ( $update_variations as $variation ) {
799
		// Get the parent _stock_status
800
		$parent_stock_status = get_post_meta( $variation->variation_parent, '_stock_status', true );
801
802
		// Set the _stock_status
803
		add_post_meta( $variation->variation_id, '_stock_status', $parent_stock_status ? $parent_stock_status : 'instock', true );
804
805
		// Delete old product children array
806
		delete_transient( 'wc_product_children_' . $variation->variation_parent );
807
	}
808
809
	// Invalidate old transients such as wc_var_price
810
	WC_Cache_Helper::get_transient_version( 'product', true );
811
}
812
813
function wc_update_241_db_version() {
814
	WC_Install::update_db_version( '2.4.1' );