function flexiform_webform_flexiform_build_alter in Flexiform 7
Implements hook_flexiform_build_alter().
File
- flexiform_webform/
flexiform_webform.module, line 546 - Module provides simple webform functionality.
Code
function flexiform_webform_flexiform_build_alter(&$form, &$form_state, $flexiform) {
// Do nothing if the fc module is not enabled.
if (!module_exists('fc')) {
return;
}
// Work out whether this form is being used as the completeness handler.
$base_entity_info = entity_get_info($flexiform->base_entity);
if (empty($base_entity_info['fc handler class']) || !is_subclass_of($base_entity_info['fc handler class'], 'FlexiformFCHandler') && $base_entity_info['fc handler class'] != 'FlexiformFCHandler') {
return;
}
$handler = fcComplete::build($flexiform->base_entity, $form['#flexiform_base_entity']);
if ($handler
->getForm() != $flexiform->form) {
return;
}
$needs_css = FALSE;
foreach ($flexiform->elements as $namespace => $settings) {
if (empty($form[$namespace])) {
continue;
}
if (empty($settings['instance']['settings']['fc'])) {
continue;
}
$fc = $settings['instance']['settings']['fc'];
if ($fc['fc_include'] == 'always' || $fc['fc_include'] == 'entity_exists' && !empty($form['#flexiform_entities'][$fc['fc_include__entity_exists']])) {
$form[$namespace]['#attributes']['class'][] = 'field-fc-included';
$needs_css = TRUE;
}
}
if ($needs_css) {
$form['#attached']['css'][] = drupal_get_path('module', 'flexiform_webform') . '/css/flexiform-webform.fc.css';
}
}