public function wf_crm_admin_form::buildForm 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::buildForm()
Build admin form for civicrm tab of a webform
Return value
array
File
- includes/
wf_crm_admin_form.inc, line 37 - Webform CiviCRM module's admin form.
Class
- wf_crm_admin_form
- @file Webform CiviCRM module's admin form.
Code
public function buildForm() {
$this->form_state['storage']['nid'] = $this->node->nid;
// Display confirmation message before deleting fields
if (!empty($this->form_state['storage']['msg'])) {
return $this
->buildConfirmationForm();
}
// Add css & js
$this
->addResources();
if (empty($this->form_state['values'])) {
$this
->initializeForm();
}
else {
$this
->rebuildForm();
}
// Merge in existing fields
$existing = array_keys(wf_crm_enabled_fields($this->node, NULL, TRUE));
$this->settings += array_fill_keys($existing, 'create_civicrm_webform_element');
// Sort fields by set
foreach ($this->fields as $fid => $field) {
if (isset($field['set'])) {
$set = $field['set'];
}
else {
list($set) = explode('_', $fid, 2);
}
$this->sets[$set]['fields'][$fid] = $field;
}
// Build form fields
$this
->buildFormIntro();
foreach ($this->data['contact'] as $n => $c) {
$this
->buildContactTab($n, $c);
}
$this
->buildMessageTabs();
// Component tabs
$this
->buildActivityTab();
if (isset($this->sets['case'])) {
$this
->buildCaseTab();
}
if (isset($this->sets['participant'])) {
$this
->buildParticipantTab();
}
if (isset($this->sets['membership'])) {
$this
->buildMembershipTab();
}
if (isset($this->sets['contribution'])) {
$this
->buildContributionTab();
}
if (isset($this->sets['grant'])) {
$this
->buildGrantTab();
}
$this
->buildOptionsTab();
$this->form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save Settings'),
);
return $this->form;
}