views/includes/form.inc::drupal_process_form_new($form_id, &$form, &$form_state)
api
$form_state
$form = form_builder($form_id, $form, $form_state);
api
if(… $form['#post']…)
form_builder($form_id, $form, $form_state)
…
foreach (element_children($form) as $key)
…
$form[$key] = form_builder($form_id, $form[$key], $form_state);
#input: _form_builder_handle_input_element($form_id, $form, $form_state, $complete_form);
$function = !empty($form['#value_callback']) ? $form['#value_callback'] : 'form_type_'. $form['#type'] .'_value';
Bsp. $form['#type']='radios'
if (function_exists($function)): $form['#value'] = $function($form);
(std. form_type_radios_value) * foreach ($form['#process'] as $process) * etwa process=expand_radios
api
* return $element; (array) * $form = $process($form, isset($edit) ? $edit : NULL, $form_state, $complete_form); * … * return $form;