Code Duplication    Length = 21-24 lines in 2 locations

modules/google-analytics/classes/wp-google-analytics-utils.php 1 location

@@ 22-45 (lines=24) @@
19
	 * @param WC_Product
20
	 * @return string
21
	 */
22
	public static function get_product_categories_concatenated( $product ) {
23
		if ( ! class_exists( 'WooCommerce' ) ) {
24
			return '';
25
		}
26
27
		if ( ! $product ) {
28
			return '';
29
		}
30
31
		$variation_data = $product->is_type( 'variation' ) ? wc_get_product_variation_attributes( $product->get_id() ) : '';
32
		if ( is_array( $variation_data ) && ! empty( $variation_data ) ) {
33
			$line = wc_get_formatted_variation( $variation_data, true );
34
		} else {
35
			$out = array();
36
			$categories = get_the_terms( $product->get_id(), 'product_cat' );
37
			if ( $categories ) {
38
				foreach ( $categories as $category ) {
39
					$out[] = $category->name;
40
				}
41
			}
42
			$line = join( "/", $out );
43
		}
44
		return $line;
45
	}
46
47
	/**
48
	 * Gets a product's SKU with fallback to just ID. IDs are prepended with a hash symbol.

modules/woocommerce-analytics/classes/wp-woocommerce-analytics-universal.php 1 location

@@ 397-417 (lines=21) @@
394
	 * @param object $product WC_Product.
395
	 * @return string
396
	 */
397
	public function get_product_categories_concatenated( $product ) {
398
399
		if ( ! $product instanceof WC_Product ) {
400
			return '';
401
		}
402
403
		$variation_data = $product->is_type( 'variation' ) ? wc_get_product_variation_attributes( $product->get_id() ) : '';
404
		if ( is_array( $variation_data ) && ! empty( $variation_data ) ) {
405
			$line = wc_get_formatted_variation( $variation_data, true );
406
		} else {
407
			$out        = array();
408
			$categories = get_the_terms( $product->get_id(), 'product_cat' );
409
			if ( $categories ) {
410
				foreach ( $categories as $category ) {
411
					$out[] = $category->name;
412
				}
413
			}
414
			$line = join( '/', $out );
415
		}
416
		return $line;
417
	}
418
419
}
420