فهرست منبع

Fix issue not allowing save of boolean prefs that default to SMPREF_ON

pdontthink 17 سال پیش
والد
کامیت
a0d3b8062d
1فایلهای تغییر یافته به همراه8 افزوده شده و 0 حذف شده
  1. 8 0
      functions/options.php

+ 8 - 0
functions/options.php

@@ -784,6 +784,14 @@ function save_option($option) {
     } else if ($option->is_multiple_valued())
     } else if ($option->is_multiple_valued())
         setPref($data_dir, $username, $option->name, serialize($option->new_value));
         setPref($data_dir, $username, $option->name, serialize($option->new_value));
 
 
+    // Checkboxes, when unchecked, don't submit anything in
+    // the POST, so set to SMPREF_OFF if not found
+    //
+    else if (($option->type == SMOPT_TYPE_BOOLEAN
+           || $option->type == SMOPT_TYPE_BOOLEAN_CHECKBOX)
+          && empty($option->new_value)) 
+        setPref($data_dir, $username, $option->name, SMPREF_OFF);
+
     else
     else
         setPref($data_dir, $username, $option->name, $option->new_value);
         setPref($data_dir, $username, $option->name, $option->new_value);