diff options
| author | Greg Roach <fisharebest@gmail.com> | 2014-10-05 21:04:59 +0100 |
|---|---|---|
| committer | Greg Roach <fisharebest@gmail.com> | 2014-10-05 21:04:59 +0100 |
| commit | c5fa1f3610d9462cdd328f1cf9283598f001687c (patch) | |
| tree | 82599c50874586258848e26a39cabb8012311360 /library | |
| parent | b7428a5d5c2c0fe00cde3229caba1a0e741925d8 (diff) | |
| download | webtrees-c5fa1f3610d9462cdd328f1cf9283598f001687c.tar.gz webtrees-c5fa1f3610d9462cdd328f1cf9283598f001687c.tar.bz2 webtrees-c5fa1f3610d9462cdd328f1cf9283598f001687c.zip | |
Tree settings cannot be null
Diffstat (limited to 'library')
| -rw-r--r-- | library/WT/Tree.php | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/library/WT/Tree.php b/library/WT/Tree.php index ae4e71b811..382393382a 100644 --- a/library/WT/Tree.php +++ b/library/WT/Tree.php @@ -90,9 +90,15 @@ class WT_Tree { public function setPreference($setting_name, $setting_value) { if ($setting_value !== $this->getPreference($setting_name)) { // Update the database - WT_DB::prepare( - "REPLACE INTO `##gedcom_setting` (gedcom_id, setting_name, setting_value) VALUES (?, ?, LEFT(?, 255))" - )->execute(array($this->tree_id, $setting_name, $setting_value)); + if ($setting_value === null) { + WT_DB::prepare( + "DELETE FROM `##gedcom_setting` WHERE gedcom_id = ? AND setting_name = ?" + )->execute(array($this->tree_id, $setting_name)); + } else { + WT_DB::prepare( + "REPLACE INTO `##gedcom_setting` (gedcom_id, setting_name, setting_value) VALUES (?, ?, LEFT(?, 255))" + )->execute(array($this->tree_id, $setting_name, $setting_value)); + } // Update our cache $this->preferences[$setting_name] = $setting_value; // Audit log of changes |
