/**
  * Returns all available subscription schemes (product-level and cart-level).
  *
  * @return array
  */
 public static function get_subscription_schemes($cart_item, $scope = 'all')
 {
     $schemes = array();
     if (WCS_ATT_Cart::is_convertible_to_sub($cart_item)) {
         // Get product-level subscription schemes stored in product meta
         if (in_array($scope, array('all', 'cart-item'))) {
             $product_id = $cart_item['product_id'];
             $product_schemes = get_post_meta($product_id, '_wcsatt_schemes', true);
             if ($product_schemes) {
                 foreach ($product_schemes as $scheme) {
                     $scheme['scope'] = 'cart-item';
                     $schemes[] = $scheme;
                 }
             }
         }
         // Get cart-level subscription schemes stored in WC settings
         // Added only if there are no product-level schemes present
         if (in_array($scope, array('all', 'cart'))) {
             $wcs_prefix = WC_Subscriptions_Admin::$option_prefix;
             $cart_level_subs_active = get_option($wcs_prefix . '_enable_cart_subscriptions', 'no');
             if ($cart_level_subs_active === 'yes') {
                 $cart_level_schemes = get_option($wcs_prefix . '_subscribe_to_cart_schemes', array());
                 if (!empty($cart_level_schemes)) {
                     foreach ($cart_level_schemes as $scheme) {
                         $scheme['scope'] = 'cart';
                         $schemes[] = $scheme;
                     }
                 }
             }
         }
     }
     return apply_filters('wcsatt_subscription_schemes', $schemes, $cart_item, $scope);
 }