You are here

function _uc_recurring_subscription_get_product_features in UC Recurring Payments and Subscriptions 7.2

Same name and namespace in other branches
  1. 6.2 modules/uc_recurring_subscription/uc_recurring_subscription.module \_uc_recurring_subscription_get_product_features()

This loads the reucrring product features as well as the attribute option for this feature.

2 calls to _uc_recurring_subscription_get_product_features()
uc_recurring_subscription_overview in modules/uc_recurring_subscription/uc_recurring_subscription.admin.inc
Create the subscription overiew page.
uc_recurring_subscription_product_form in modules/uc_recurring_subscription/uc_recurring_subscription.admin.inc
Form to add a new payment interval for the product.

File

modules/uc_recurring_subscription/uc_recurring_subscription.module, line 178
Manage subscription/memberships.

Code

function _uc_recurring_subscription_get_product_features($product_id) {
  $attribute = uc_attribute_load(variable_get('uc_recurring_subscription_attribute', ''), $product_id, 'product');
  $products = array();
  $result = db_query("SELECT p.pfid from {uc_recurring_product} p LEFT JOIN {uc_product_features} f ON p.pfid=f.pfid WHERE f.nid = :nid", array(
    ':nid' => $product_id,
  ))
    ->fetchAll();
  foreach ($result as $p) {
    $product = uc_recurring_product_fee_load($p->pfid);
    $option_name = _uc_recurring_subscription_create_attribute_option($product->regular_interval_value, $product->regular_interval_unit);
    $option = _uc_recurring_subscription_option($option_name);
    $product->option = uc_attribute_subject_option_load($option->oid, 'product', $product_id);
    if ($attribute->default_option == $option->oid) {
      $product->option->default_option = TRUE;
    }
    $products[] = $product;
  }
  if (count($products) > 1) {
    usort($products, '_uc_recurring_subscription_product_feature_sort');
  }
  return $products;
}