diff options
| author | fisharebest <fisharebest@gmail.com> | 2010-05-28 15:09:30 +0000 |
|---|---|---|
| committer | fisharebest <fisharebest@gmail.com> | 2010-05-28 15:09:30 +0000 |
| commit | 6ef8d5a7a9466752e2bb6388983106a956a9f4e0 (patch) | |
| tree | a8a4c4c859db399337400aa7b450d87fc1f8b84f /includes/functions/functions_db.php | |
| parent | 33cdbe466b854e50091746ea1608b14f407333fa (diff) | |
| download | webtrees-6ef8d5a7a9466752e2bb6388983106a956a9f4e0.tar.gz webtrees-6ef8d5a7a9466752e2bb6388983106a956a9f4e0.tar.bz2 webtrees-6ef8d5a7a9466752e2bb6388983106a956a9f4e0.zip | |
#586858 Change user sttings - fatal error
Diffstat (limited to 'includes/functions/functions_db.php')
| -rw-r--r-- | includes/functions/functions_db.php | 53 |
1 files changed, 37 insertions, 16 deletions
diff --git a/includes/functions/functions_db.php b/includes/functions/functions_db.php index c20367b063..1f2c0f0ea1 100644 --- a/includes/functions/functions_db.php +++ b/includes/functions/functions_db.php @@ -2226,9 +2226,13 @@ function get_site_setting($setting_name, $default_value=null) { function set_site_setting($setting_name, $setting_value) { global $TBLPREFIX; - WT_DB::prepare( - "REPLACE INTO {$TBLPREFIX}site_setting (setting_name, setting_value) VALUES (?, ?)" - )->execute(array($setting_name, $setting_value)); + if (is_null($setting_value)) { + WT_DB::prepare("DELETE FROM {$TBLPREFIX}site_setting WHERE setting_name=?") + ->execute(array($setting_name)); + } else { + WT_DB::prepare("REPLACE INTO {$TBLPREFIX}site_setting (setting_name, setting_value) VALUES (?, ?)") + ->execute(array($setting_name, $setting_value)); + } } //////////////////////////////////////////////////////////////////////////////// @@ -2316,9 +2320,13 @@ function get_gedcom_setting($gedcom_id, $setting_name, $default_value=null) { function set_gedcom_setting($ged_id, $setting_name, $setting_value) { global $TBLPREFIX; - WT_DB::prepare( - "REPLACE INTO {$TBLPREFIX}gedcom_setting (gedcom_id, setting_name, setting_value) VALUES (?, ?, ?)" - )->execute(array($ged_id, $setting_name, $setting_value)); + if (is_null($setting_value)) { + WT_DB::prepare("DELETE FROM {$TBLPREFIX}gedcom_setting WHERE gedcom_id=? AND setting_name=?") + ->execute(array($ged_id, $setting_name)); + } else { + WT_DB::prepare("REPLACE INTO {$TBLPREFIX}gedcom_setting (gedcom_id, setting_name, setting_value) VALUES (?, ?, ?)") + ->execute(array($ged_id, $setting_name, $setting_value)); + } } //////////////////////////////////////////////////////////////////////////////// @@ -2514,9 +2522,13 @@ function get_user_setting($user_id, $setting_name, $default_value=null) { function set_user_setting($user_id, $setting_name, $setting_value) { global $TBLPREFIX; - WT_DB::prepare( - "REPLACE INTO {$TBLPREFIX}user_setting (user_id, setting_name, setting_value) VALUES (?, ?, ?)" - )->execute(array($user_id, $setting_name, $setting_value)); + if (is_null($setting_value)) { + WT_DB::prepare("DELETE FROM {$TBLPREFIX}user_setting WHERE user_id=? AND setting_name=?") + ->execute(array($user_id, $setting_name)); + } else { + WT_DB::prepare("REPLACE INTO {$TBLPREFIX}user_setting (user_id, setting_name, setting_value) VALUES (?, ?, ?)") + ->execute(array($user_id, $setting_name, $setting_value)); + } } function admin_user_exists() { @@ -2539,9 +2551,13 @@ function get_user_gedcom_setting($user_id, $gedcom_id, $setting_name, $default_v function set_user_gedcom_setting($user_id, $ged_id, $setting_name, $setting_value) { global $TBLPREFIX; - WT_DB::prepare( - "REPLACE INTO {$TBLPREFIX}user_gedcom_setting (user_id, gedcom_id, setting_name, setting_value) VALUES (?, ?, ?, ?)" - )->execute(array($user_id, $ged_id, $setting_name, $setting_value)); + if (is_null($setting_value)) { + WT_DB::prepare("DELETE FROM {$TBLPREFIX}user_gedcom_setting WHERE user_id=? AND gedcom_id=? AND setting_name=?") + ->execute(array($user_id, $ged_id, $setting_name)); + } else { + WT_DB::prepare("REPLACE INTO {$TBLPREFIX}user_gedcom_setting (user_id, gedcom_id, setting_name, setting_value) VALUES (?, ?, ?, ?)") + ->execute(array($user_id, $ged_id, $setting_name, $setting_value)); + } } function get_user_from_gedcom_xref($ged_id, $xref) { @@ -2653,9 +2669,13 @@ function get_module_setting($module_name, $setting_name, $default_value=null) { function set_module_setting($module_name, $setting_name, $setting_value) { global $TBLPREFIX; - WT_DB::prepare( - "REPLACE INTO {$TBLPREFIX}module_setting (module_name, setting_name, setting_value) VALUES (?, ?, ?)" - )->execute(array($module_name, $setting_name, $setting_value)); + if (is_null($setting_value)) { + WT_DB::prepare("DELETE FROM {$TBLPREFIX}module_setting WHERE module_name=? AND setting_name=?") + ->execute(array($module_name, $setting_name)); + } else { + WT_DB::prepare("REPLACE INTO {$TBLPREFIX}module_setting (module_name, setting_name, setting_value) VALUES (?, ?, ?)") + ->execute(array($module_name, $setting_name, $setting_value)); + } } /** @@ -2705,7 +2725,8 @@ function get_autocomplete_INDI($FILTER, $ged_id=WT_GED_ID) { WT_DB::prepareLimit($sql, WT_AUTOCOMPLETE_LIMIT) ->execute(array("%{$FILTER}%", $ged_id)) ->fetchAll(PDO::FETCH_ASSOC); - } else { + } + else { return $rows; } } |
