Format a set of checkboxes.
Parameters
$title: The label for the checkboxes as a group.
$name: The internal name used to refer to the buttons.
$values: A linear array of keys of the initially checked boxes.
$options: An associative array of buttons to display. The keys in this array are button values, while the values are the labels to display for each button.
$description: Explanatory text to display after the form item.
$attributes: An associative array of HTML attributes to add to each button.
$required: Whether the user must check a box before submitting the form.
Return value
A themed HTML string representing the checkbox set.
Related topics
4 calls to form_checkboxes()
- aggregator_form_feed in modules/
aggregator.module - blogapi_settings in modules/
blogapi.module - taxonomy_form_vocabulary in modules/
taxonomy.module - user_edit_form in modules/
user.module
File
- includes/
common.inc, line 1184 - Common functions that many Drupal modules will need to reference.
Code
function form_checkboxes($title, $name, $values, $options, $description = NULL, $attributes = NULL, $required = FALSE) {
if (count($options) > 0) {
if (!isset($values) || $values == 0) {
$values = array();
}
$choices = '';
foreach ($options as $key => $choice) {
$choices .= '<label class="option"><input type="checkbox" class="form-checkbox" name="edit[' . $name . '][]" value="' . check_plain($key) . '"' . (in_array($key, $values) ? ' checked="checked"' : '') . drupal_attributes($attributes) . ' /> ' . $choice . '</label><br />';
}
// Note: because unchecked boxes are not included in the POST data, we
// include a form_hidden() which will be overwritten as soon as there is at
// least one checked box.
return form_hidden($name, 0) . theme('form_element', $title, $choices, $description, NULL, $required, _form_get_error($name));
}
}