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

@@ 381-401 (lines=21) @@
378
	 * @param object $product WC_Product.
379
	 * @return string
380
	 */
381
	public function get_product_categories_concatenated( $product ) {
382
383
		if ( ! $product ) {
384
			return '';
385
		}
386
387
		$variation_data = $product->is_type( 'variation' ) ? wc_get_product_variation_attributes( $product->get_id() ) : '';
388
		if ( is_array( $variation_data ) && ! empty( $variation_data ) ) {
389
			$line = wc_get_formatted_variation( $variation_data, true );
390
		} else {
391
			$out        = array();
392
			$categories = get_the_terms( $product->get_id(), 'product_cat' );
393
			if ( $categories ) {
394
				foreach ( $categories as $category ) {
395
					$out[] = $category->name;
396
				}
397
			}
398
			$line = join( '/', $out );
399
		}
400
		return $line;
401
	}
402
403
}
404