Same name and namespace in other branches
  1. 4.6.x modules/system.module \system_settings_form()
  2. 4.7.x modules/system.module \system_settings_form()
  3. 5.x modules/system/system.module \system_settings_form()
  4. 6.x modules/system/system.module \system_settings_form()

Sets up a form to save information automatically.

This function adds a submit handler and a submit button to a form array. The submit function saves all the data in the form, using variable_set(), to variables named the same as the keys in the form array. Note that this means you should normally prefix your form array keys with your module name, so that they are unique when passed into variable_set().

If you need to manipulate the data in a custom manner, you can either put your own submission handler in the form array before calling this function, or just use your own submission handler instead of calling this function.

Parameters

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

Return value

The form structure.

See also

system_settings_form_submit()

Related topics

22 calls to system_settings_form()
book_admin_settings in modules/book/book.admin.inc
Form constructor for the book settings form.
forum_admin_settings in modules/forum/forum.admin.inc
Form constructor for the forum settings page.
locale_language_providers_session_form in modules/locale/locale.admin.inc
The URL language provider configuration form.
locale_language_providers_url_form in modules/locale/locale.admin.inc
The URL language provider configuration form.
menu_configure in modules/menu/menu.admin.inc
Menu callback; Build the form presenting menu configuration options.

... See full list

1 string reference to 'system_settings_form'
system_theme in modules/system/system.module
Implements hook_theme().

File

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

Code

function system_settings_form($form) {
  $form['actions']['#type'] = 'actions';
  $form['actions']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save configuration'),
  );
  if (!empty($_POST) && form_get_errors()) {
    drupal_set_message(t('The settings have not been saved because of the errors.'), 'error');
  }
  $form['#submit'][] = 'system_settings_form_submit';

  // By default, render the form using theme_system_settings_form().
  if (!isset($form['#theme'])) {
    $form['#theme'] = 'system_settings_form';
  }
  return $form;
}