From 542d69fbf90805326885d34f2d40e3c722ff4c2d Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Mon, 24 Aug 2009 14:49:08 +0000 Subject: #547846 by David_Rothstein: Fixed a missing reference operator that caused Drupal installation to fail on PHP 5.3. --- includes/form.inc | 3 +++ install.php | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/includes/form.inc b/includes/form.inc index 2256f4f05..e9030efe6 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -442,6 +442,9 @@ function drupal_retrieve_form($form_id, &$form_state) { } } + // We need to pass $form_state by reference in order for forms to modify it, + // since call_user_func_array() requires that referenced variables be passed + // explicitly. $args = array_merge(array(&$form_state), $args); // If $callback was returned by a hook_forms() implementation, call it. diff --git a/install.php b/install.php index b2da561f6..f5719a1cd 100644 --- a/install.php +++ b/install.php @@ -386,7 +386,10 @@ function install_run_task($task, &$install_state) { // redirect, since the installer handles its own redirection only after // marking the form submission task complete. $form_state = array( - 'args' => array($install_state), + // We need to pass $install_state by reference in order for forms to + // modify it, since the form API will use it in call_user_func_array(), + // which requires that referenced variables be passed explicitly. + 'args' => array(&$install_state), 'no_redirect' => TRUE, ); $form = drupal_build_form($function, $form_state); -- cgit v1.2.3