summaryrefslogtreecommitdiff
path: root/includes/form.inc
diff options
context:
space:
mode:
authorGerhard Killesreiter <killes_www_drop_org@227.no-reply.drupal.org>2006-04-28 12:40:54 +0000
committerGerhard Killesreiter <killes_www_drop_org@227.no-reply.drupal.org>2006-04-28 12:40:54 +0000
commitd04b65967327b770cf9b9eb7a4e8bbfb502cd1a5 (patch)
tree7abc3de82e8c9d21de54eebec2b18b15f9fcf5e4 /includes/form.inc
parentf16b6b2901810787a61a3721f2aa4b8dbce20a7e (diff)
downloadbrdo-d04b65967327b770cf9b9eb7a4e8bbfb502cd1a5.tar.gz
brdo-d04b65967327b770cf9b9eb7a4e8bbfb502cd1a5.tar.bz2
#60797, theme('taxonomy_term_select', $element) called, but output is ignored, patch by chx
Diffstat (limited to 'includes/form.inc')
-rw-r--r--includes/form.inc11
1 files changed, 7 insertions, 4 deletions
diff --git a/includes/form.inc b/includes/form.inc
index 2c3344f6c..a74558b96 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -496,8 +496,8 @@ function form_render(&$elements) {
}
$content = '';
uasort($elements, "_form_sort");
-
if (!isset($elements['#children'])) {
+ $children = element_children($elements);
/* Render all the children that use a theme function */
if (isset($elements['#theme']) && !$elements['#theme_used']) {
$elements['#theme_used'] = TRUE;
@@ -511,12 +511,15 @@ function form_render(&$elements) {
$elements['#value'] = $previous_value;
$elements['#type'] = $previous_type;
-
+ // if we rendered a single element, then we will skip the renderer
+ if (empty($children)) {
+ $elements['#printed'] = TRUE;
+ }
unset($elements['#prefix'], $elements['#suffix']);
}
/* render each of the children using form_render and concatenate them */
if (!$content) {
- foreach (element_children($elements) as $key) {
+ foreach ($children as $key) {
$content .= form_render($elements[$key]);
}
}
@@ -525,7 +528,7 @@ function form_render(&$elements) {
$elements['#children'] = $content;
}
- /* Call the form element renderer */
+ // Until now, we rendered the children, here we render the element itself
if (!isset($elements['#printed'])) {
$content = theme(($elements['#type']) ? $elements['#type']: 'markup', $elements);
$elements['#printed'] = TRUE;