From 3300aa2d4eeb26e2bc9c130d29cd4b698d403b34 Mon Sep 17 00:00:00 2001
From: Gerhard Killesreiter <killes_www_drop_org@227.no-reply.drupal.org>
Date: Tue, 25 Apr 2006 10:00:57 +0000
Subject: [PATCH] #59960, Can't store the value of submit, patch by Zen

---
 includes/form.inc            | 2 --
 modules/system.module        | 6 ++++++
 modules/system/system.module | 6 ++++++
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/includes/form.inc b/includes/form.inc
index 2afaa6893b1d..07df6d7820ca 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 e38b329a7541..7e000f9f0dea 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 e38b329a7541..7e000f9f0dea 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);
-- 
GitLab