You are here

function _uc_recurring_subscription_add_interval_form in UC Recurring Payments and Subscriptions 6.2

Same name and namespace in other branches
  1. 7.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 363
Uc recurring subscription UI.

Code

function _uc_recurring_subscription_add_interval_form($delta, $product = NULL) {
  $form = array(
    '#tree' => TRUE,
  );
  $form['pfid'] = array(
    '#type' => 'hidden',
    '#value' => $product->pfid,
    '#parents' => array(
      'recurring_intervals',
      $delta,
      'pfid',
    ),
  );
  $form['interval_value'] = array(
    '#type' => 'textfield',
    '#default_value' => $product->regular_interval_value,
    '#size' => 2,
    '#prefix' => '<div class="subscription-interval-value">',
    '#suffix' => '</div>',
    '#parents' => array(
      'recurring_intervals',
      $delta,
      'interval_value',
    ),
  );
  $form['interval_unit'] = array(
    '#type' => 'select',
    '#options' => array(
      'days' => t('day(s)'),
      'weeks' => t('week(s)'),
      'months' => t('month(s)'),
      'years' => t('year(s)'),
    ),
    '#default_value' => $product->regular_interval_unit,
    '#prefix' => '<div class="subscription-interval-period">',
    '#suffix' => '</div>',
    '#parents' => array(
      'recurring_intervals',
      $delta,
      'interval_unit',
    ),
  );
  $form['amount'] = array(
    '#type' => 'textfield',
    '#default_value' => $product->fee_amount,
    '#size' => 10,
    '#prefix' => '<div class="subscription-amount">',
    '#suffix' => '</div>',
    '#parents' => array(
      'recurring_intervals',
      $delta,
      'amount',
    ),
  );
  $form['number_intervals'] = array(
    '#type' => 'textfield',
    '#default_value' => $product->number_intervals < 0 ? '' : $product->number_intervals,
    '#attributes' => $product->number_intervals < 0 ? array(
      'disabled' => 'disabled',
    ) : array(),
    '#size' => 10,
    '#prefix' => '<div class="subscription-num-intervals">',
    '#suffix' => '</div>',
    '#parents' => array(
      'recurring_intervals',
      $delta,
      'number_intervals',
    ),
  );
  $attributes['class'] = 'unlimited-checkbox';
  if ($product->number_intervals < 0) {
    $attributes['checked'] = 'checked';
  }
  $form['unlimited'] = array(
    '#type' => 'checkbox',
    '#title' => t('Unlimited'),
    '#attributes' => $attributes,
    '#prefix' => '<div class="subscription-unlimited-intervals">',
    '#suffix' => '</div>',
    '#parents' => array(
      'recurring_intervals',
      $delta,
      'unlimited',
    ),
  );
  $form['weight'] = array(
    '#type' => 'weight',
    '#delta' => 50,
    '#default_value' => $product->option->ordering,
    '#parents' => array(
      'recurring_intervals',
      $delta,
      'weight',
    ),
  );
  $form['operations'] = array(
    '#type' => 'button',
    '#value' => t('remove'),
    '#parents' => array(
      'recurring_intervals',
      $delta,
      'operations',
    ),
    '#ahah' => array(
      'event' => 'click',
      'path' => 'subscriptions/ahah/remove_interval/' . $delta,
      'wrapper' => 'recurring_intervals',
      'method' => 'replace',
      'progress' => array(
        'type' => 'throbber',
      ),
    ),
  );
  return $form;
}