diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/class/preference.class.php | 10 | ||||
-rw-r--r-- | lib/preferences.php | 4 |
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/class/preference.class.php b/lib/class/preference.class.php index c7838b77..a648434c 100644 --- a/lib/class/preference.class.php +++ b/lib/class/preference.class.php @@ -41,7 +41,7 @@ class Preference { * update * This updates a single preference from the given name or id */ - public static function update($preference,$user_id,$value) { + public static function update($preference,$user_id,$value,$applytoall='') { // First prepare if (!is_numeric($preference)) { @@ -52,13 +52,19 @@ class Preference { $name = self::name_from_id($preference); $id = $preference; } + if ($applytoall AND Access::check('interface','100')) { + $user_check = ""; + } + else { + $user_check = " AND `user`='$user_id'"; + } // Now do if (self::has_access($name)) { $value = Dba::escape($value); $user_id = Dba::escape($user_id); $sql = "UPDATE `user_preference` SET `value`='$value' " . - "WHERE `preference`='$id' AND `user`='$user_id'"; + "WHERE `preference`='$id'$user_check"; $db_results = Dba::query($sql); return true; } diff --git a/lib/preferences.php b/lib/preferences.php index 7247bf63..d37404c8 100644 --- a/lib/preferences.php +++ b/lib/preferences.php @@ -66,15 +66,13 @@ function update_preferences($pref_id=0) { default: break; } - /* Run the update for this preference only if it's set */ if (isset($_REQUEST[$name])) { - Preference::update($id,$pref_id,$value); + Preference::update($id,$pref_id,$value,$_REQUEST[$apply_to_all]); } } // end foreach preferences - } // update_preferences /** |