From f9aa6a898f67b7ce259ec942c8effd8ae2ada1df Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 13 Jan 2010 21:30:17 +0300 Subject: [PATCH] updating issue fix for schema 63 (2) --- db-prefs.php | 15 +++++++++------ functions.php | 21 +++++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/db-prefs.php b/db-prefs.php index 15f03c094..5c54427b7 100644 --- a/db-prefs.php +++ b/db-prefs.php @@ -21,11 +21,12 @@ } if ($profile) { - $profile_qpart = "profile = '$profile'"; + $profile_qpart = "profile = '$profile' AND"; } else { - $profile_qpart = "profile IS NULL"; + $profile_qpart = "profile IS NULL AND"; } + if (get_schema_version($link) < 63) $profile_qpart = ""; if ($prefs_cache && !defined('DISABLE_SESSIONS') && !SINGLE_USER_MODE) { if ($_SESSION["prefs_cache"] && $_SESSION["prefs_cache"][$pref_name]) { @@ -39,7 +40,7 @@ FROM ttrss_user_prefs,ttrss_prefs,ttrss_prefs_types WHERE - $profile_qpart AND + $profile_qpart ttrss_user_prefs.pref_name = '$pref_name' AND ttrss_prefs_types.id = type_id AND owner_uid = '$user_id' AND @@ -90,11 +91,13 @@ } if ($profile) { - $profile_qpart = "profile = '$profile'"; + $profile_qpart = "AND profile = '$profile'"; } else { - $profile_qpart = "profile IS NULL"; + $profile_qpart = "AND profile IS NULL AND"; } + if (get_schema_version($link) < 63) $profile_qpart = ""; + $result = db_query($link, "SELECT type_name FROM ttrss_prefs,ttrss_prefs_types WHERE pref_name = '$key' AND type_id = ttrss_prefs_types.id"); @@ -119,7 +122,7 @@ db_query($link, "UPDATE ttrss_user_prefs SET value = '$value' WHERE pref_name = '$key' - AND $profile_qpart + $profile_qpart AND owner_uid = " . $_SESSION["uid"]); $_SESSION["prefs_cache"] = array(); diff --git a/functions.php b/functions.php index f6ce227f0..507595e77 100644 --- a/functions.php +++ b/functions.php @@ -1685,17 +1685,19 @@ if (!$profile) { $profile = "NULL"; - $profile_qpart = "profile IS NULL"; + $profile_qpart = "AND profile IS NULL"; } else { - $profile_qpart = "profile = '$profile'"; + $profile_qpart = "AND profile = '$profile'"; } + if (get_schema_version($link) < 63) $profile_qpart = ""; + db_query($link, "BEGIN"); $result = db_query($link, "SELECT pref_name,def_value FROM ttrss_prefs"); $u_result = db_query($link, "SELECT pref_name - FROM ttrss_user_prefs WHERE owner_uid = '$uid' AND $profile_qpart"); + FROM ttrss_user_prefs WHERE owner_uid = '$uid' $profile_qpart"); $active_prefs = array(); @@ -1707,9 +1709,16 @@ if (array_search($line["pref_name"], $active_prefs) === FALSE) { // print "adding " . $line["pref_name"] . "
"; - db_query($link, "INSERT INTO ttrss_user_prefs - (owner_uid,pref_name,value, profile) VALUES - ('$uid', '".$line["pref_name"]."','".$line["def_value"]."', $profile)"); + if (get_schema_version($link) < 63) { + db_query($link, "INSERT INTO ttrss_user_prefs + (owner_uid,pref_name,value) VALUES + ('$uid', '".$line["pref_name"]."','".$line["def_value"]."')"); + + } else { + db_query($link, "INSERT INTO ttrss_user_prefs + (owner_uid,pref_name,value, profile) VALUES + ('$uid', '".$line["pref_name"]."','".$line["def_value"]."', $profile)"); + } } }