You are here

function _uc_recurring_subscription_add_interval_form 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.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;
}