function _uc_recurring_subscription_add_interval_form in UC Recurring Payments and Subscriptions 7.2
Same name and namespace in other branches
- 6.2 modules/uc_recurring_subscription/uc_recurring_subscription.admin.inc \_uc_recurring_subscription_add_interval_form()
Creates the payment interval form elements.
2 calls to _uc_recurring_subscription_add_interval_form()
- 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.
- _uc_recurring_subscription_ahah_add_interval in modules/
uc_recurring_subscription/ uc_recurring_subscription.admin.inc - Adds a payment intervals option.
File
- modules/
uc_recurring_subscription/ uc_recurring_subscription.admin.inc, line 425 - Uc recurring subscription UI.
Code
function _uc_recurring_subscription_add_interval_form($delta, $products = NULL) {
$form = array(
'#tree' => TRUE,
'#theme' => 'uc_recurring_subscription_item',
);
for ($i = 0; $i < $delta; $i++) {
$form[$i]['pfid'] = array(
'#type' => 'hidden',
'#value' => $products[$i]->pfid,
);
$options[$i] = '';
$form[$i]['interval_value'] = array(
'#type' => 'textfield',
'#title' => t('Interval Length'),
'#default_value' => empty($products[$i]->regular_interval_value) ? '' : $products[$i]->regular_interval_value,
'#size' => 2,
'#prefix' => '<div class="subscription-interval-value">',
'#suffix' => '</div>',
);
$form[$i]['interval_unit'] = array(
'#type' => 'select',
'#title' => t('Interval Unit'),
'#options' => array(
'days' => t('day(s)'),
'weeks' => t('week(s)'),
'months' => t('month(s)'),
'years' => t('year(s)'),
),
'#default_value' => empty($products[$i]->regular_interval_unit) ? '' : $products[$i]->regular_interval_unit,
'#prefix' => '<div class="subscription-interval-period">',
'#suffix' => '</div>',
);
$form[$i]['amount'] = array(
'#type' => 'textfield',
'#title' => t('Amount'),
'#default_value' => empty($products[$i]->fee_amount) ? '' : $products[$i]->fee_amount,
'#size' => 10,
'#prefix' => '<div class="subscription-amount">',
'#suffix' => '</div>',
);
$form[$i]['number_intervals'] = array(
'#type' => 'textfield',
'#title' => t('Number of Intervals'),
'#default_value' => empty($products[$i]->number_intervals) || $products[$i]->number_intervals < 0 ? '' : $products[$i]->number_intervals,
'#attributes' => empty($products[$i]->number_intervals) || $products[$i]->number_intervals < 0 ? array(
'disabled' => 'disabled',
) : array(),
'#size' => 10,
'#prefix' => '<div class="subscription-num-intervals">',
'#suffix' => '</div>',
);
$attributes['class'] = array(
'unlimited-checkbox',
);
if (empty($products[$i]->number_intervals) || $products[$i]->number_intervals < 0) {
$attributes['checked'] = 'checked';
}
$form[$i]['unlimited'] = array(
'#type' => 'checkbox',
'#title' => t('Unlimited'),
'#attributes' => $attributes,
'#prefix' => '<div class="subscription-unlimited-intervals">',
'#suffix' => '</div>',
);
$form[$i]['weight'] = array(
'#type' => 'weight',
'#title' => t('Weight'),
'#delta' => 50,
'#default_value' => empty($products[$i]->option->ordering) ? '' : $products[$i]->option->ordering,
);
$form[$i]['operations'] = array(
'#type' => 'submit',
'#value' => t('remove'),
'#submit' => array(
'uc_recurring_subscription_remove_interval',
),
'#attributes' => array(
'rel' => $i,
),
'#name' => 'remove_' . $i,
'#ajax' => array(
'event' => 'click',
'callback' => 'uc_recurring_subscription_remove_interval_callback',
//'path' => 'subscriptions/ahah/remove_interval/' . $delta,
'wrapper' => 'recurring_intervals',
'method' => 'replace',
'progress' => array(
'type' => 'throbber',
),
),
);
if ($products[$i]->option->default_option) {
$default_option = $i;
}
}
$form['default_payment'] = array(
'#type' => 'radios',
'#options' => $options,
'#default_value' => $default_option,
);
return $form;
}