Commit c3cb1ea4 authored by Gerhard Killesreiter's avatar Gerhard Killesreiter
Browse files

#56921, revert earlier patches, patch by chx

parent cfe001af
...@@ -111,8 +111,7 @@ function drupal_get_form($form_id, &$form, $callback = NULL) { ...@@ -111,8 +111,7 @@ function drupal_get_form($form_id, &$form, $callback = NULL) {
$function($form_id, $form); $function($form_id, $form);
} }
form_builder($form_id, $form); $form = form_builder($form_id, $form);
if (!empty($_POST['edit']) && (($_POST['edit']['form_id'] == $form_id) || ($_POST['edit']['form_id'] == $callback))) { if (!empty($_POST['edit']) && (($_POST['edit']['form_id'] == $form_id) || ($_POST['edit']['form_id'] == $callback))) {
drupal_validate_form($form_id, $form, $callback); drupal_validate_form($form_id, $form, $callback);
if ($form_submitted && !form_get_errors()) { if ($form_submitted && !form_get_errors()) {
...@@ -308,9 +307,10 @@ function form_error(&$element, $message = '') { ...@@ -308,9 +307,10 @@ function form_error(&$element, $message = '') {
* @param $form * @param $form
* An associative array containing the structure of the form. * An associative array containing the structure of the form.
*/ */
function form_builder($form_id, &$form) { function form_builder($form_id, $form) {
global $form_values; global $form_values;
global $form_submitted; global $form_submitted;
/* Use element defaults */ /* Use element defaults */
if ((!empty($form['#type'])) && ($info = _element_info($form['#type']))) { if ((!empty($form['#type'])) && ($info = _element_info($form['#type']))) {
// overlay $info onto $form, retaining preexisting keys in $form // overlay $info onto $form, retaining preexisting keys in $form
...@@ -417,7 +417,7 @@ function form_builder($form_id, &$form) { ...@@ -417,7 +417,7 @@ function form_builder($form_id, &$form) {
if (!isset($form[$key]['#weight'])) { if (!isset($form[$key]['#weight'])) {
$form[$key]['#weight'] = $count/1000; $form[$key]['#weight'] = $count/1000;
} }
form_builder($form_id, $form[$key]); $form[$key] = form_builder($form_id, $form[$key]);
$count++; $count++;
} }
...@@ -426,6 +426,8 @@ function form_builder($form_id, &$form) { ...@@ -426,6 +426,8 @@ function form_builder($form_id, &$form) {
$form = $function($form, $form_values); $form = $function($form, $form_values);
$form['#after_build_done'] = TRUE; $form['#after_build_done'] = TRUE;
} }
return $form;
} }
/** /**
......
...@@ -133,7 +133,7 @@ function poll_form(&$node) { ...@@ -133,7 +133,7 @@ function poll_form(&$node) {
$form['choice']['choices'] = array('#type' => 'hidden', '#default_value' => max(2, count($node->choice) ? count($node->choice) : 5)); $form['choice']['choices'] = array('#type' => 'hidden', '#default_value' => max(2, count($node->choice) ? count($node->choice) : 5));
$form['choice']['morechoices'] = array('#type' => 'checkbox', '#title' => t('Need more choices'), '#default_value' => 0, '#description' => t("If the amount of boxes above isn't enough, check this box and click the Preview button below to add some more."), '#weight' => 1); $form['choice']['morechoices'] = array('#type' => 'checkbox', '#title' => t('Need more choices'), '#default_value' => 0, '#description' => t("If the amount of boxes above isn't enough, check this box and click the Preview button below to add some more."), '#weight' => 1);
form_builder('poll_node_form', $form['choice']); $form['choice'] = form_builder('poll_node_form', $form['choice']);
if ($form['choice']['morechoices']['#value']) { if ($form['choice']['morechoices']['#value']) {
$form['choice']['morechoices']['#value'] = 0; $form['choice']['morechoices']['#value'] = 0;
$form['choice']['choices']['#value'] *= 2; $form['choice']['choices']['#value'] *= 2;
......
...@@ -133,7 +133,7 @@ function poll_form(&$node) { ...@@ -133,7 +133,7 @@ function poll_form(&$node) {
$form['choice']['choices'] = array('#type' => 'hidden', '#default_value' => max(2, count($node->choice) ? count($node->choice) : 5)); $form['choice']['choices'] = array('#type' => 'hidden', '#default_value' => max(2, count($node->choice) ? count($node->choice) : 5));
$form['choice']['morechoices'] = array('#type' => 'checkbox', '#title' => t('Need more choices'), '#default_value' => 0, '#description' => t("If the amount of boxes above isn't enough, check this box and click the Preview button below to add some more."), '#weight' => 1); $form['choice']['morechoices'] = array('#type' => 'checkbox', '#title' => t('Need more choices'), '#default_value' => 0, '#description' => t("If the amount of boxes above isn't enough, check this box and click the Preview button below to add some more."), '#weight' => 1);
form_builder('poll_node_form', $form['choice']); $form['choice'] = form_builder('poll_node_form', $form['choice']);
if ($form['choice']['morechoices']['#value']) { if ($form['choice']['morechoices']['#value']) {
$form['choice']['morechoices']['#value'] = 0; $form['choice']['morechoices']['#value'] = 0;
$form['choice']['choices']['#value'] *= 2; $form['choice']['choices']['#value'] *= 2;
......
...@@ -640,7 +640,7 @@ function upload_js() { ...@@ -640,7 +640,7 @@ function upload_js() {
_upload_validate($node); _upload_validate($node);
$form = _upload_form($node); $form = _upload_form($node);
form_builder('upload_js', $form); $form = form_builder('upload_js', $form);
$output = theme('status_messages') . form_render($form); $output = theme('status_messages') . form_render($form);
// We send the updated file attachments form. // We send the updated file attachments form.
......
...@@ -640,7 +640,7 @@ function upload_js() { ...@@ -640,7 +640,7 @@ function upload_js() {
_upload_validate($node); _upload_validate($node);
$form = _upload_form($node); $form = _upload_form($node);
form_builder('upload_js', $form); $form = form_builder('upload_js', $form);
$output = theme('status_messages') . form_render($form); $output = theme('status_messages') . form_render($form);
// We send the updated file attachments form. // We send the updated file attachments form.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment