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

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