/**
  * Converts a cart item to a subscription.
  *
  * @param  array   $cart_item
  * @return array
  */
 public static function convert_to_sub($cart_item)
 {
     if ($active_subscription_scheme = WCS_ATT_Schemes::get_active_subscription_scheme($cart_item)) {
         $cart_item['data']->is_converted_to_sub = 'yes';
         $cart_item['data']->subscription_period = $active_subscription_scheme['subscription_period'];
         $cart_item['data']->subscription_period_interval = $active_subscription_scheme['subscription_period_interval'];
         $cart_item['data']->subscription_length = $active_subscription_scheme['subscription_length'];
     } else {
         $cart_item['data']->is_converted_to_sub = 'no';
     }
     return $cart_item;
 }
 /**
  * Converts a cart item to a subscription.
  *
  * @param  array   $cart_item
  * @return array
  */
 public static function convert_to_sub($cart_item)
 {
     if ($active_subscription_scheme = WCS_ATT_Schemes::get_active_subscription_scheme($cart_item)) {
         $cart_item['data']->is_converted_to_sub = 'yes';
         $subscription_prices = WCS_ATT_Schemes::get_active_subscription_scheme_prices($cart_item, $active_subscription_scheme);
         if (!empty($subscription_prices)) {
             $cart_item['data']->price = $subscription_prices['price'];
             $cart_item['data']->regular_price = $subscription_prices['regular_price'];
             $cart_item['data']->sale_price = $subscription_prices['sale_price'];
             $cart_item['data']->subscription_price = $subscription_prices['price'];
         }
         $cart_item['data']->subscription_period = $active_subscription_scheme['subscription_period'];
         $cart_item['data']->subscription_period_interval = $active_subscription_scheme['subscription_period_interval'];
         $cart_item['data']->subscription_length = $active_subscription_scheme['subscription_length'];
     } else {
         $cart_item['data']->is_converted_to_sub = 'no';
     }
     return $cart_item;
 }
 /**
  * Returns cart item pricing data based on the active subscription scheme settings of a cart item.
  *
  * @return string
  */
 public static function get_active_subscription_scheme_prices($cart_item, $active_subscription_scheme = array())
 {
     $prices = array();
     if (empty($active_subscription_scheme)) {
         $active_subscription_scheme = WCS_ATT_Schemes::get_active_subscription_scheme($cart_item);
     }
     if (!empty($active_subscription_scheme)) {
         $prices = self::get_subscription_scheme_prices(array('price' => $cart_item['data']->price, 'regular_price' => $cart_item['data']->regular_price, 'sale_price' => $cart_item['data']->sale_price), $active_subscription_scheme);
     }
     return $prices;
 }