summaryrefslogtreecommitdiff
path: root/includes/functions/functions_db.php
diff options
context:
space:
mode:
authorfisharebest <fisharebest@gmail.com>2010-05-28 15:09:30 +0000
committerfisharebest <fisharebest@gmail.com>2010-05-28 15:09:30 +0000
commit6ef8d5a7a9466752e2bb6388983106a956a9f4e0 (patch)
treea8a4c4c859db399337400aa7b450d87fc1f8b84f /includes/functions/functions_db.php
parent33cdbe466b854e50091746ea1608b14f407333fa (diff)
downloadwebtrees-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.php53
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;
}
}