Adds default behavior to a configuration form.
This includes a consistent 'Save configuration' button, theme definition, and submit handler.
@todo Replace this temporary helper with a more sophisticated solution: http://drupal.org/node/1324618.
array $form: An associative array containing the structure of the form.
array $form_state: Reference to an associative array containing state of the form.
array The form structure.
function system_config_form($form, &$form_state) {
$form['actions']['#type'] = 'actions';
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save configuration'),
);
// Add system_config_form_submit() to output a consistent confirmation
// message. Since this prevents drupal_prepare_form() from adding the form's
// primary submit handler, do that first, using the same logic.
if (!isset($form['#submit'])) {
$form['#submit'] = array();
if (function_exists($form_state['build_info']['form_id'] . '_submit')) {
$form['#submit'][] = $form_state['build_info']['form_id'] . '_submit';
}
elseif (isset($form_state['build_info']['base_form_id']) && function_exists($form_state['build_info']['base_form_id'] . '_submit')) {
$form['#submit'][] = $form_state['build_info']['base_form_id'] . '_submit';
}
}
$form['#submit'][] = 'system_config_form_submit';
// By default, render the form using theme_system_settings_form().
if (!isset($form['#theme'])) {
$form['#theme'] = 'system_settings_form';
}
return $form;
}