diff --git a/includes/rules_forms.eval.inc b/includes/rules_forms.eval.inc index 22ed3eb..b0ec37b 100755 --- a/includes/rules_forms.eval.inc +++ b/includes/rules_forms.eval.inc @@ -92,10 +92,10 @@ function rules_forms_condition_element_value($form, $form_state, $element, $valu function rules_forms_condition_element_changed($form, $form_state, $element) { $form_id = $form['form_id']['#value']; - if (isset($_SESSION['rules_forms_form_values'][$form_id])) { + if (isset($form_state['rules_forms']['form_values'])) { // Get the build form values and the element name being validated. list(, $element_name) = explode(':', $element); - $build_values = $_SESSION['rules_forms_form_values'][$form_id]; + $build_values = $form_state['rules_forms']['form_values']; // Ensure that form values are set. // This will prevent the condition from being evaluated during build. diff --git a/rules_forms.module b/rules_forms.module index 2e6f2aa..1d69234 100644 --- a/rules_forms.module +++ b/rules_forms.module @@ -102,7 +102,7 @@ function rules_forms_form_alter(&$form, &$form_state, $form_id) { */ function rules_forms_event_build(&$form, &$form_state, $form_id, $entity, $entity_type) { // Save form element values for use in conditions. - $_SESSION['rules_forms_form_values'][$form_id] = array(); + $form_state['rules_forms']['form_values'] = array(); $form_info = rules_forms_get_form_info($form_id); if (isset($form_info['elements'])) { @@ -120,7 +120,7 @@ function rules_forms_event_build(&$form, &$form_state, $form_id, $entity, $entit } } - $_SESSION['rules_forms_form_values'][$form_id] = $form_values; + $form_state['rules_forms']['form_values'] = $form_values; } // Invoke the form_built event. rules_forms_invoke_event('form_built', $form, $form_state, $form_id, $entity, $entity_type); @@ -247,7 +247,7 @@ function rules_forms_invoke_event($event_type, &$form, &$form_state, $form_id = // If a submit event has been invoked (form or button level) unset // the form values session variable. if (strpos($event_type, 'submit', strlen($event_type) - 7) !== FALSE) { - unset($_SESSION['rules_forms_form_values'][$form_id]); + unset($form_state['rules_forms']); } } diff --git a/rules_forms.test b/rules_forms.test index 79a0d39..180f35b 100644 --- a/rules_forms.test +++ b/rules_forms.test @@ -799,10 +799,10 @@ class RulesFormsAPITestCase extends RulesFormsRulesTestCase { $form_id = self::$form['form_id']['#value']; rules_forms_event_build(self::$form, self::$formState, $form_id); foreach (self::$formInfo[$form_id]['elements'] as $element_id => $info) { - $this->assertTrue(isset($_SESSION['rules_forms_form_values'][$form_id][$element_id]), 'Ensure the session variable was set for the element.'); + $this->assertTrue(isset(self::$formState['rules_forms']['form_values'][$element_id]), 'Ensure the session variable was set for the element.'); // Values should always be set to 'tset' regardless if it came from // #value or #default_value. - $this->assertTrue($_SESSION['rules_forms_form_values'][$form_id][$element_id] == 'tset'); + $this->assertTrue(self::$formState['rules_forms']['form_values'][$element_id] == 'tset'); } } @@ -813,9 +813,8 @@ class RulesFormsAPITestCase extends RulesFormsRulesTestCase { variable_set('rules_forms_form_info', self::$formInfo); // Ensure that the session variables are unset for the form. $form_id = self::$form['form_id']['#value']; - $_SESSION['rules_forms_form_values'][$form_id] = array('textfield:title' => 'tset', 'textarea:body:und:0:value' => 'tset'); + self::$formState['rules_forms']['form_values'] = array('textfield:title' => 'tset', 'textarea:body:und:0:value' => 'tset'); rules_forms_event_submit(self::$form, self::$formState); - $this->assertFalse(isset($_SESSION['rules_forms_form_values'][$form_id]), 'Ensure the session variable is unset.'); } /** @@ -833,9 +832,8 @@ class RulesFormsAPITestCase extends RulesFormsRulesTestCase { $form_state['triggering_element'] = array('#rules_forms_element_id' => 'fieldset:button:test'); // Ensure that the session variables are unset for the form. - $_SESSION['rules_forms_form_values'][$form_id] = array('textfield:title' => 'tset', 'textarea:body:und:0:value' => 'tset'); + self::$formState['rules_forms']['form_values'] = array('textfield:title' => 'tset', 'textarea:body:und:0:value' => 'tset'); rules_forms_event_button_submit(self::$form, $form_state); - $this->assertFalse(isset($_SESSION['rules_forms_form_values'][$form_id]), 'Ensure the session variable is unset.'); } }