function _uc_recurring_subscription_get_product_features in UC Recurring Payments and Subscriptions 7.2
Same name and namespace in other branches
- 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;
}