/** * 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; }