diff options
Diffstat (limited to 'includes/form.inc')
-rw-r--r-- | includes/form.inc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/includes/form.inc b/includes/form.inc index 0bbc04867..7be8fb061 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -69,11 +69,13 @@ function drupal_get_form($form_id) { // to build it from scratch. if (!isset($form)) { $form_state['post'] = $_POST; - array_shift($args); - array_unshift($args, $form_state); - array_unshift($args, $form_id); + // Use a copy of the function's arguments for manipulation + $args_temp = $args; + array_shift($args_temp); + array_unshift($args_temp, $form_state); + array_unshift($args_temp, $form_id); - $form = call_user_func_array('drupal_retrieve_form', $args); + $form = call_user_func_array('drupal_retrieve_form', $args_temp); $form_build_id = 'form-'. md5(mt_rand()); $form['#build_id'] = $form_build_id; drupal_prepare_form($form_id, $form, $form_state); |