function rules_forms_condition_element_changed in Rules Forms Support 7.2
Same name and namespace in other branches
- 7 includes/rules_forms.eval.inc \rules_forms_condition_element_changed()
Condition: Form element value has changed.
1 string reference to 'rules_forms_condition_element_changed'
- rules_forms_rules_condition_info in ./
rules_forms.rules.inc - Implements hook_rules_condition_info().
File
- includes/
rules_forms.eval.inc, line 91 - Evaluation functions for Rules Forms module.
Code
function rules_forms_condition_element_changed(RulesFormsElementWrapper $form_element, $form_state, $settings, $state, $element) {
$form_id = $form['form_id']['#value'];
$form_values = $form_state
->value();
$form_values = $form_values['values'];
if (isset($_SESSION['rules_forms_form_values'][$form_id]) && strpos($settings['data:select'], ':') !== FALSE) {
// Get the build form values and the element name being validated.
$element_name = substr($settings['data:select'], strpos($settings['data:select'], ':') + 1);
$build_values = $_SESSION['rules_forms_form_values'][$form_id];
// Ensure that form values are set. This will prevent the condition from
// being evaluated during build.
if (isset($build_values[$element_name]) && isset($form_state['values']) && isset($form_state['values'][$element_name])) {
return $build_values[$element_name] !== $form_state['values'][$element_name];
}
}
return FALSE;
}