Same name and namespace in other branches
  1. 4.7.x includes/form.inc \expand_radios()
  2. 5.x includes/form.inc \expand_radios()

Roll out a single radios element to a list of radios, using the options array as index.

Related topics

1 string reference to 'expand_radios'
system_elements in modules/system/system.module
Implementation of hook_elements().

File

includes/form.inc, line 1841

Code

function expand_radios($element) {
  if (count($element['#options']) > 0) {
    foreach ($element['#options'] as $key => $choice) {
      if (!isset($element[$key])) {

        // Generate the parents as the autogenerator does, so we will have a
        // unique id for each radio button.
        $parents_for_id = array_merge($element['#parents'], array(
          $key,
        ));
        $element[$key] = array(
          '#type' => 'radio',
          '#title' => $choice,
          '#return_value' => check_plain($key),
          '#default_value' => isset($element['#default_value']) ? $element['#default_value'] : NULL,
          '#attributes' => $element['#attributes'],
          '#parents' => $element['#parents'],
          '#id' => form_clean_id('edit-' . implode('-', $parents_for_id)),
          '#ahah' => isset($element['#ahah']) ? $element['#ahah'] : NULL,
        );
      }
    }
  }
  return $element;
}