From dc8a68ea28a7040691edb6caddf6e41a961be257 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sat, 24 Apr 2004 15:39:31 +0000 Subject: - Patch #6791: mark required fields. Modified patch by Michelangelo. --- includes/common.inc | 36 ++++++++++++++++++------------------ includes/theme.inc | 18 +++++++++++++----- 2 files changed, 31 insertions(+), 23 deletions(-) (limited to 'includes') diff --git a/includes/common.inc b/includes/common.inc index 32a70a763..547f50bf5 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -973,66 +973,66 @@ function form($form, $method = "post", $action = NULL, $attributes = NULL) { return "
\n$form\n
\n"; } -function form_item($title, $value, $description = NULL, $id = NULL) { - return theme("form_element", $title, $value, $description, $id); +function form_item($title, $value, $description = NULL, $id = NULL, $required = FALSE) { + return theme("form_element", $title, $value, $description, $id, $required); } function form_group($legend, $group, $description = NULL) { return "
" . ($legend ? "$legend" : "") . $group . ($description ? "
$description
" : "") . "
\n"; } -function form_radio($title, $name, $value = 1, $checked = 0, $description = NULL, $attributes = NULL) { +function form_radio($title, $name, $value = 1, $checked = 0, $description = NULL, $attributes = NULL, $required = FALSE) { $element = "'; if (!is_null($title)) { $element = ""; } - return theme('form_element', NULL, $element, $description); + return theme('form_element', NULL, $element, $description, $required); } -function form_radios($title, $name, $value, $options, $description = NULL) { +function form_radios($title, $name, $value, $options, $description = NULL, $required = FALSE) { if (count($options) > 0) { $choices = ''; foreach ($options as $key => $choice) { $choices .= "
"; } - return theme('form_element', $title, $choices, $description); + return theme('form_element', $title, $choices, $description, $required = FALSE); } } -function form_checkbox($title, $name, $value = 1, $checked = 0, $description = NULL, $attributes = NULL) { +function form_checkbox($title, $name, $value = 1, $checked = 0, $description = NULL, $attributes = NULL, $required = FALSE) { $element = "'; if (!is_null($title)) { $element = ""; } - return form_hidden($name, 0) . theme('form_element', NULL, $element, $description); + return form_hidden($name, 0) . theme('form_element', NULL, $element, $description, $required); } -function form_textfield($title, $name, $value, $size, $maxlength, $description = NULL, $attributes = NULL) { +function form_textfield($title, $name, $value, $size, $maxlength, $description = NULL, $attributes = NULL, $required = FALSE) { $size = $size ? " size=\"$size\"" : ""; - return theme("form_element", $title, "", $description, $name); + return theme("form_element", $title, "", $description, $name, $required); } -function form_password($title, $name, $value, $size, $maxlength, $description = NULL, $attributes = NULL) { +function form_password($title, $name, $value, $size, $maxlength, $description = NULL, $attributes = NULL, $required = FALSE) { $size = $size ? " size=\"$size\"" : ""; - return theme("form_element", $title, "", $description, $name); + return theme("form_element", $title, "", $description, $name, $required); } -function form_textarea($title, $name, $value, $cols, $rows, $description = NULL, $attributes = NULL) { +function form_textarea($title, $name, $value, $cols, $rows, $description = NULL, $attributes = NULL, $required = FALSE) { $cols = $cols ? " cols=\"$cols\"" : ""; module_invoke_all("textarea", $name); // eg. optionally plug in a WYSIWYG editor - return theme("form_element", $title, "", $description, $name); + return theme("form_element", $title, "", $description, $name, $required); } -function form_select($title, $name, $value, $options, $description = NULL, $extra = 0, $multiple = 0) { +function form_select($title, $name, $value, $options, $description = NULL, $extra = 0, $multiple = 0, $required = FALSE) { $select = ''; foreach ($options as $key => $choice) { $select .= ""; } - return theme("form_element", $title, "", $description, $name); + return theme("form_element", $title, "", $description, $name, $required); } -function form_file($title, $name, $size, $description = NULL) { - return theme("form_element", $title, "\n", $description, $name); +function form_file($title, $name, $size, $description = NULL, $required = FALSE) { + return theme("form_element", $title, "\n", $description, $name, $required); } function form_hidden($name, $value) { diff --git a/includes/theme.inc b/includes/theme.inc index cd0559529..a4f329cd4 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -273,22 +273,30 @@ function theme_node($node, $main = 0, $page = 0) { * @return a string representing the form element */ -function theme_form_element($title, $value, $description = NULL, $id = NULL) { +function theme_form_element($title, $value, $description = NULL, $id = NULL, $required = FALSE) { + + $output = "
\n"; + + $required = $required ? theme('mark') : ''; if ($title) { if ($id) { - $title = "
"; + $output .= " $required
\n"; } else { - $title = "
"; + $output .= " $required
\n"; } } + $output .= " $value\n"; + if ($description) { - $description = "
$description
"; + $output .= "
$description
\n"; } - return "
". $title . $value . $description ."
\n"; + $output .= "
\n"; + + return $output; } /** -- cgit v1.2.3