Code Duplication    Length = 42-42 lines in 2 locations

includes/class-wcs-shortcodes.php 2 locations

@@ 457-498 (lines=42) @@
454
	 * @param  array $atts
455
	 * @return string
456
	 */
457
	public static function get_subscription_period_interval( $atts ) {
458
		global $wpdb, $post;
459
460
		$defaults = shortcode_atts( array(
461
			'id'  => '',
462
			'sku' => '',
463
		), $atts );
464
465
		$atts = wp_parse_args( $atts, $defaults );
466
467
		if ( ! empty( $atts['id'] ) && $atts['id'] > 0 ) {
468
			$product_data = wc_get_product( $atts['id'] );
469
		} elseif ( ! empty( $atts['sku'] ) ) {
470
			$product_id   = wc_get_product_id_by_sku( $atts['sku'] );
471
			$product_data = get_post( $product_id );
472
		} else {
473
			$product_data = wc_get_product( $post->ID );
474
		}
475
476
		// Check that the product type is supported. Return blank if not supported.
477
		if ( ! is_object( $product_data ) || ! in_array( $product_data->product_type, self::get_supported_product_types() ) ) {
478
			return '';
479
		}
480
481
		ob_start();
482
483
		// Get Subscription Period Interval
484
		$period_interval = WC_Subscriptions_Product::get_interval( $product_data );
485
486
		// If the period is empty, look for alternative.
487
		if ( empty( $period_interval ) ) {
488
			$scheme = self::get_satt_lowest_scheme_data( $product_data );
489
490
			if ( !empty( $scheme ) && is_array( $scheme ) ) {
491
				$period_interval = $scheme['scheme']['subscription_period_interval'];
492
			}
493
		}
494
495
		echo $period_interval;
496
497
		return ob_get_clean();
498
	} // END get_subscription_period_interval()
499
500
	/**
501
	 * Displays the subscription length of the subscription product.
@@ 702-743 (lines=42) @@
699
	 * @param  array $atts
700
	 * @return string
701
	 */
702
	public static function get_subscription_trial_length( $atts ) {
703
		global $wpdb, $post;
704
705
		$defaults = shortcode_atts( array(
706
			'id'  => '',
707
			'sku' => '',
708
		), $atts );
709
710
		$atts = wp_parse_args( $atts, $defaults );
711
712
		if ( ! empty( $atts['id'] ) && $atts['id'] > 0 ) {
713
			$product_data = wc_get_product( $atts['id'] );
714
		} elseif ( ! empty( $atts['sku'] ) ) {
715
			$product_id   = wc_get_product_id_by_sku( $atts['sku'] );
716
			$product_data = get_post( $product_id );
717
		} else {
718
			$product_data = wc_get_product( $post->ID );
719
		}
720
721
		// Check that the product type is supported. Return blank if not supported.
722
		if ( ! is_object( $product_data ) || ! in_array( $product_data->product_type, self::get_supported_product_types() ) ) {
723
			return '';
724
		}
725
726
		ob_start();
727
728
		// Get Subscription Trial Length
729
		$trial_length = WC_Subscriptions_Product::get_trial_length( $product_data );
730
731
		// If the trial length is empty, look for alternative.
732
		if ( empty( $trial_length ) ) {
733
			$scheme = self::get_satt_lowest_scheme_data( $product_data );
734
735
			if ( !empty( $scheme ) && is_array( $scheme ) ) {
736
				$trial_length = $scheme['scheme']['subscription_trial_length'];
737
			}
738
		}
739
740
		echo $trial_length;
741
742
		return ob_get_clean();
743
	} // END get_subscription_trial_length()
744
745
	/**
746
	 * Displays the subscription trial period of the subscription product.