diff --git a/includes/form.inc b/includes/form.inc index 2afaa6893b1def3d122c80119a1ec9824739acb0..07df6d7820ca3c168bedfc7893f2cf5421a11428 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -176,8 +176,6 @@ function drupal_validate_form($form_id, $form, $callback = NULL) { function drupal_submit_form($form_id, $form, $callback = NULL) { global $form_values; $default_args = array($form_id, &$form_values); - // Prevent system module forms (system/theme settings) from saving certain form fields to the variables table. - unset($GLOBALS['form_values']['submit'], $GLOBALS['form_values']['reset'], $GLOBALS['form_values']['form_id']); if (isset($form['#submit'])) { foreach ($form['#submit'] as $function => $args) { diff --git a/modules/system.module b/modules/system.module index e38b329a7541935906e3c9f704f5507b280a2611..7e000f9f0dea904263a3f60e542e615e1df8a6c4 100644 --- a/modules/system.module +++ b/modules/system.module @@ -760,6 +760,9 @@ function system_theme_settings_submit($form_id, $values) { $op = isset($_POST['op']) ? $_POST['op'] : ''; $key = $values['var']; + // Exclude unnecessary elements. + unset($values['var'], $values['submit'], $values['reset'], $values['form_id']); + if ($op == t('Reset to defaults')) { variable_del($key); drupal_set_message(t('The configuration options have been reset to their default values.')); @@ -786,6 +789,9 @@ function system_settings_form_submit($form_id, $values) { $values['clean_url'] = 0; } + // Exclude unnecessary elements. + unset($values['submit'], $values['reset'], $values['form_id']); + foreach ($values as $key => $value) { if ($op == t('Reset to defaults')) { variable_del($key); diff --git a/modules/system/system.module b/modules/system/system.module index e38b329a7541935906e3c9f704f5507b280a2611..7e000f9f0dea904263a3f60e542e615e1df8a6c4 100644 --- a/modules/system/system.module +++ b/modules/system/system.module @@ -760,6 +760,9 @@ function system_theme_settings_submit($form_id, $values) { $op = isset($_POST['op']) ? $_POST['op'] : ''; $key = $values['var']; + // Exclude unnecessary elements. + unset($values['var'], $values['submit'], $values['reset'], $values['form_id']); + if ($op == t('Reset to defaults')) { variable_del($key); drupal_set_message(t('The configuration options have been reset to their default values.')); @@ -786,6 +789,9 @@ function system_settings_form_submit($form_id, $values) { $values['clean_url'] = 0; } + // Exclude unnecessary elements. + unset($values['submit'], $values['reset'], $values['form_id']); + foreach ($values as $key => $value) { if ($op == t('Reset to defaults')) { variable_del($key);