You are here

private function wf_crm_admin_form::buildMembershipTab in Webform CiviCRM Integration 7.4

Same name and namespace in other branches
  1. 7.5 includes/wf_crm_admin_form.inc \wf_crm_admin_form::buildMembershipTab()

Membership settings

1 call to wf_crm_admin_form::buildMembershipTab()
wf_crm_admin_form::buildForm in includes/wf_crm_admin_form.inc
Build admin form for civicrm tab of a webform

File

includes/wf_crm_admin_form.inc, line 953
Webform CiviCRM module's admin form.

Class

wf_crm_admin_form
@file Webform CiviCRM module's admin form.

Code

private function buildMembershipTab() {
  $this->form['membership'] = array(
    '#type' => 'fieldset',
    '#title' => t('Memberships'),
    '#group' => 'webform_civicrm',
    '#attributes' => array(
      'class' => array(
        'civi-icon-membership',
      ),
    ),
  );
  for ($c = 1; $c <= count($this->data['contact']); ++$c) {
    $num = wf_crm_aval($this->data, "membership:{$c}:number_of_membership", 0);
    $this->form['membership'][$c]["membership_{$c}_number_of_membership"] = array(
      '#type' => 'select',
      '#title' => t('Number of Memberships for !contact', array(
        '!contact' => wf_crm_contact_label($c, $this->data, 'wrap'),
      )),
      '#default_value' => $num,
      '#options' => range(0, 9),
      '#prefix' => '<div class="number-of">',
      '#suffix' => '</div>',
    );
    $this
      ->addAjaxItem("membership:{$c}", "membership_{$c}_number_of_membership", "membership");
    for ($n = 1; $n <= $num; ++$n) {
      $fs = "membership_{$c}_membership_{$n}_fieldset";
      $this->form['membership'][$c]['membership'][$fs] = array(
        '#type' => 'fieldset',
        '#title' => t('Membership !num for !contact', array(
          '!num' => $n,
          '!contact' => wf_crm_contact_label($c, $this->data, 'wrap'),
        )),
        '#attributes' => array(
          'id' => $fs,
          'class' => array(
            'web-civi-checkbox-set',
          ),
        ),
        'js_select' => $this
          ->addToggle($fs),
      );
      foreach ($this->sets as $sid => $set) {
        if ($set['entity_type'] == 'membership') {
          foreach ($set['fields'] as $fid => $field) {
            $fid = "civicrm_{$c}_membership_{$n}_{$fid}";
            $this->form['membership'][$c]['membership'][$fs][$fid] = $this
              ->addItem($fid, $field);
          }
        }
      }
    }
  }
}