You are here

function webform_civicrm_form_alter in Webform CiviCRM Integration 8.5

Same name and namespace in other branches
  1. 6.2 webform_civicrm.module \webform_civicrm_form_alter()
  2. 6 webform_civicrm.module \webform_civicrm_form_alter()
  3. 7.5 webform_civicrm.module \webform_civicrm_form_alter()
  4. 7 webform_civicrm.module \webform_civicrm_form_alter()
  5. 7.2 webform_civicrm.module \webform_civicrm_form_alter()
  6. 7.3 webform_civicrm.module \webform_civicrm_form_alter()
  7. 7.4 webform_civicrm.module \webform_civicrm_form_alter()

Implements hook_form_alter().

File

./webform_civicrm.module, line 68
Webform CiviCRM Integration Module: Links webform submissions to contacts in a CiviCRM database. @author Coleman Watts

Code

function webform_civicrm_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'webform_edit_form' && $form_state
    ->getFormObject()
    ->getEntity()
    ->getHandlers()
    ->has('webform_civicrm')) {
    \Drupal::service('civicrm')
      ->initialize();
    \CRM_Core_Resources::singleton()
      ->addCoreResources();
  }

  //Do not load civicrm elements on the "Add element" form.
  if ($form_id == 'webform_ui_element_type_select_form') {
    foreach ($form as $k => $fieldset) {
      if (is_array($fieldset) && !empty($fieldset['#title']) && strtolower($fieldset['#title']) == 'civicrm') {
        unset($form[$k]);
        return;
      }
    }
  }

  /*
  // Alter back-end webform component edit forms
  if ($form_id == 'webform_component_edit_form') {
    if ($form['type']['#value'] == 'pagebreak') {
      form_load_include($form_state, 'inc', 'webform_civicrm', 'includes/wf_crm_admin_component');
      $admin_form = new wf_crm_admin_component($form, $form_state);
      $admin_form->adjustPageBreak();
    }
  }

  // Validation for webform components tab
  elseif ($form_id == 'webform_components_form') {
    form_load_include($form_state, 'inc', 'webform_civicrm', 'includes/wf_crm_admin_component');
    $form['#validate'][] = 'wf_crm_components_form_validate';
    if (empty($form_state['input'])) {
      wf_crm_admin_component::checkBillingPagination($form['#node']);
    }
  }
  */
}