function rules_forms_form_alter in Rules Forms Support 7
Same name and namespace in other branches
- 7.2 rules_forms.module \rules_forms_form_alter()
Implements hook_form_alter().
File
- ./
rules_forms.module, line 69 - Rules Forms Support provides events, conditions, and actions for site forms.
Code
function rules_forms_form_alter(&$form, &$form_state, $form_id) {
$form_info = rules_forms_get_form_info($form_id);
if ($form_info !== FALSE) {
// Set elements for form events.
$entity_type = isset($form_state['entity_type']) ? $form_state['entity_type'] : NULL;
$entity = isset($entity_type) ? $form_state[$entity_type] : NULL;
rules_forms_event_build($form, $form_state, $form_id, $entity, $entity_type);
$form['#validate'][] = 'rules_forms_event_validate';
$form['#submit'][] = 'rules_forms_event_submit';
$form['#after_build'][] = 'rules_forms_after_build';
// Add button level validation and submission handling.
if ($form_info['buttons'] && isset($form_info['submit'])) {
foreach ($form_info['submit'] as $element_id => $label) {
$element =& _rules_forms_get_element($form, $element_id);
$element['#rules_forms_element_id'] = $element_id;
$element['#validate'][] = 'rules_forms_event_button_validate';
$element['#submit'][] = 'rules_forms_event_button_submit';
}
}
}
elseif (!empty($_SESSION['rules_forms_message'])) {
// Display form ID message if enabled for this session.
$uri = drupal_get_destination();
$link = l($form_id, RULES_FORMS_ADMIN_PATH . '/' . $form_id . '/activate/' . urlencode(trim($uri['destination'], '/')));
$msg = t('Activate events for !form.', array(
'!form' => $link,
));
drupal_set_message($msg, 'status', FALSE);
}
}