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

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