Code Duplication    Length = 5-6 lines in 8 locations

includes/cli/class-wc-cli-product.php 4 locations

@@ 1354-1359 (lines=6) @@
1351
		// Stock Data
1352
		if ( 'yes' == get_option( 'woocommerce_manage_stock' ) ) {
1353
			// Manage stock
1354
			if ( isset( $data['managing_stock'] ) ) {
1355
				$managing_stock = ( $this->is_true( $data['managing_stock'] ) ) ? 'yes' : 'no';
1356
				update_post_meta( $product_id, '_manage_stock', $managing_stock );
1357
			} else {
1358
				$managing_stock = get_post_meta( $product_id, '_manage_stock', true );
1359
			}
1360
1361
			// Backorders
1362
			if ( isset( $data['backorders'] ) ) {
@@ 1462-1467 (lines=6) @@
1459
		}
1460
1461
		// Downloadable
1462
		if ( isset( $data['downloadable'] ) ) {
1463
			$is_downloadable = ( $this->is_true( $data['downloadable'] ) ) ? 'yes' : 'no';
1464
			update_post_meta( $product_id, '_downloadable', $is_downloadable );
1465
		} else {
1466
			$is_downloadable = get_post_meta( $product_id, '_downloadable', true );
1467
		}
1468
1469
		// Downloadable options
1470
		if ( 'yes' == $is_downloadable ) {
@@ 1617-1622 (lines=6) @@
1614
			}
1615
1616
			// Downloadable variation
1617
			if ( isset( $variation['downloadable'] ) ) {
1618
				$is_downloadable = ( $this->is_true( $variation['downloadable'] ) ) ? 'yes' : 'no';
1619
				update_post_meta( $variation_id, '_downloadable', $is_downloadable );
1620
			} else {
1621
				$is_downloadable = get_post_meta( $variation_id, '_downloadable', true );
1622
			}
1623
1624
			// Shipping data
1625
			$this->save_product_shipping_data( $variation_id, $variation );
@@ 1628-1633 (lines=6) @@
1625
			$this->save_product_shipping_data( $variation_id, $variation );
1626
1627
			// Stock handling
1628
			if ( isset( $variation['managing_stock'] ) ) {
1629
				$managing_stock = ( $this->is_true( $variation['managing_stock'] ) ) ? 'yes' : 'no';
1630
				update_post_meta( $variation_id, '_manage_stock', $managing_stock );
1631
			} else {
1632
				$managing_stock = get_post_meta( $variation_id, '_manage_stock', true );
1633
			}
1634
1635
			// Only update stock status to user setting if changed by the user, but do so before looking at stock levels at variation level
1636
			if ( isset( $variation['in_stock'] ) ) {

includes/api/class-wc-rest-products-controller.php 4 locations

@@ 1153-1158 (lines=6) @@
1150
		// Stock data.
1151
		if ( 'yes' === get_option( 'woocommerce_manage_stock' ) ) {
1152
			// Manage stock.
1153
			if ( isset( $request['manage_stock'] ) ) {
1154
				$manage_stock = ( true === $request['manage_stock'] ) ? 'yes' : 'no';
1155
				update_post_meta( $product->id, '_manage_stock', $manage_stock );
1156
			} else {
1157
				$manage_stock = get_post_meta( $product->id, '_manage_stock', true );
1158
			}
1159
1160
			// Backorders.
1161
			if ( isset( $request['backorders'] ) ) {
@@ 1257-1262 (lines=6) @@
1254
		}
1255
1256
		// Downloadable.
1257
		if ( isset( $request['downloadable'] ) ) {
1258
			$is_downloadable = true === $request['downloadable'] ? 'yes' : 'no';
1259
			update_post_meta( $product->id, '_downloadable', $is_downloadable );
1260
		} else {
1261
			$is_downloadable = get_post_meta( $product->id, '_downloadable', true );
1262
		}
1263
1264
		// Downloadable options.
1265
		if ( 'yes' === $is_downloadable ) {
@@ 1414-1419 (lines=6) @@
1411
			}
1412
1413
			// Downloadable variation.
1414
			if ( isset( $variation['downloadable'] ) ) {
1415
				$is_downloadable = ( true === $variation['downloadable'] ) ? 'yes' : 'no';
1416
				update_post_meta( $variation_id, '_downloadable', $is_downloadable );
1417
			} else {
1418
				$is_downloadable = get_post_meta( $variation_id, '_downloadable', true );
1419
			}
1420
1421
			// Shipping data.
1422
			$this->save_product_shipping_data( $variation_id, $variation );
@@ 1425-1429 (lines=5) @@
1422
			$this->save_product_shipping_data( $variation_id, $variation );
1423
1424
			// Stock handling.
1425
			if ( isset( $variation['manage_stock'] ) ) {
1426
				$manage_stock = ( true === $variation['manage_stock'] ) ? 'yes' : 'no';
1427
			} else {
1428
				$manage_stock = get_post_meta( $variation_id, '_manage_stock', true );
1429
			}
1430
1431
			update_post_meta( $variation_id, '_manage_stock', '' === $manage_stock ? 'no' : $manage_stock );
1432