function filter_admin_format_form_submit

Form submission handler for filter_admin_format_form().

See also

filter_admin_format_form_validate()

File

drupal/core/modules/filter/filter.admin.inc, line 312
Administrative page callbacks for the Filter module.

Code

function filter_admin_format_form_submit($form, &$form_state) {

  // Remove unnecessary values.
  form_state_values_clean($form_state);

  // Add the submitted form values to the text format, and save it.
  $format = $form['#format'];
  foreach ($form_state['values'] as $key => $value) {
    if ($key != 'filters') {
      $format
        ->set($key, $value);
    }
    else {
      foreach ($value as $instance_id => $config) {
        $format
          ->setFilterConfig($instance_id, $config);
      }
    }
  }
  $status = $format
    ->save();

  // Save user permissions.
  if ($permission = filter_permission_name($format)) {
    foreach ($form_state['values']['roles'] as $rid => $enabled) {
      user_role_change_permissions($rid, array(
        $permission => $enabled,
      ));
    }
  }
  switch ($status) {
    case SAVED_NEW:
      drupal_set_message(t('Added text format %format.', array(
        '%format' => $format->name,
      )));
      break;
    case SAVED_UPDATED:
      drupal_set_message(t('The text format %format has been updated.', array(
        '%format' => $format->name,
      )));
      break;
  }
  $form_state['redirect'] = 'admin/config/content/formats';
}