/**
  * Return an associative array of a given subscriptions details (if it exists).
  *
  * @param string $subscription_key A subscription key of the form created by @see self::get_subscription_key()
  * @param deprecated don't use
  * @return array Subscription details
  * @since 1.1
  */
 public static function get_subscription($subscription_key, $deprecated = null)
 {
     if (null != $deprecated) {
         _deprecated_argument(__CLASS__ . '::' . __FUNCTION__, '1.4');
     }
     $item = WC_Subscriptions_Order::get_item_by_subscription_key($subscription_key);
     if (!empty($item)) {
         $subscription = array('order_id' => $item['order_id'], 'product_id' => $item['product_id'], 'variation_id' => $item['variation_id'], 'status' => isset($item['subscription_status']) ? $item['subscription_status'] : 'pending', 'period' => $item['subscription_period'], 'interval' => $item['subscription_interval'], 'length' => isset($item['subscription_length']) ? $item['subscription_length'] : 0, 'start_date' => isset($item['subscription_start_date']) ? $item['subscription_start_date'] : 0, 'expiry_date' => isset($item['subscription_expiry_date']) ? $item['subscription_expiry_date'] : 0, 'end_date' => isset($item['subscription_end_date']) ? $item['subscription_end_date'] : 0, 'trial_expiry_date' => isset($item['subscription_trial_expiry_date']) ? $item['subscription_trial_expiry_date'] : 0, 'failed_payments' => isset($item['subscription_failed_payments']) ? $item['subscription_failed_payments'] : 0, 'completed_payments' => isset($item['subscription_completed_payments']) ? $item['subscription_completed_payments'] : 0, 'suspension_count' => isset($item['subscription_suspension_count']) ? $item['subscription_suspension_count'] : 0, 'last_payment_date' => isset($item['subscription_completed_payments']) ? end($item['subscription_completed_payments']) : '');
     } else {
         $subscription = array();
     }
     return apply_filters('woocommerce_get_subscription', $subscription, $subscription_key, $deprecated);
 }