From b9f6b72a5877943e13d940e0705826d002ca1361 Mon Sep 17 00:00:00 2001 From: Dries Buytaert <dries@buytaert.net> Date: Tue, 24 Jan 2006 08:20:45 +0000 Subject: [PATCH] - Patch #45834 by jvandyk: removed forms API warnings. --- includes/form.inc | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/includes/form.inc b/includes/form.inc index 021c76884e49..db6e53d39dcd 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -21,6 +21,9 @@ function element_property($key) { return $key[0] == '#'; } +/** + * Get properties of a form tree element. Properties begin with '#'. + */ function element_properties($element) { return array_filter(array_keys((array) $element), 'element_property'); } @@ -32,6 +35,9 @@ function element_child($key) { return $key[0] != '#'; } +/** + * Get keys of a form tree element that are not properties (i.e., do not begin with '#'). + */ function element_children($element) { return array_filter(array_keys((array) $element), 'element_child'); } @@ -253,7 +259,7 @@ function _form_builder($form_id, $form) { $form += $info; } - if ($form['#input']) { + if (isset($form['#input']) && $form['#input']) { if (!isset($form['#name'])) { $form['#name'] = 'edit[' . implode('][', $form['#parents']) . ']'; } @@ -287,7 +293,7 @@ function _form_builder($form_id, $form) { } } } - if (isset($form['#form_submitted'])) { + if (isset($form['#form_submitted']) && isset($_POST[$form['#name']])) { if ($_POST[$form['#name']] == $form['#value']) { $form_submitted = $form_submitted || $form['#form_submitted']; } @@ -308,7 +314,7 @@ function _form_builder($form_id, $form) { // Set the $form_values key that gets passed to validate and submit. // We call this after #process gets called so that #process has a // chance to update #value if desired. - if ($form['#input']) { + if (isset($form['#input']) && $form['#input']) { $ref = $form['#value']; } @@ -334,7 +340,7 @@ function _form_builder($form_id, $form) { $count++; } - if (function_exists($form['#after_build']) && !isset($form['#after_build_done'])) { + if (isset($form['#after_build']) && function_exists($form['#after_build']) && !isset($form['#after_build_done'])) { $function = $form['#after_build']; $form = $function($form, $form_values, $ref); $form['#after_build_done'] = TRUE; @@ -361,9 +367,9 @@ function form_render(&$elements) { $content = ''; uasort($elements, "_form_sort"); - if (!$elements['#children']) { + if (!isset($elements['#children'])) { /* render all the children using a theme function */ - if ($elements['#theme'] && !$elements['#theme_used']) { + if (isset($elements['#theme']) && !$elements['#theme_used']) { $elements['#theme_used'] = TRUE; $previous_type = $elements['#type']; $elements['#type'] = 'markup'; @@ -382,13 +388,15 @@ function form_render(&$elements) { } /* Call the form element renderer */ - if (!$elements['#printed']) { + if (!isset($elements['#printed'])) { $content = theme(($elements['#type']) ? $elements['#type']: 'markup', $elements); $elements['#printed'] = TRUE; } if ($content) { - return $elements['#prefix'] . $content . $elements['#suffix']; + $prefix = isset($elements['#prefix']) ? $elements['#prefix'] : ''; + $suffix = isset($elements['#suffix']) ? $elements['#suffix'] : ''; + return $prefix . $content . $suffix; } } @@ -507,7 +515,7 @@ function form_select_options($element, $choices = NULL) { * * @param $element * An associative array containing the properties of the element. - * Properties used: attributes, title, description, children, collapsible, collapsed + * Properties used: attributes, title, value, description, children, collapsible, collapsed * @return * A themed HTML string representing the form item group. */ @@ -796,6 +804,8 @@ function theme_hidden($element) { */ function theme_textfield($element) { $size = $element['#size'] ? ' size="' . $element['#size'] . '"' : ''; + $class = ''; + $extra = ''; if ($element['#autocomplete_path']) { drupal_add_js('misc/autocomplete.js'); $class = ' form-autocomplete'; @@ -870,7 +880,7 @@ function theme_markup($element) { function theme_password($element) { $size = $element['#size'] ? ' size="'. $element['#size'] .'" ' : ''; - $output = '<input type="password" maxlength="'. $element['#maxlength'] .'" class="'. _form_get_class("form-text $class", $element['#required'], form_get_error($element)) .'" name="'. $element['#name'] .'" id="'. $element['#id'] .'" '. $size . drupal_attributes($element['#attributes']) .' />'; + $output = '<input type="password" maxlength="'. $element['#maxlength'] .'" class="'. _form_get_class('form-text', $element['#required'], form_get_error($element)) .'" name="'. $element['#name'] .'" id="'. $element['#id'] .'" '. $size . drupal_attributes($element['#attributes']) .' />'; return theme('form_element', $element['#title'], $output, $element['#description'], $element['#id'], $element['#required'], form_get_error($element)); } -- GitLab