From 121b3483948266497368ba7ced10ff9a600f84dd Mon Sep 17 00:00:00 2001 From: David Rothstein Date: Tue, 12 Jun 2012 10:32:30 -0400 Subject: Issue #1591726 by sun, tim.plunkett: Fixed Missing form_id, form_build_id, and form_token when using custom #parents and #tree = TRUE on $form itself. --- includes/form.inc | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'includes') diff --git a/includes/form.inc b/includes/form.inc index a86510e05..bea4914b0 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -977,6 +977,10 @@ function drupal_prepare_form($form_id, &$form, &$form_state) { '#value' => $form['#build_id'], '#id' => $form['#build_id'], '#name' => 'form_build_id', + // Form processing and validation requires this value, so ensure the + // submitted form value appears literally, regardless of custom #tree + // and #parents being set elsewhere. + '#parents' => array('form_build_id'), ); // Add a token, based on either #token or form_id, to any form displayed to @@ -1000,6 +1004,10 @@ function drupal_prepare_form($form_id, &$form, &$form_state) { '#id' => drupal_html_id('edit-' . $form_id . '-form-token'), '#type' => 'token', '#default_value' => drupal_get_token($form['#token']), + // Form processing and validation requires this value, so ensure the + // submitted form value appears literally, regardless of custom #tree + // and #parents being set elsewhere. + '#parents' => array('form_token'), ); } } @@ -1009,6 +1017,10 @@ function drupal_prepare_form($form_id, &$form, &$form_state) { '#type' => 'hidden', '#value' => $form_id, '#id' => drupal_html_id("edit-$form_id"), + // Form processing and validation requires this value, so ensure the + // submitted form value appears literally, regardless of custom #tree + // and #parents being set elsewhere. + '#parents' => array('form_id'), ); } if (!isset($form['#id'])) { -- cgit v1.2.3