Form submission handler for filter_admin_format_form().
filter_admin_format_form_validate()
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';
}