You are here

function webmaster_menu_config_form_submit in Webmaster menu 7

Submit handler for the Webmaster configuration form.

File

./webmaster_menu.config_page.inc, line 97
Configuration page for Webmaster menu

Code

function webmaster_menu_config_form_submit($form, &$form_state) {
  $values = $form_state['values'];
  $roles = $values['roles'];

  // $roles is a map. Keys: every role id. Values: same as key, when selected,
  // 0 otherwise.
  // We prefer a simpler datastructure: An array of role ids.
  // array_filter() is used to remove the key/value pairs with value==0.
  // This leaves an array like this: array(3 => "3", 4 => "5").
  // array_keys() is used to make it like this: array(3, 4).
  $roles = array_keys(array_filter($roles));

  // Now save all the values with variable_set.
  // We could almost have used system_settings_form - but not quite, because we
  // wanted to store the roles as a simple array of role ids.
  variable_set('webmaster_menu_roles', $roles);
  variable_set('webmaster_menu_show_root', $values['show_root']);
  variable_set('webmaster_menu_menu', $values['menu']);
  variable_set('webmaster_menu_add_home', $values['add_home']);
  variable_set('webmaster_menu_home_menu', $values['home_menu']);
  variable_set('webmaster_menu_add_logout', $values['add_logout']);
  variable_set('webmaster_menu_extra_menu', $values['extra_menu']);
  variable_set('webmaster_menu_positioning', $values['positioning']);
}