summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/form.inc2
-rw-r--r--modules/system.module6
-rw-r--r--modules/system/system.module6
3 files changed, 12 insertions, 2 deletions
diff --git a/includes/form.inc b/includes/form.inc
index 2afaa6893..07df6d782 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 e38b329a7..7e000f9f0 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 e38b329a7..7e000f9f0 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);