private function wf_crm_admin_form::buildMembershipTab in Webform CiviCRM Integration 7.4
Same name and namespace in other branches
- 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);
}
}
}
}
}
}