Code Duplication    Length = 13-14 lines in 3 locations

includes/class-wc-order.php 3 locations

@@ 81-93 (lines=13) @@
78
	 * @since 2.2
79
	 * @return string
80
	 */
81
	public function get_total_refunded() {
82
		global $wpdb;
83
84
		$total = $wpdb->get_var( $wpdb->prepare( "
85
			SELECT SUM( postmeta.meta_value )
86
			FROM $wpdb->postmeta AS postmeta
87
			INNER JOIN $wpdb->posts AS posts ON ( posts.post_type = 'shop_order_refund' AND posts.post_parent = %d )
88
			WHERE postmeta.meta_key = '_refund_amount'
89
			AND postmeta.post_id = posts.ID
90
		", $this->id ) );
91
92
		return $total;
93
	}
94
95
	/**
96
	 * Get the total tax refunded.
@@ 101-114 (lines=14) @@
98
	 * @since  2.3
99
	 * @return float
100
	 */
101
	public function get_total_tax_refunded() {
102
		global $wpdb;
103
104
		$total = $wpdb->get_var( $wpdb->prepare( "
105
			SELECT SUM( order_itemmeta.meta_value )
106
			FROM {$wpdb->prefix}woocommerce_order_itemmeta AS order_itemmeta
107
			INNER JOIN $wpdb->posts AS posts ON ( posts.post_type = 'shop_order_refund' AND posts.post_parent = %d )
108
			INNER JOIN {$wpdb->prefix}woocommerce_order_items AS order_items ON ( order_items.order_id = posts.ID AND order_items.order_item_type = 'tax' )
109
			WHERE order_itemmeta.order_item_id = order_items.order_item_id
110
			AND order_itemmeta.meta_key IN ('tax_amount', 'shipping_tax_amount')
111
		", $this->id ) );
112
113
		return abs( $total );
114
	}
115
116
	/**
117
	 * Get the total shipping refunded.
@@ 122-135 (lines=14) @@
119
	 * @since  2.4
120
	 * @return float
121
	 */
122
	public function get_total_shipping_refunded() {
123
		global $wpdb;
124
125
		$total = $wpdb->get_var( $wpdb->prepare( "
126
			SELECT SUM( order_itemmeta.meta_value )
127
			FROM {$wpdb->prefix}woocommerce_order_itemmeta AS order_itemmeta
128
			INNER JOIN $wpdb->posts AS posts ON ( posts.post_type = 'shop_order_refund' AND posts.post_parent = %d )
129
			INNER JOIN {$wpdb->prefix}woocommerce_order_items AS order_items ON ( order_items.order_id = posts.ID AND order_items.order_item_type = 'shipping' )
130
			WHERE order_itemmeta.order_item_id = order_items.order_item_id
131
			AND order_itemmeta.meta_key IN ('cost')
132
		", $this->id ) );
133
134
		return abs( $total );
135
	}
136
137
	/**
138
	 * Gets the count of order items of a certain type that have been refunded.