function system_config_form

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.

Parameters

array $form: An associative array containing the structure of the form.

array $form_state: Reference to an associative array containing state of the form.

Return value

array The form structure.

See also

system_config_form_submit()

Related topics

21 calls to system_config_form()
aggregator_admin_form in drupal/core/modules/aggregator/aggregator.admin.inc
Form constructor for the aggregator system settings.
book_admin_settings in drupal/core/modules/book/book.admin.inc
Form constructor for the book settings form.
forum_admin_settings in drupal/core/modules/forum/forum.admin.inc
Form constructor for the forum settings page.
language_negotiation_configure_selected_form in drupal/core/modules/language/language.admin.inc
Builds the selected language negotiation method configuration form.
language_negotiation_configure_session_form in drupal/core/modules/language/language.admin.inc
Builds the session language negotiation method configuration form.

... See full list

File

drupal/core/modules/system/system.module, line 3194
Configuration system that lets administrators modify the workings of the site.

Code

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;
}